2.5.7. 일반 OIDC 인증 구성
OpenID Connect(OIDC)는 OAuth 2.0 프레임워크를 사용합니다. 이를 통해 타사 애플리케이션에서 ID를 확인하고 기본 최종 사용자 정보를 얻을 수 있습니다. OIDC와 SAML의 주요 차이점은 SAML에 서비스 공급자(SP)-to-IdP 신뢰 관계가 있는 반면 OIDC는 보안 토큰을 얻는 데 사용되는 채널(HTTPS)을 사용하여 신뢰를 설정합니다. Ansible Automation Platform을 사용하여 OIDC를 설정하는 데 필요한 인증 정보를 얻으려면 OIDC가 지원되는 선택한 IdP의 설명서를 참조하십시오.
프로세스
-
탐색 패널에서
를 선택합니다. - 클릭합니다.
- 이 인증 구성 의 이름을 입력합니다.
- 인증 유형 목록에서 일반 OIDC 를 선택합니다. 인증 세부 정보 섹션은 선택한 인증 유형과 관련된 필드를 표시하도록 자동으로 업데이트됩니다.
- 목록에서 자동 마이그레이션 사용자 자동 마이그레이션 에서 레거시 인증 방법을 선택합니다. 2.4에서 2.5로 업그레이드한 후 사용자를 이 새로운 인증 구성으로 자동으로 마이그레이션하는 레거시 인증기가 됩니다. 사용자 마이그레이션에 대한 중요한 정보는 RPM 업그레이드 및 마이그레이션 가이드의 Ansible Automation Platform 후 업그레이드 단계를 참조하십시오.
다음 정보를 입력합니다.
- OIDC 공급자 URL: OIDC 공급자의 URL입니다.
- OIDC 키: 타사 IdP의 클라이언트 ID입니다.
- OIDC Secret: IdP의 클라이언트 시크릿입니다.
- 선택 사항: Access Token Method 목록에서 액세스 토큰을 요청할 때 사용할 HTTP 방법을 선택합니다. 기본 메서드는 POST 입니다.
필요한 경우 지침 및 필수 형식에 제공된 툴팁을 사용하여 다음 필드에 대한 정보를 입력합니다.
- Access Token Method - 기본 메서드는 POST 입니다.
- 액세스 토큰 URL
- 액세스 토큰 방법
- 권한 부여 URL
- 콜백 URL - OIDC 콜백 URL 필드는 구성한 각 OIDC 공급자와 함께 서비스 공급자(SP)로 서비스를 등록합니다. 이 필드를 비워 둡니다. 이 인증 방법을 저장하면 자동으로 생성됩니다. 인증 흐름의 일부로 이 URL로의 리디렉션을 허용하도록 IdP를 구성합니다.
- ID 키
- ID 토큰 발행자
- JWKS URI
- OIDC 공개 키
- 토큰 취소 방법 - 기본 방법은 GET 입니다.
- 토큰 URL 취소
- 응답 유형
- 토큰 끝점 인증 방법
- Userinfo URL
- 사용자 이름 키
- OIDC 공급자 인증서 확인을 사용하여 OIDC 공급자 SSL 인증서 확인을 활성화하거나 비활성화합니다.
- 리디렉션 URI에서 state 매개변수를 활성화하거나 비활성화하려면 Redirect State를 사용합니다. CSRF(Cross Site Request Forgery) 공격을 방지하는 것이 좋습니다.
선택 사항: 이 인증기를 사용할 수 있는 추가 인증 필드를 입력합니다. 이러한 필드는 검증되지 않으며 인증기로 직접 전달됩니다.
참고이 필드에 정의된 값은 UI에 제공된 전용 필드를 재정의합니다. 여기에 정의되지 않은 모든 값은 인증자에게 제공되지 않습니다.
- 성공적인 로그인 시 조직, 사용자 및 팀을 자동으로 생성하려면 Create objects 를 선택합니다.
- 생성 시 이 인증 방법을 활성화하려면 Enabled 를 선택합니다.
- 이 소스에서 인증할 때 이전에 추가한 그룹의 사용자를 제거하려면 사용자 제거를 선택합니다.
- 클릭합니다.
2.5.7.1. 일반 OIDC Single Sign-On 인증 오류 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
OIDC JWT 알고리즘 설정이 명시적으로 정의되지 않은 경우 인증이 실패합니다. 인증 코드에는 허용되는 알고리즘 목록이 필요하며 OpenID Connect(OIDC) 구성 끝점에서 자동으로 검색되지 않습니다.
2.5.7.1.1. JWT_Algorithms 수동 구성 링크 복사링크가 클립보드에 복사되었습니다!
인증 실패를 해결하려면 플랫폼 게이트웨이 구성에서 지원되는 알고리즘 목록을 수동으로 제공합니다.
프로세스
-
탐색 패널에서
를 선택합니다. - 목록에서 OIDC 인증기를 선택합니다.
- 클릭하고 OIDC JWT 알고리즘 필드를 찾습니다.
지원되는 알고리즘 목록을 YAML 목록 또는 JSON 배열로 입력합니다. 이러한 알고리즘은 일반적으로 IdP의 OpenID Connect (OIDC) 검색 끝점에서 사용할 수 있습니다.
예
[ "PS384", "ES384", "RS384", "HS256", "HS512", "ES256", "RS256", "HS384", "ES512", "PS256", "PS512", "RS512" ]- 변경 사항을 저장하십시오. 시스템은 토큰 확인을 위해 이러한 지정된 알고리즘을 사용하여 누락과 관련된 인증 오류를 해결합니다.
2.5.7.1.2. 엔터프라이즈 인증에 대한 디버깅 활성화 링크 복사링크가 클립보드에 복사되었습니다!
인증 문제를 추가로 진단하려면 플랫폼 게이트웨이에서 디버그 로깅을 활성화합니다.
프로세스
-
플랫폼 게이트웨이의
settings.py파일에서 로깅 구성을 변경합니다. ansible_base로거의 로깅 수준을DEBUG:로 설정합니다.LOGGING['loggers']['ansible_base']['level'] = 'DEBUG'이 변경 후 로그에 자세한
AuthTokenError메시지가 표시되어 오류 원인에 대한 특정 정보를 제공합니다.
2.5.7.1.3. 일반 OIDC 범위 불일치 문제 해결 링크 복사링크가 클립보드에 복사되었습니다!
IdM(Identity Provider)이 시스템에서 자동으로 추가되는 기본 범위를 지원하지 않으면 인증이 실패합니다.
시스템이 이 기본 범위를 추가하지 않도록 하려면 인증자 구성에 설정을 추가해야 합니다.
프로세스
-
탐색 패널에서
를 선택합니다. - 목록에서 OIDC 인증기를 선택합니다.
- 클릭합니다.
additional Authenticator Fields 섹션에서 다음 속성 및 값을 추가합니다. 이 입력 상자는 YAML 또는 JSON을 지원합니다. 다른 필드가 있는 경우 새 행에 이 키-값 쌍을 추가해야 합니다.
IGNORE_DEFAULT_SCOPE: True- 변경 사항을 저장하십시오. 이제 인증자는 명시적으로 정의한 범위만 사용하므로 지원되지 않는 범위와 관련된 인증 실패를 해결합니다.