4.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 Enterprisehostname
値に一致する必要があり、ポート番号を含めることはできません。この値が設定されない場合、teams
またはorganizations
のいずれかが定義される必要があります。GitHub の場合は、このパラメーターを省略します。 - 7
- 組織の一覧です。
hostname
フィールドが設定されていないか、またはmappingMethod
がlookup
に設定されている場合はorganizations
またはteams
フィールドを設定する必要があります。これはteams
フィールドと組み合わせて使用することはできません。 - 8
- チームの一覧です。
hostname
フィールドが設定されていないか、またはmappingMethod
がlookup
に設定されている場合はteams
またはorganizations
フィールドのいずれかを設定する必要があります。これはorganizations
フィールドと組み合わせて使用することはできません。
注記
organizations
または teams
が指定されている場合、少なくとも一覧のいずれかの組織のメンバーである GitHub ユーザーのみがログインできます。その組織が clientID
で設定された GitHub OAuth アプリケーションを所有していない場合、組織の所有者はこのオプションを使用するためにサードパーティーのアクセスを付与する必要があります。これは組織の管理者が初回の GitHub ログイン時に、または GitHub の組織設定で実行できます。
関連情報
-
すべてのアイデンティティープロバイダーに共通するパラメーターの詳細は、アイデンティティープロバイダーのパラメーター (
mappingMethod
など) について参照してください。