2.5.3. SAML 인증 구성
SAML을 사용하면 IdM(Identity Provider)과 서비스 공급자(SP) 간에 인증 및 권한 부여 데이터를 교환할 수 있습니다. Ansible Automation Platform은 사용자를 인증하기 위해 하나 이상의 SAML IdP와 통신하도록 구성할 수 있는 SAML SP입니다.
SAML IdP에서 선택적으로 제공하는 그룹 및 속성에 따라 사용자는 이 인증자와 연결된 인증자 맵을 기반으로 Ansible Automation Platform의 팀과 조직에 배치할 수 있습니다. 이 매핑을 사용하면 사용자가 SAML을 통해 로그인할 때 Ansible Automation Platform에서 사용자를 올바르게 식별하고 이름, 이메일, 그룹 멤버십과 같은 적절한 속성을 할당할 수 있습니다.
사전 요구 사항
Ansible Automation Platform에서 SAML 인증을 구성하기 전에 다음을 수행해야 합니다.
- SAML IdM(Identity Provider)을 구성합니다.
Ansible Automation Platform과의 통합에 필요한 설정을 사용하여 SAML IdP를 미리 구성합니다. 예를 들어 Microsoft Entra ID에서 다음을 구성할 수 있습니다.
- ID(암호 ID): 원하는 모든 값일 수 있지만 Ansible Automation Platform에 구성된 값과 일치해야 합니다.
- 응답 URL(ACS) URL: SAML 방법이 Ansible Automation Platform에 구성되면 이 URL이 자동으로 생성됩니다. 해당 값은 Ansible Automation Platform에서 복사하고 IdP 설정에서 붙여 넣어야 합니다.
- SAML IdP 애플리케이션의 사용자 속성을 수집합니다. IdP마다 다른 속성 이름과 형식을 사용할 수 있습니다. 정확한 특성 이름과 예상되는 값은 특정 IdP에 대한 설명서를 참조하십시오.
다음 명령을 사용하여 개인 키 및 공용 인증서를 생성합니다.
$ openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes
프로세스
-
탐색 패널에서
를 선택합니다. - 클릭합니다.
- 이 SAML 구성 의 이름을 입력합니다.
- 인증 유형 목록에서 SAML 을 선택합니다. 인증 세부 정보 섹션은 선택한 인증 유형과 관련된 필드를 표시하도록 자동으로 업데이트됩니다.
- 목록에서 자동 마이그레이션 사용자 자동 마이그레이션 에서 레거시 인증 방법을 선택합니다. 2.4에서 2.5로 업그레이드한 후 사용자를 이 새로운 인증 구성으로 자동으로 마이그레이션하는 레거시 인증기가 됩니다. 사용자 마이그레이션에 대한 중요한 정보는 RPM 업그레이드 및 마이그레이션 가이드의 Ansible Automation Platform 후 업그레이드 단계를 참조하십시오.
- SAML 서비스 공급자 엔터티 ID 필드에서 SAML 서비스 공급자 구성의 대상으로 사용되는 애플리케이션 정의 고유 식별자를 입력합니다. 일반적으로 서비스 공급자의 기본 URL이지만 실제 값은 IdP에서 예상되는 엔터티 ID에 따라 다릅니다.
-
SAML 서비스 공급자 공용 인증서 필드에 인증서 콘텐츠를 포함합니다. 이 정보는 사전 요구 사항으로 생성한 cert.pem에 포함되어 있으며
--BEGIN CERTIFICATE- 및를 포함해야 합니다.--END CERTIFICATE-- -
SAML 서비스 공급자 개인 키 필드에 개인 키 콘텐츠를 포함합니다. 이 정보는 사전 요구 사항으로 생성한 key.pem에 포함되어 있으며
--BEGIN PRIVATE KEY--및--END PRIVATE KEY---을 포함해야 합니다. - IdP 로그인 URL 필드에서 로그인 시작을 위해 사용자를 리디렉션할 URL 을 입력합니다. SAML IdP 애플리케이션의 로그인 URL입니다.
IdP Public Cert 필드에 IdP에서 제공하는 보안에 사용되는 공개 인증서를 입력합니다. IdP에서 다운로드할 수 있는 SAML 인증서입니다.
참고IdP Public Cert 필드의 IdP에는
--BEGIN CERTIFICATE- 및를 포함한 전체 인증서가 포함되어야 합니다. IdP를 포함하지 않는 경우 접두사 및 접미사를 수동으로 입력해야 합니다.--END CERTIFICATE--- 엔터티 ID의 어설션에 반환된 엔터티 ID 를 입력합니다. IdP SAML 애플리케이션의 식별자입니다. IdP에서 제공하는 SAML 메타데이터에서 이 값을 찾을 수 있습니다.
- 그룹, 사용자이메일 , 사용자 이름 ,사용자 성 및사용자 이름 에 사용자 세부 정보를 입력합니다.
User Permanent ID 필드에 사용자의 영구 ID를 입력합니다. 이 필드는 필수입니다.
참고SAML IdP를 통해 추가 속성을 사용할 수 있습니다. 이러한 값은 additional Authenticators 필드 또는 extra_data 속성 매핑 필드에 SAML IDP에 포함되어야 합니다. 자세한 내용은 해당 단계를 참조하십시오.
- SAML Assertion Consumer Service (ACS) URL 필드는 구성한 각 ID 공급자(IdP)가 있는 서비스 공급자(SP)로 서비스를 등록합니다. 이 필드를 비워 둡니다. 이 인증 방법을 저장하면 자동으로 생성됩니다. 이 필드는 IdP의 Reply URL 설정과 일치해야 합니다.
선택 사항: 이 인증기를 사용할 수 있는 추가 인증 필드를 입력합니다. 이러한 필드는 검증되지 않으며 인증기로 직접 전달됩니다. 예를 들어, Email, Username, Last Name, First Name이 아닌 모든 SAML IdP 속성을 매핑하려면 다음을 입력합니다.
GET_ALL_EXTRA_DATA: true또는 SAML IDP에 대한 extra_data 속성 매핑 필드에 SAML IdP 속성 목록을 포함할 수 있습니다.
참고이 필드에 정의된 값은 UI에 제공된 전용 필드를 재정의합니다. 여기에 정의되지 않은 모든 값은 인증자에게 제공되지 않습니다.
SAML 서비스 공급자 조직 정보 필드에 URL, 표시 이름 및 앱 이름을 제공합니다.
{ "en-US": { "url": "http://www.example.com", "displayname": "Example", "name": "example" } }SAML 서비스 공급자 기술 연락처 필드에서 서비스 공급자에 대한 기술 담당자의 이름 및 이메일 주소를 지정합니다.
{ "givenName": "Some User", "emailAddress": "suser@example.com" }SAML 서비스 공급자 지원 연락처 필드에서 서비스 공급자에 대한 지원 담당자의 이름 및 이메일 주소를 지정합니다.
{ "givenName": "Some User", "emailAddress": "suser@example.com" }선택 사항: SAML 서비스 공급자 추가 구성 데이터 필드에서 추가 구성 데이터를 제공합니다. 예를 들어 추가 보안을 위해 서명 요청을 사용하도록 선택할 수 있습니다.
{ "sign_request": True, }이 필드는 API의
SOCIAL_AUTH_SAML_SP_EXTRA와 동일합니다. 자세한 내용은 OneLogin' SAML Python Toolkit 에서 유효한 서비스 공급자 추가(SP_EXTRA) 매개변수에 대해 알아보십시오.선택 사항: SAML 보안 구성 필드에서 보안 설정을 제공합니다. 이 필드는 API의
SOCIAL_AUTH_SAML_SECURITY_CONFIG필드와 동일합니다.// Indicates whether the <samlp:AuthnRequest> messages sent by this SP // will be signed. [Metadata of the SP will offer this info] "authnRequestsSigned": false, // Indicates a requirement for the <samlp:Response>, <samlp:LogoutRequest> // and <samlp:LogoutResponse> elements received by this SP to be signed. "wantMessagesSigned": false, // Indicates a requirement for the <saml:Assertion> elements received by // this SP to be signed. [Metadata of the SP will offer this info] "wantAssertionsSigned": false, // Authentication context. // Set to false and no AuthContext will be sent in the AuthNRequest, // Set true or don't present this parameter and you will get an AuthContext 'exact' 'urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport' // Set an array with the possible auth context values: array ('urn:oasis:names:tc:SAML:2.0:ac:classes:Password', 'urn:oasis:names:tc:SAML:2.0:ac:classes:X509'), "requestedAuthnContext": true,자세한 내용 및 추가 옵션은 OneLogin의 SAML Python Toolkit 을 참조하십시오.
선택 사항: SAML IDP에서 extra_data 속성 매핑 필드에 IDP 속성을 extra_data 속성에 매핑하는 값을 입력합니다. 이러한 값에는 매핑할 이메일 또는 Username과 같은 표준 속성 이외의 추가 사용자 정보가 포함됩니다. 예를 들면 다음과 같습니다.
- Department - UserType - Organization포함할 수 있는 값에 대한 자세한 내용은 고급 SAML 설정을 참조하십시오.
중요모든 항목이 구성에 맞게 올바르게 매핑되도록 모든 관련 값을 포함해야 합니다. 또는 추가 Authenticator 필드에
GET_ALL_EXTRA_DATA: true를 추가하여 사용 가능한 모든 SAML IdP 특성을 매핑할 수 있습니다.- 성공적인 로그인 시 조직, 사용자 및 팀을 자동으로 생성하려면 Create objects 를 선택합니다.
- 생성 시 이 인증 방법을 활성화하려면 Enabled 를 선택합니다.
- 이 소스에서 인증할 때 이전에 추가한 그룹의 사용자를 제거하려면 사용자 제거를 선택합니다.
- 클릭합니다.
Operator 기반 배포에서 SAML에 대한 HTTPS 리디렉션을 구성하여 사용자의 로그인을 간소화할 수 있습니다. 이 설정을 구성하는 단계는 OpenShift Container Platform의 플랫폼 게이트웨이에 대한 SSO(Single Sign-On) 활성화를 참조하십시오.
2.5.3.1. 투명한 SAML 로그인 구성 링크 복사링크가 클립보드에 복사되었습니다!
투명한 로그인이 작동하려면 먼저 IdP 시작 로그인이 실행되어야 합니다.
프로세스
-
IdP의
RelayState를 "IdP"로 설정합니다.