3장. Red Hat OpenStack Platform 및 Active Directory Federation Services를 사용한 페더레이션
Red Hat은 광범위한 조직에 존재하는 RHOSP(Red Hat OpenStack Platform)의 ID 공급자로 Microsoft AD FS(Active Directory Federation Services) 사용을 지원하므로 RHOSP의 Single Sign-On에 동일한 페더레이션 솔루션을 사용할 수 있습니다.
3.1. Active Directory Federation Services를 사용하여 Red Hat OpenStack Platform 배포 링크 복사링크가 클립보드에 복사되었습니다!
enable-federation-openidc.yaml 환경 파일을 사용하여 통합 인증 솔루션에 통합할 수 있도록 RHOSP(Red Hat OpenStack Platform)를 배포합니다. 페더레이션을 통해 사용자는 SSO(Single Sign-On)를 사용하여 OpenStack 대시보드에 로그인할 수 있습니다. SSO에 OpenStack 대시보드를 사용해야 합니다.
사전 요구 사항
- Red Hat OpenStack Platform director가 설치되어 있습니다.
- 환경에 페더레이션을 위한 Active Directory(c)가 있습니다.
프로세스
keystone 엔드포인트를 기록해 둡니다. keystone 엔드포인트는
custom-domain.yamlheat 템플릿에CloudName매개변수를 할당하는 FQDN 값입니다. 전송 및 포트 번호가 포함됩니다. keystone 끝점에는 다음과 같은 구성이 있습니다.https://<FQDN>:13000참고TLS를 배포하지 않으면 keystone 끝점은
http://<FQDN>:5000입니다. Red Hat은 RHOSP의 모든 프로덕션 배포와 함께 TLS를 배포하는 것이 좋습니다.SSO 관리자에게 다음과 같은 리디렉션 URI를 제공합니다.
URI를 리디렉션합니다.
https://<FQDN>:13000/v3/auth/OS-FEDERATION/identity_providers/adfsIDP/protocols/openid/websso https://<FQDN>:13000/v3/auth/OS-FEDERATION/websso/openid-
이에 대한 응답으로 SSO 관리자는
ClientID및ClientSecret을 제공합니다. enable-federation-openidc.yamlyaml 파일을 스택 홈 디렉터리에 복사합니다.cp /usr/share/openstack-tripleo-heat-templates/environments/enable-federation-openidc.yaml \ /home/stack/enable-federation-openidc.yaml환경 파일의 사본을 편집합니다. 다음은 샘플 구성입니다.parameter_defaults: KeystoneAuthMethods: password,token,oauth1,mapped,application_credential,openid1 KeystoneOpenIdcClientId: <ClientID>2 KeystoneOpenIdcClientSecret: <ClientSecret>3 KeystoneOpenIdcCryptoPassphrase: openstack4 KeystoneOpenIdcIdpName: adfsIdP5 KeystoneOpenIdcIntrospectionEndpoint: https://adfs.local.com/adfs/openid-connect/token/introspect6 KeystoneOpenIdcProviderMetadataUrl: https://adfs.local.com/adfs/.well-known/openid-configuration7 KeystoneOpenIdcRemoteIdAttribute: HTTP_OIDC_ISS8 KeystoneOpenIdcResponseType: code9 KeystoneTrustedDashboards: https://overcloud.redhat.local/dashboard/auth/websso/10 WebSSOChoices: [['OIDC', 'OpenID Connect']]11 WebSSOIDPMapping: {'OIDC': ['adfsIdP', 'openid']}12 WebSSOInitialChoice: OIDC KeystoneFederationEnable: True KeystoneOpenIdcEnable: True KeystoneOpenIdcEnableOAuth: True WebSSOEnable: True- 1
- 인증에 사용할 수 있는 쉼표로 구분된 메서드 목록입니다.
- 2
- OpenID Connect 공급자 핸드셰이크에 사용할 클라이언트 ID입니다. SSO 관리자에서 이 값을 가져와야 합니다.
- 3
- OpenID Connect 공급자 핸드셰이크에 사용할 클라이언트 시크릿입니다. 리디렉션 URL을 제공한 후 SSO 관리자에서 이 값을 가져와야 합니다.
- 4
- OpenID Connect 핸드셰이크의 데이터를 암호화할 때 사용할 암호를 선택합니다.
- 5
- ID 서비스(keystone)의 IdP와 연결된 이름입니다. 이 매개변수의 값은 Active Directory Federation Services의 adfsIDP입니다.
- 6
- ID 서비스 인트로스펙션 끝점: https://{FQDN}/realms/<realm>/protocol/openid-connect/token/introspect
- 7
- OpenID Connect 공급자 메타데이터를 가리키는 URL
- 8
- 환경에서 ID 공급자의 엔터티 ID를 가져오는 데 사용할 속성입니다.
- 9
- OpenID Connect 공급자에서 예상되는 응답 유형입니다.
- 10
- Single Sign-On에 대해 신뢰할 수 있는 대시보드 URL도 쉼표로 구분된 목록일 수 있습니다.
- 11
- 제공할 SSO 인증 선택 사항 목록을 지정합니다. 각 항목은 SSO 선택 식별자 및 표시 메시지 목록입니다.
- 12
- SSO 인증 선택에서 ID 공급자 및 프로토콜에 대한 매핑을 지정합니다. ID 공급자 및 프로토콜 이름은 keystone에 정의된 리소스와 일치해야 합니다.
다른 환경 파일과 함께 스택에
enable-federation-openidc.yaml을 추가하고 오버클라우드를 배포합니다.(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/enable-federation-openidc.yaml