5.9.4. OpenID Connect CR のサンプル

以下のカスタムリソース (CR) は、OpenID Connect アイデンティティープロバイダーのパラメーターおよび許可される値を示します。

カスタム証明書バンドル、追加の範囲、追加の認可要求パラメーター、または userInfo URL を指定する必要がある場合、完全な OpenID Connect CR を使用します。

標準の OpenID Connect CR

apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
  name: cluster
spec:
  identityProviders:
  - name: oidcidp 1
    mappingMethod: claim 2
    type: OpenID
    openID:
      clientID: ... 3
      clientSecret: 4
        name: idp-secret
      claims: 5
        preferredUsername:
        - preferred_username
        name:
        - name
        email:
        - email
      issuer: https://www.idp-issuer.com 6

1
このプロバイダー名はアイデンティティー要求の値にプレフィックスとして付加され、アイデンティティー名が作成されます。これはリダイレクト URL を作成するためにも使用されます。
2
このプロバイダーのアイデンティティーと User オブジェクト間にマッピングが確立される方法を制御します。
3
OpenID プロバイダーに登録されているクライアントのクライアント ID です。このクライアントは https://oauth-openshift.apps.<cluster-name>.<cluster-domain>/oauth2callback/<idp-provider-name> にリダイレクトすることを許可されている必要があります。
4
クライアントシークレットを含む OpenShift Container Platform Secret オブジェクトへの参照。
5
アイデンティティーとして使用する要求の一覧です。空でない最初の要求が使用されます。1 つ以上の要求が必要になります。一覧表示される要求のいずれにも値がないと、認証は失敗します。たとえば、これは、ユーザーのアイデンティティーとして、返される id_tokensub 要求の値を使用します。
6
OpenID 仕様に記述される発行者 ID。クエリーまたはフラグメントコンポーネントのない https を使用する必要があります。

完全な OpenID Connect CR

apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
  name: cluster
spec:
  identityProviders:
  - name: oidcidp
    mappingMethod: claim
    type: OpenID
    openID:
      clientID: ...
      clientSecret:
        name: idp-secret
      ca: 1
        name: ca-config-map
      extraScopes: 2
      - email
      - profile
      extraAuthorizeParameters: 3
        include_granted_scopes: "true"
      claims:
        preferredUsername: 4
        - preferred_username
        - email
        name: 5
        - nickname
        - given_name
        - name
        email: 6
        - custom_email_claim
        - email
      issuer: https://www.idp-issuer.com

1
オプション: 設定済みの URL のサーバー証明書を検証するために使用する PEM エンコードされた認証局バンドルを含む OpenShift Container Platform 設定マップへの参照。
2
認可トークン要求時に openid の範囲のほかに要求する範囲のオプションの一覧です。
3
認可トークン要求に追加する追加パラメーターのオプションのマップです。
4
このアイデンティティーのユーザーをプロビジョニングする際に推奨ユーザー名として使用される要求の一覧です。空でない最初の要求が使用されます。
5
表示名として使用する要求の一覧です。空でない最初の要求が使用されます。
6
メールアドレスとして使用する要求の一覧です。空でない最初の要求が使用されます。

追加リソース