Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

13.3.11. GitLab

GitLab.com またはその他の GitLab インスタンスをアイデンティティープロバイダーとして使用するには、identityProviders スタンザに GitLabIdentityProvider を設定します。GitLab バージョン 7.7.0 から 11.0 を使用する場合は、OAuth 統合 を使用して接続します。GitLab バージョン 11.1 以降の場合は、OAuth ではなく OpenID Connect (OIDC) を使用して接続します。

例13.7 GitLabIdentityProvider を使用したマスター設定

oauthConfig:
  ...
  identityProviders:
  - name: gitlab 1
    challenge: true 2
    login: true 3
    mappingMethod: claim 4
    provider:
      apiVersion: v1
      kind: GitLabIdentityProvider
      legacy: 5
      url: ... 6
      clientID: ... 7
      clientSecret: ... 8
      ca: ... 9
1
このプロバイダー名は GitLab 数字ユーザー ID に接頭辞として付加され、アイデンティティー名が作成されます。これはコールバック URL を作成するためにも使用されます。
2
true の場合、非 Web クライアント (CLI など) からの認証されていないトークン要求は、このプロバイダーの WWW-Authenticate challenge ヘッダーと共に送信されます。これは Resource Owner Password Credentials 付与フローを使用して GitLab からアクセストークンを取得します。
3
true の場合、Web クライアント (Web コンソールなど) からの非認証トークン要求はログインする GitLab にリダイレクトされます。
4
このプロバイダーのアイデンティティーとユーザーオブジェクト間のマッピングの確立方法を制御します (上記 を参照してください)。
5
認証プロバイダーとして OAuth または OIDC を使用するかどうかを決定します。OAuth を使用する場合は、true に設定され、OIDC を使用する場合は false に設定されます。OIDC を使用するには、GitLab.com または GitLab バージョン 11.1 以降を使用する必要があります。値を指定しない場合は、OAuth が GitLab インスタンスに接続するために使用され、OIDC は GitLab.com に接続するために使用されます。
6
GitLab プロバイダーのホスト URL です。これは https://gitlab.com/ か、または他の GitLab の自己ホストインスタンスのいずれかになります。
7
登録済みの GitLab OAuth アプリケーション のクライアント ID です。アプリケーションは、<master>/oauth2callback/<identityProviderName> のコールバック URL を使用して設定する必要があります。
8
GitLab で発行されるクライアントシークレットです。この値は 環境変数、外部ファイル、または暗号化されたファイル でも指定できます。
9
CA は、GitLab インスタンスへの要求を行う際に使用する任意の信頼される認証局バンドルです。空の場合、デフォルトのシステムルートが使用されます。