8.2. GitHub アイデンティティープロバイダーの設定
GitHub または GitHub Enterprise の OAuth 認証サーバーに対してユーザー名とパスワードを検証し、Red Hat OpenShift Service on AWS クラスターにアクセスするように GitHub アイデンティティープロバイダーを設定します。OAuth は Red Hat OpenShift Service on AWS と GitHub または GitHub Enterprise 間のトークン交換フローを容易にします。
GitHub 認証を設定することによって、ユーザーは GitHub 認証情報を使用して Red Hat OpenShift Service on AWS にログインできます。GitHub ユーザー ID を持つすべてのユーザーが Red Hat OpenShift Service on AWS クラスターにログインできないようにするために、アクセスを特定の GitHub 組織のユーザーに制限する必要があります。
前提条件
- GitHub 組織管理者が、GitHub 組織設定 内に OAuth アプリケーションを直接作成している。
- GitHub 組織またはチーム が GitHub アカウントに設定されている。
手順
- OpenShift Cluster Manager から、Cluster List ページに移動し、アイデンティティープロバイダーを設定するクラスターを選択します。
- Access control タブをクリックします。
Add identity provider をクリックします。
注記クラスターの作成後に表示される警告メッセージの Add Oauth configuration リンクをクリックして、アイデンティティープロバイダーを設定することもできます。
- ドロップダウンメニューから GitHub を選択します。
アイデンティティープロバイダーの一意の名前を入力します。この名前は後で変更することができません。
OAuth callback URL が指定のフィールドに自動的に生成されます。これを使用して GitHub アプリケーションを登録します。
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
以下に例を示します。
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/github
- アプリケーションを GitHub に登録します。
- Red Hat OpenShift Service on AWS に戻り、ドロップダウンメニューからマッピング方法を選択します。ほとんどの場合は、Claim の使用が推奨されます。
- GitHub から提供される Client ID および Client secret を入力します。
- hostname を入力します。GitHub Enterprise のホステッドインスタンスを使用する場合は、ホスト名を入力する必要があります。
- オプション: 認証局 (CA) ファイルを使用して、設定された GitHub Enterprise URL のサーバー証明書を検証できます。Browse をクリックして CA ファイル を見つけ、これをアイデンティティープロバイダーに割り当てます。
- Use organizations または Use teams を選択し、アクセスを特定の GitHub 組織または GitHub チームに制限します。
- アクセスを制限する組織またはチームの名前を入力します。Add more をクリックして、ユーザーが所属できる複数の組織またはチームを指定します。
- Confirm をクリックします。
検証
- 設定されたアイデンティティープロバイダーが、Cluster List ページの Access control タブに表示されるようになりました。