13.3.13. OpenID 연결
인증 코드 흐름을 사용하여 OpenID Connect ID 프로바이더와 통합하도록
를 설정합니다.
identityProviders
스탠자에서 OpenIDIdentityProvider
OpenShift Container Platform의 OpenID Connect ID 공급자로 Red Hat Single Sign-On을 구성할 수 있습니다.
ID 토큰 및 UserInfo 암호 해독은 지원되지 않습니다.
기본적으로 openid 범위가 요청됩니다. 필요한 경우 extraScopes
필드에 추가 범위를 지정할 수 있습니다.
클레임은 OpenID ID 공급자에서 반환하는 JWT id_token
및 지정된 경우 UserInfo
URL에서 반환하는 JSON에서 읽습니다.
사용자 ID로 사용할 하나 이상의 클레임을 구성해야 합니다. 표준 ID 클레임은 sub
입니다.
또한 사용자의 기본 사용자 이름, 표시 이름, 이메일 주소로 사용할 클레임을 나타낼 수도 있습니다. 여러 클레임이 지정되는 경우 비어 있지 않은 값이 있는 첫 번째 클레임이 사용됩니다. 표준 클레임은 다음과 같습니다.
| "Subject identifier(주체 식별자)"의 줄임말입니다. 발행자에서 사용자의 원격 ID입니다. |
|
사용자를 프로비저닝할 때 사용하는 기본 사용자 이름입니다. 사용자가 사용하고자 하는 약칭입니다(예: |
| 이메일 주소입니다. |
| 표시 이름입니다. |
자세한 내용은 OpenID 클레임 설명서를 참조하십시오.
OpenID Connect ID 공급자를 사용하려면 사용자가 <master>/oauth/token/request
를 통해 토큰을 가져와서 명령행 도구에서 사용해야 합니다.
OpenIDIdentityProvider
를 사용한 표준 마스터 구성
oauthConfig: ... identityProviders: - name: my_openid_connect 1 challenge: true 2 login: true 3 mappingMethod: claim 4 provider: apiVersion: v1 kind: OpenIDIdentityProvider clientID: ... 5 clientSecret: ... 6 claims: id: 7 - sub preferredUsername: - preferred_username name: - name email: - email urls: authorize: https://myidp.example.com/oauth2/authorize 8 token: https://myidp.example.com/oauth2/token 9
- 1
- 이 공급자 이름은 ID 클레임 값 앞에 접두어로 지정되어 ID 이름을 형성합니다. 리디렉션 URL을 빌드하는 데에도 사용됩니다.
- 2
true인
경우 웹 이외의 클라이언트(예: CLI)의 인증되지 않은 토큰 요청이 이 프로바이더의WWW-Authenticate 챌린지
헤더가 전송됩니다. 이를 위해 OpenID 프로바이더가 Resource Owner Password 자격 증명에 flows 를 지원해야 합니다.- 3
true인
경우 웹 콘솔과 같은 웹 클라이언트의 인증되지 않은 토큰 요청은 로그인할 인증 URL로 리디렉션됩니다.- 4
- 위에서 설명한 대로 이 프로바이더의 ID와 사용자 오브젝트 간의 매핑 설정 방법을 제어합니다.
- 5
- OpenID 공급자에 등록된 클라이언트의 클라이언트 ID. 클라이언트를
<master>/oauth2callback/<identityProviderName>
으로 리디렉션할 수 있어야 합니다. - 6
- 클라이언트 비밀입니다. 이 값은 환경 변수, 외부 파일 또는 암호화된 파일에서 도 제공할 수 있습니다.
- 7
- ID로 사용할 클레임 목록입니다. 비어 있지 않은 첫 번째 클레임이 사용됩니다. 클레임이 한 개 이상 있어야 합니다. 나열된 클레임에 값이 없으면 인증이 실패합니다. 예를 들어, 여기서는 반환된
id_token
의sub
클레임 값을 사용자의 ID로 사용합니다. - 8
- OpenID 사양에 설명된 권한 부여 엔드포인트.
https
를 사용해야 합니다. - 9
- OpenID 사양에 설명된 토큰 엔드포인트.
https
를 사용해야 합니다.
사용자 정의 인증서 번들, 추가 범위, 추가 권한 부여 요청 매개변수 및 userInfo
URL도 지정할 수 있습니다.
예 13.9. OpenIDIdentityProvider
를 사용한 전체 마스터 구성
oauthConfig: ... identityProviders: - name: my_openid_connect challenge: false login: true mappingMethod: claim provider: apiVersion: v1 kind: OpenIDIdentityProvider clientID: ... clientSecret: ... ca: my-openid-ca-bundle.crt 1 extraScopes: 2 - email - profile extraAuthorizeParameters: 3 include_granted_scopes: "true" claims: id: 4 - custom_id_claim - sub preferredUsername: 5 - preferred_username - email name: 6 - nickname - given_name - name email: 7 - custom_email_claim - email urls: authorize: https://myidp.example.com/oauth2/authorize token: https://myidp.example.com/oauth2/token userInfo: https://myidp.example.com/oauth2/userinfo 8
- 1
- 구성된 URL에 대한 서버 인증서의 유효성을 검사하는 데 사용할 인증서 번들입니다. 비어 있는 경우 시스템에서 신뢰할 수 있는 루트가 사용됩니다.
- 2
- 권한 부여 토큰 요청 중 openid 범위 외에 요청할 선택적 범위 목록입니다.
- 3
- 권한 부여 토큰 요청에 추가할 추가 매개변수의 선택적 맵입니다.
- 4
- ID로 사용할 클레임 목록입니다. 비어 있지 않은 첫 번째 클레임이 사용됩니다. 클레임이 한 개 이상 있어야 합니다. 나열된 클레임에 값이 없으면 인증이 실패합니다.
- 5
- 이 ID에 대해 사용자를 프로비저닝할 때 기본 사용자 이름으로 사용할 클레임 목록입니다. 비어 있지 않은 첫 번째 클레임이 사용됩니다.
- 6
- 표시 이름으로 사용할 클레임 목록입니다. 비어 있지 않은 첫 번째 클레임이 사용됩니다.
- 7
- 이메일 주소로 사용할 클레임 목록입니다. 비어 있지 않은 첫 번째 클레임이 사용됩니다.
- 8
- OpenID 사양에 설명된 UserInfo Endpoint 입니다.
https
를 사용해야 합니다.