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입니다.

또한 사용자의 기본 사용자 이름, 표시 이름, 이메일 주소로 사용할 클레임을 나타낼 수도 있습니다. 여러 클레임이 지정되는 경우 비어 있지 않은 값이 있는 첫 번째 클레임이 사용됩니다. 표준 클레임은 다음과 같습니다.

sub

"Subject identifier(주체 식별자)"의 줄임말입니다. 발행자에서 사용자의 원격 ID입니다.

preferred_username

사용자를 프로비저닝할 때 사용하는 기본 사용자 이름입니다. 사용자가 사용하고자 하는 약칭입니다(예: janedoe). 일반적으로 인증 시스템의 사용자 로그인 또는 사용자 이름에 해당하는 값입니다(예: 사용자 이름 또는 이메일).

email

이메일 주소입니다.

name

표시 이름입니다.

자세한 내용은 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_tokensub 클레임 값을 사용자의 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 를 사용해야 합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.