7.7. GitLab アイデンティティープロバイダーの設定
GitLab.com またはその他の GitLab インスタンスを ID プロバイダーとして使用して、gitlab
ID プロバイダーを設定します。
7.7.1. OpenShift Container Platform のアイデンティティープロバイダーについて リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、kubeadmin
ユーザーのみがクラスターに存在します。アイデンティティープロバイダーを指定するには、アイデンティティープロバイダーを記述し、これをクラスターに追加するカスタムリソースを作成する必要があります。
/
、:
、および %
を含む OpenShift Container Platform ユーザー名はサポートされません。
7.7.2. GitLab 認証について リンクのコピーリンクがクリップボードにコピーされました!
GitLab 認証を設定することによって、ユーザーは GitLab 認証情報を使用して OpenShift Container Platform にログインできます。
GitLab バージョン 7.7.0 から 11.0 を使用する場合は、OAuth 統合 を使用して接続します。GitLab バージョン 11.1 以降の場合は、OAuth ではなく OpenID Connect (OIDC) を使用して接続します。
7.7.3. シークレットの作成 リンクのコピーリンクがクリップボードにコピーされました!
アイデンティティープロバイダーは openshift-config
namespace で OpenShift Container Platform Secret
オブジェクトを使用して、クライアントシークレット、クライアント証明書およびキーをこれに組み込みます。
手順
以下のコマンドを使用して、文字列を含む
Secret
オブジェクトを作成します。oc create secret generic <secret_name> --from-literal=clientSecret=<secret> -n openshift-config
$ oc create secret generic <secret_name> --from-literal=clientSecret=<secret> -n openshift-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントまたは、以下の YAML を適用してシークレットを作成できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、ファイルの内容を含む
Secret
オブジェクトを定義できます。oc create secret generic <secret_name> --from-file=<path_to_file> -n openshift-config
$ oc create secret generic <secret_name> --from-file=<path_to_file> -n openshift-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.7.4. config map の作成 リンクのコピーリンクがクリップボードにコピーされました!
アイデンティティープロバイダーは、openshift-config
namespace で OpenShift Container Platform ConfigMap
オブジェクトを使用し、認証局バンドルをこれに組み込みます。これらは、主にアイデンティティープロバイダーで必要な証明書バンドルを組み込むために使用されます。
この手順は、GitHub Enterprise にのみ必要です。
手順
以下のコマンドを使用して、認証局が含まれる OpenShift Container Platform
ConfigMap
オブジェクトを定義します。認証局はConfigMap
オブジェクトのca.crt
キーに保存する必要があります。oc create configmap ca-config-map --from-file=ca.crt=/path/to/ca -n openshift-config
$ oc create configmap ca-config-map --from-file=ca.crt=/path/to/ca -n openshift-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントまたは、以下の YAML を適用して config map を作成できます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.7.5. GitLab CR のサンプル リンクのコピーリンクがクリップボードにコピーされました!
以下のカスタムリソース (CR) は、GitLab アイデンティティープロバイダーのパラメーターおよび許可される値を示します。
GitLab CR
- 1
- このプロバイダー名は GitLab 数字ユーザー ID に接頭辞として付加され、アイデンティティー名が作成されます。これはコールバック URL を作成するためにも使用されます。
- 2
- このプロバイダーのアイデンティティーと
User
オブジェクト間にマッピングが確立される方法を制御します。 - 3
- 登録済みの GitLab OAuth アプリケーション のクライアント ID です。アプリケーションは、
https://oauth-openshift.apps.<cluster-name>.<cluster-domain>/oauth2callback/<idp-provider-name>
のコールバック URL を使用して設定する必要があります。 - 4
- GitLab で発行されるクライアントシークレットが含まれる OpenShift Container Platform
Secret
オブジェクトへの参照。 - 5
- GitLab プロバイダーのホスト URL です。これは
https://gitlab.com/
か、他の GitLab の自己ホストインスタンスのいずれかになります。 - 6
- オプション: 設定済みの URL のサーバー証明書を検証するために使用する PEM エンコードされた認証局バンドルを含む OpenShift Container Platform
ConfigMap
オブジェクトへの参照。
7.7.6. アイデンティティープロバイダーのクラスターへの追加 リンクのコピーリンクがクリップボードにコピーされました!
クラスターのインストール後に、アイデンティティープロバイダーをそのクラスターに追加し、ユーザーの認証を実行できるようにします。
前提条件
- OpenShift Container Platform クラスターを作成します。
- アイデンティティープロバイダーのカスタムリソース (CR) を作成します。
- 管理者としてログインしている必要があります。
手順
定義された CR を適用します。
oc apply -f </path/to/CR>
$ oc apply -f </path/to/CR>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記CR が存在しない場合、
oc apply
は新規 CR を作成し、さらに以下の警告をトリガーする可能性があります。Warning: oc apply should be used on resources created by either oc create --save-config or oc apply
この場合は、この警告を無視しても問題ありません。アイデンティティープロバイダーのユーザーとしてクラスターにログインし、プロンプトが出されたらパスワードを入力します。
oc login -u <username>
$ oc login -u <username>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーが正常にログインされていることを確認し、ユーザー名を表示します。
oc whoami
$ oc whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow