1.5. アイデンティティープロバイダーの設定およびクラスターアクセスの付与
Red Hat OpenShift Service on AWS クラシックアーキテクチャーには、組み込みの OAuth サーバーが含まれています。ROSA クラスターの作成後に、OAuth をアイデンティティープロバイダーを使用するように設定する必要があります。その後、メンバーを設定済みのアイデンティティープロバイダーに追加して、クラスターへのアクセス権限を付与できます。
また、必要に応じて、アイデンティティープロバイダーユーザーに cluster-admin 権限または dedicated-admin 権限を付与することもできます。
1.5.1. アイデンティティープロバイダーの設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift Service on AWS クラシックアーキテクチャー (ROSA) クラスターにさまざまなアイデンティティープロバイダータイプを設定できます。サポート対象のタイプには、GitHub、GitHub Enterprise、GitLab、Google、LDAP、OpenID Connect、htpasswd アイデンティティープロバイダーが含まれます。
htpasswd ID プロバイダーオプションは、単一の静的管理ユーザーを作成できるようにするためだけに含まれています。htpasswd は、Red Hat OpenShift Service on AWS クラシックアーキテクチャーの汎用 ID プロバイダーとしてはサポートされていません。
以下の手順では、例として GitHub アイデンティティープロバイダーを設定します。
手順
- github.com に移動し、GitHub アカウントにログインします。
- ROSA クラスターのアイデンティティープロビジョニングに使用する既存の GitHub 組織がない場合は、これを作成します。GitHub ドキュメント の手順に従います。
GitHub 組織のメンバーに限定するように、クラスターの GitHub アイデンティティープロバイダーを設定します。
インタラクティブモードを使用してアイデンティティープロバイダーを設定します。
rosa create idp --cluster=<cluster_name> --interactive
$ rosa create idp --cluster=<cluster_name> --interactive1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<cluster_name>は、クラスター名に置き換えます。
出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<github_org_name>は、GitHub 組織の名前に置き換えます。
出力された URL に従い、Register application を選択すると、GitHub の組織に新しい OAuth アプリケーションが登録されます。アプリケーションを登録することで、ROSA に内蔵されている OAuth サーバーが GitHub 組織のメンバーをクラスターに認証することができるようになります。
注記Register a new OAuth application GitHub フォームのフィールドには、ROSA CLI ツールで定義された URL を介して、必要な値が自動的に入力されます。
GitHub OAuth アプリケーションページの情報を使用して、残りの
rosa create idpの対話式プロンプトを設定します。出力例 (続き)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記アイデンティティープロバイダー設定がアクティブになるまでに、約 2 分かかる場合があります。
cluster-adminユーザーを設定している場合は、oc get pods -n openshift-authentication --watchを実行して、更新された設定で OAuth Pod の再デプロイを確認できます。以下のコマンドを実行して、アイデンティティープロバイダーが正しく設定されていることを確認します。
rosa list idps --cluster=<cluster_name>
$ rosa list idps --cluster=<cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME TYPE AUTH URL github-1 GitHub https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1
NAME TYPE AUTH URL github-1 GitHub https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- サポート対象の各アイデンティティープロバイダータイプを設定する詳細な手順は、STS のアイデンティティープロバイダーの設定 を参照してください。
1.5.2. クラスターへのユーザーアクセスの付与 リンクのコピーリンクがクリップボードにコピーされました!
設定済みのアイデンティティープロバイダーにユーザーを追加することで、そのユーザーに Red Hat OpenShift Service on AWS クラシックアーキテクチャークラスターへのアクセス権を付与できます。
Red Hat OpenShift Service on AWS クラシックアーキテクチャークラスターには、さまざまなタイプのアイデンティティープロバイダーを設定できます。以下の手順例では、クラスターへのアイデンティティープロビジョニング用に設定された GitHub 組織に、ユーザーを追加します。
手順
- github.com に移動し、GitHub アカウントにログインします。
- Red Hat OpenShift Service on AWS クラシックアーキテクチャークラスターへのアクセスを必要とするユーザーを GitHub 組織に招待します。GitHub ドキュメントの 組織に参加するようにユーザーを招待する の手順を実行してください。
1.5.3. ユーザーへの管理者権限の付与 リンクのコピーリンクがクリップボードにコピーされました!
設定済みのアイデンティティープロバイダーにユーザーを追加したら、そのユーザーに、Red Hat OpenShift Service on AWS クラシックアーキテクチャークラスターの cluster-admin または dedicated-admin 特権を付与できます。
手順
アイデンティティープロバイダーのユーザーに
cluster-admin特権を設定するには、以下を実行します。ユーザーに
cluster-admin特権を付与します。rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
<idp_user_name>および<cluster_name>は、アイデンティティープロバイダーのユーザーおよびクラスター名に置き換えます。
出力例
I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーが
cluster-adminsグループのメンバーとしてリスト表示されているかどうかを確認します。rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID GROUPS <idp_user_name> cluster-admins
ID GROUPS <idp_user_name> cluster-adminsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
アイデンティティープロバイダーユーザーに
dedicated-admin権限を設定するには、以下を実行します。ユーザーに
dedicated-admin権限を付与します。rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ユーザーが
dedicated-adminsグループのメンバーとしてリスト表示されているかどうかを確認します。rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
ID GROUPS <idp_user_name> dedicated-admins
ID GROUPS <idp_user_name> dedicated-adminsCopy to Clipboard Copied! Toggle word wrap Toggle overflow