• 検索結果がありません。

OpenID Connect CR のサンプル

ドキュメント内 OpenShift Container Platform 4.7 認証および認可 (ページ 69-74)

第 6 章 アイデンティティープロバイダーの設定

6.9. OPENID CONNECT アイデンティティープロバイダーの設定

6.9.4. OpenID Connect CR のサンプル

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

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

$ oc create secret generic <secret_name> --from-literal=clientSecret=<secret> -n openshift-config

$ oc create secret generic <secret_name> --from-file=/path/to/file -n openshift-config

$ oc create configmap ca-config-map --from-file=ca.crt=/path/to/ca -n openshift-config

1

2

3

4 5

6 標準の

標準の OpenID Connect CR

このプロバイダー名はアイデンティティー要求の値にプレフィックスとして付加され、アイデン ティティー名が作成されます。これはリダイレクト URL を作成するためにも使用されます。

このプロバイダーのアイデンティティーと User オブジェクト間にマッピングが確立される方法を 制御します。

OpenID プロバイダーに登録されているクライアントのクライアント ID です。このクライアント

https://oauth-openshift.apps.<cluster-name>.<cluster-domain>/oauth2callback/<idp-provider-name> にリダイレクトすることを許可されている必要があります。

クライアントシークレットを含む OpenShift Container Platform Secret オブジェクトへの参照。

アイデンティティーとして使用する要求の一覧です。空でない最初の要求が使用されます。1 つ以 上の要求が必要になります。一覧表示される要求のいずれにも値がないと、認証は失敗します。た とえば、これは、ユーザーのアイデンティティーとして、返される id_token の sub 要求の値を使 用します。

OpenID 仕様に記述される発行者 ID。クエリーまたはフラグメントコンポーネントのない https を

使用する必要があります。

完全な

完全な 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

apiVersion: config.openshift.io/v1 kind: OAuth

metadata:

name: cluster spec:

identityProviders:

- name: oidcidp

mappingMethod: claim

1

2 3 4

5 6

オプション: 設定済みの URL のサーバー証明書を検証するために使用する PEM エンコードされた 認証局バンドルを含む OpenShift Container Platform 設定マップへの参照。

認可トークン要求時に openid の範囲のほかに要求する範囲のオプションの一覧です。

認可トークン要求に追加する追加パラメーターのオプションのマップです。

このアイデンティティーのユーザーをプロビジョニングする際に推奨ユーザー名として使用される 要求の一覧です。空でない最初の要求が使用されます。

表示名として使用する要求の一覧です。空でない最初の要求が使用されます。

メールアドレスとして使用する要求の一覧です。空でない最初の要求が使用されます。

追加リソース 追加リソース

すべてのアイデンティティープロバイダーに共通するパラメーターの詳細は、アイデンティ ティープロバイダーのパラメーター((mappingMethod など)について参照してください。

6.9.5. アイデンティティープロバイダーのクラスターへの追加

クラスターのインストール後に、アイデンティティープロバイダーをそのクラスターに追加し、ユー ザーの認証を実行できるようにします。

前提条件 前提条件

OpenShift Container Platform クラスターを作成します。

アイデンティティープロバイダーのカスタムリソース (CR) を作成します。

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. 定義された CR を適用します。

注記 注記

CR が存在しない場合、oc apply は新規 CR を作成し、さらに以下の警告をトリ ガーする可能性があります。Warning: oc apply should be used on resources created by either oc create --save-config or oc applyこの場合は、この警告を 無視しても問題ありません。

2. OAuth サーバーからトークンを取得します。

kubeadmin ユーザーが削除されている限り、 oc login コマンドは、トークンを取得できる Web ページにアクセスする方法についての情報を提供します。

Web コンソールからこのページにアクセスするには、(?) Help → Command Line Tools→ Copy Login Commandに移動します。

3. 認証するトークンを渡して、クラスターにログインします。

注記 注記

OpenID Connect アイデンティティープロバイダーが Resource Owner Password

Credentials (ROPC) Grant フローをサポートする場合、ユーザー名とパスワード

を使用してログインすることができます。アイデンティティープロバイダーの

ROPC Grant フローを有効にする手順を実行する必要がある場合があります。

OIDC アイデンティティープロバイダーを OpenShift Container Platform で設定 した後に、以下のコマンドを使用してログインできます。この場合、ユーザー名 とパスワードの入力が求めるプロンプトが出されます。

4. ユーザーが正常にログインされていることを確認し、ユーザー名を表示します。

6.9.6. Web コンソールを使用したアイデンティティープロバイダーの設定

CLI ではなく Web コンソールを使用してアイデンティティープロバイダー (IDP) を設定します。

前提条件 前提条件

クラスター管理者として Web コンソールにログインしている必要があります。

$ oc apply -f </path/to/CR>

$ oc login --token=<token>

$ oc login -u <identity_provider_username> --server=

<api_server_url_and_port>

$ oc whoami

手順 手順

1. Administration → Cluster Settings に移動します。

2. Global Configuration タブで、OAuth をクリックします。

3. Identity Providers セクションで、Add ドロップダウンメニューからアイデンティティープロ バイダーを選択します。

注記 注記

既存の IDP を上書きすることなく、Web コンソールで複数の IDP を指定することができ

ます。

ドキュメント内 OpenShift Container Platform 4.7 認証および認可 (ページ 69-74)