This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.4.7. GitLab アイデンティティープロバイダーの設定
gitlab
アイデンティティープロバイダーを、GitLab.com またはその他の GitLab インスタンスをアイデンティティープロバイダーとして使用するように設定します。GitLab バージョン 7.7.0 から 11.0 を使用する場合、OAuth 統合を使用して接続します。GitLab バージョン 11.1 以降の場合、OAuth ではなく OpenID Connect (OIDC) を使用して接続します。
4.7.1. OpenShift Container Platform のアイデンティティープロバイダーについて リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、kubeadmin
ユーザーのみがクラスターに存在します。アイデンティティープロバイダーを指定するには、アイデンティティープロバイダーを記述し、これをクラスターに追加するカスタムリソース (CR、Custom Resource) を作成する必要があります。
/
、:
、および %
を含む OpenShift Container Platform ユーザー名はサポートされません。
4.7.2. シークレットの作成 リンクのコピーリンクがクリップボードにコピーされました!
アイデンティティープロバイダーは openshift-config
namespace で OpenShift Container Platform シークレットを使用して、クライアントシークレット、クライアント証明書およびキーをこれに組み込みます。
以下のコマンドを使用して、OpenShift Container Platform シークレットを定義できます。
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 以下のコマンドを実行して、証明書ファイルなどのファイルの内容を含む OpenShift Container Platform シークレットを定義できます。
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
4.7.3. ConfigMap の作成 リンクのコピーリンクがクリップボードにコピーされました!
アイデンティティープロバイダーは、openshift-config
namespace で OpenShift Container Platform ConfigMap を使用し、認証局バンドルをこれに組み込みます。これらは、主にアイデンティティープロバイダーで必要な証明書バンドルを組み込むために使用されます。
以下のコマンドを使用して、認証局が含まれる 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
4.7.4. GitLab CR のサンプル リンクのコピーリンクがクリップボードにコピーされました!
以下のカスタムリソース (CR) は、GitLab アイデンティティープロバイダーのパラメーターおよび許可される値を示します。
GitLab CR
- 1
- このプロバイダー名は GitLab 数字ユーザー ID にプレフィックスとして付加され、アイデンティティー名が作成されます。これはコールバック URL を作成するためにも使用されます。
- 2
- このプロバイダーのアイデンティティーとユーザーオブジェクト間にマッピングが確立される方法を制御します。
- 3
- 登録済みの GitLab OAuth アプリケーションのクライアント ID です。アプリケーションは、
https://oauth-openshift.apps.<cluster-name>.<cluster-domain>/oauth2callback/<idp-provider-name>
のコールバック URL を使用して設定する必要があります。 - 4
- GitLab で発行されるクライアントシークレットが含まれる OpenShift Container Platform シークレットへの参照。
- 5
- GitLab プロバイダーのホスト URL です。これは
https://gitlab.com/
か、または他の GitLab の自己ホストインスタンスのいずれかになります。 - 6
- オプション: 設定済みの URL のサーバー証明書を検証するために使用する PEM エンコードされた認証局バンドルを含む OpenShift Container Platform ConfigMap への参照。
4.7.5. アイデンティティープロバイダーのクラスターへの追加 リンクのコピーリンクがクリップボードにコピーされました!
クラスターのインストール後に、アイデンティティープロバイダーをそのクラスターに追加し、ユーザーの認証を実行できるようにします。
前提条件
- 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