5.6.5. GitHub CR のサンプル

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

GitHub CR

apiVersion: config.openshift.io/v1
kind: OAuth
metadata:
  name: cluster
spec:
  identityProviders:
  - name: githubidp 1
    mappingMethod: claim 2
    type: GitHub
    github:
      ca: 3
        name: ca-config-map
      clientID: {...} 4
      clientSecret: 5
        name: github-secret
      hostname: ... 6
      organizations: 7
      - myorganization1
      - myorganization2
      teams: 8
      - myorganization1/team-a
      - myorganization2/team-b

1
このプロバイダー名は GitHub の数字ユーザー ID にプレフィックスとして付加され、アイデンティティー名が作成されます。これはコールバック URL を作成するためにも使用されます。
2
このプロバイダーのアイデンティティーと User オブジェクト間にマッピングが確立される方法を制御します。
3
オプション: 設定済みの URL のサーバー証明書を検証するために使用する PEM エンコードされた認証局バンドルを含む OpenShift Container Platform ConfigMap オブジェクトへの参照。非公開で信頼されているルート証明書で GitHub Enterprise の場合のみ使用されます。
4
登録済みの GitHub OAuth アプリケーションのクライアント ID。アプリケーションは、https://oauth-openshift.apps.<cluster-name>.<cluster-domain>/oauth2callback/<idp-provider-name> のコールバック URL を使用して設定する必要があります。
5
GitHub で発行されるクライアントシークレットが含まれる OpenShift Container Platform Secret オブジェクトへの参照。
6
GitHub Enterprise の場合、example.com などのインスタンスのホスト名 を指定する必要があります。この値は /setup/settings ファイルにある GitHub Enterprise hostname 値に一致する必要があり、ポート番号を含めることはできません。この値が設定されない場合、 teams または organizations のいずれかが定義される必要があります。GitHub の場合は、このパラメーターを省略します。
7
組織の一覧です。hostname フィールドが設定されていないか、または mappingMethodlookup に設定されている場合は organizations または teams フィールドを設定する必要があります。これは teams フィールドと組み合わせて使用することはできません。
8
チームの一覧です。hostname フィールドが設定されていないか、または mappingMethodlookup に設定されている場合は teams または organizations フィールドのいずれかを設定する必要があります。これは organizations フィールドと組み合わせて使用することはできません。
注記

organizations または teams が指定されている場合、少なくとも一覧のいずれかの組織のメンバーである GitHub ユーザーのみがログインできます。その組織が clientID で設定された GitHub OAuth アプリケーションを所有していない場合、組織の所有者はこのオプションを使用するためにサードパーティーのアクセスを付与する必要があります。これは組織の管理者が初回の GitHub ログイン時に、または GitHub の組織設定で実行できます。

追加リソース