Сбой интеграции Spinnaker и Okta - PullRequest
0 голосов
/ 01 февраля 2019

Scenerio: улучшен Spinnaker до 1.12.0.Никаких других изменений конфигурации, которые могли бы повлиять на эту интеграцию (нам пришлось изменить s3 IAM, потому что она перестала работать).Перестала работать интеграция Okta.Открытый ключ был переиздан во время процесса установки для входа, может быть уместно?

SAML-TRACE показывает, как полезная нагрузка попадает в okta и обратно

Spinnaker выдает две разные ошибки в зависимости от браузера и как я туда попадаю.

Прямая ссылка на URL колоды: (500) IDP не был настроен, пожалуйста, обновите включенные метаданные хотя бы с одним IDP (видимым в браузере и в воротах)

Okta "chicklet" в панели инструментов Okta: (401) Ошибка аутентификации: входящее сообщение SAML недействительно

Подробности конфигурации (опять же, ничего из этого не изменено): Загрузка метаданных напрямую JKS используется, и действительный URL-адрес службы подтвержден, псевдоним для JKS подтвержден

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Так что в итоге я нашел ответ.Конфигурация tomcat явно изменилась в spinnaker в более поздних версиях для gate.

Я создал этот фрагмент в ~ / .hal / default / Profiles / gate-local.yml

server:
  tomcat:
    protocolHeader: X-Forwarded-Proto
    remoteIpHeader: X-Forwarded-For
    internalProxies: .*

Развернутый spinnaker иэто вернулось к работе.

0 голосов
/ 21 февраля 2019

У меня также была эта проблема при обновлении с 1.10.13 до 1.12.2.Я нашел много таких сообщений об ошибках в логах Gate:

2019-02-19 05:31:30.421 ERROR 1 --- [.0-8084-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw e
xception [org.opensaml.saml2.metadata.provider.MetadataProviderException: No IDP was configured, please update included metadata with at least one IDP] with root cause

org.opensaml.saml2.metadata.provider.MetadataProviderException: No IDP was configured, please update included metadata with at least one IDP
        at org.springframework.security.saml.metadata.MetadataManager.getDefaultIDP(MetadataManager.java:795) ~[spring-security-saml2-core-1.0.2.RELEASE.jar:1.0.2.RELEASE]
        at org.springframework.security.saml.context.SAMLContextProviderImpl.populatePeerEntityId(SAMLContextProviderImpl.java:157) ~[spring-security-saml2-core-1.0.2.RELEASE.jar
:1.0.2.RELEASE]
        at org.springframework.security.saml.context.SAMLContextProviderImpl.getLocalAndPeerEntity(SAMLContextProviderImpl.java:127) ~[spring-security-saml2-core-1.0.2.RELEASE.ja
r:1.0.2.RELEASE]
        at org.springframework.security.saml.SAMLEntryPoint.commence(SAMLEntryPoint.java:146) ~[spring-security-saml2-core-1.0.2.RELEASE.jar:1.0.2.RELEASE]
        at org.springframework.security.web.access.ExceptionTranslationFilter.sendStartAuthentication(ExceptionTranslationFilter.java:203) ~[spring-security-web-4.2.9.RELEASE.jar
:4.2.9.RELEASE]
...

После снижения до 1.10.13 я обновился до следующей версии, 1.11.0, и обнаружил, что проблема началась.В конце концов, я посмотрел журналы Gate с момента запуска Контейнера и обнаружил:

2019-02-20 22:31:40.132 ERROR 1 --- [0.0-8084-exec-3] o.o.s.m.provider.HTTPMetadataProvider    : Error retrieving metadata from https://000000000000.okta.com/app/00000000000000000/sso/saml/metadata

javax.net.ssl.SSLException: Error in hostname verification
        at org.opensaml.ws.soap.client.http.TLSProtocolSocketFactory.verifyHostname(TLSProtocolSocketFactory.java:241) ~[openws-1.5.4.jar:na]
        at org.opensaml.ws.soap.client.http.TLSProtocolSocketFactory.createSocket(TLSProtocolSocketFactory.java:186) ~[openws-1.5.4.jar:na]
        at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707) ~[commons-httpclient-3.1.jar:na]
        at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387) ~[commons-httpclient-3.1.jar:na]
...

Это привело меня к пониманию того, что сертификат TLS был отклонен Gate.Не уверен, почему он вдруг начал проваливать проверку.До этого момента я настраивал его следующим образом:

$ hal config security authn saml edit --metadata https://000000000000.okta.com/app/00000000000000000/sso/saml/metadata

В итоге я скачал файл метаданных и повторно развернул его с помощью halyard.

$ wget https://000000000000.okta.com/app/00000000000000000/sso/saml/metadata
$ hal config security authn saml edit --metadata "${PWD}/metadata"
$ hal config version edit --version 1.12.2
$ hal deploy apply

Открыл окно частного браузера какПо предложению документации Spinnaker, Gate снова начал правильно перенаправлять на Okta.

Ошибка подана, https://github.com/spinnaker/spinnaker/issues/4017.

...