1.5. アイデンティティープロバイダーの設定およびクラスターアクセスの付与


Red Hat OpenShift Service on AWS (ROSA) には、ビルトイン OAuth サーバーが含まれます。ROSA クラスターの作成後に、OAuth をアイデンティティープロバイダーを使用するように設定する必要があります。その後、メンバーを設定済みのアイデンティティープロバイダーに追加して、クラスターへのアクセス権限を付与できます。

また、必要に応じて、アイデンティティープロバイダーユーザーに cluster-admin 権限または dedicated-admin 権限を付与することもできます。

アイデンティティープロバイダーの設定

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 アイデンティティープロバイダーを設定します。

手順

  1. github.com に移動し、GitHub アカウントにログインします。
  2. ROSA クラスターのアイデンティティープロビジョニングに使用する既存の GitHub 組織がない場合は、これを作成します。GitHub ドキュメント の手順に従います。
  3. GitHub 組織のメンバーに限定するように、クラスターの GitHub アイデンティティープロバイダーを設定します。

    1. インタラクティブモードを使用してアイデンティティープロバイダーを設定します。

      $ rosa create idp --cluster=<cluster_name> --interactive 1
      1
      <cluster_name> は、クラスター名に置き換えます。

      出力例

      I: Interactive mode enabled.
      Any optional fields can be left empty and a default will be selected.
      ? Type of identity provider: github
      ? Identity provider name: github-1
      ? Restrict to members of: organizations
      ? GitHub organizations: <github_org_name> 1
      ? To use GitHub as an identity provider, you must first register the application:
        - Open the following URL:
          https://github.com/organizations/<github_org_name>/settings/applications/new?oauth_application%5Bcallback_url%5D=https%3A%2F%2Foauth-openshift.apps.<cluster_name>/<random_string>.p1.openshiftapps.com%2Foauth2callback%2Fgithub-1&oauth_application%5Bname%5D=<cluster_name>&oauth_application%5Burl%5D=https%3A%2F%2Fconsole-openshift-console.apps.<cluster_name>/<random_string>.p1.openshiftapps.com
        - Click on 'Register application'
      ...

      1
      <github_org_name> は、GitHub 組織の名前に置き換えます。
    2. 出力された URL に従い、Register application を選択すると、GitHub の組織に新しい OAuth アプリケーションが登録されます。アプリケーションを登録することで、ROSA に内蔵されている OAuth サーバーが GitHub 組織のメンバーをクラスターに認証することができるようになります。

      注記

      Register a new OAuth application GitHub フォームのフィールドには、ROSA CLI ツールで定義された URL を介して、必要な値が自動的に入力されます。

    3. GitHub OAuth アプリケーションページの情報を使用して、残りの rosa create idp の対話式プロンプトを設定します。

      出力例 (続き)

      ...
      ? Client ID: <github_client_id> 1
      ? Client Secret: [? for help] <github_client_secret> 2
      ? GitHub Enterprise Hostname (optional):
      ? Mapping method: claim 3
      I: Configuring IDP for cluster '<cluster_name>'
      I: Identity Provider 'github-1' has been created.
         It will take up to 1 minute for this configuration to be enabled.
         To add cluster administrators, see 'rosa grant user --help'.
         To login into the console, open https://console-openshift-console.apps.<cluster_name>.<random_string>.p1.openshiftapps.com and click on github-1.

      1
      <github_client_id> は、GitHub OAuth アプリケーションのクライアント ID に置き換えます。
      2
      <github_client_secret> は、GitHub OAuth アプリケーションのクライアントシークレットに置き換えます。
      3
      claim をマッピング方法として指定します。
      注記

      アイデンティティープロバイダー設定がアクティブになるまでに、約 2 分かかる場合があります。cluster-admin ユーザーを設定している場合は、oc get pods -n openshift-authentication --watch を実行して、更新された設定で OAuth Pod の再デプロイを確認できます。

    4. 以下のコマンドを実行して、アイデンティティープロバイダーが正しく設定されていることを確認します。

      $ rosa list idps --cluster=<cluster_name>

      出力例

      NAME        TYPE      AUTH URL
      github-1    GitHub    https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1

関連情報

クラスターへのユーザーアクセスの付与

ユーザーアクセスを設定済みのアイデンティティープロバイダーに追加して、Red Hat OpenShift Service on AWS (ROSA) クラスターに付与できます。

ROSA クラスターに異なるタイプのアイデンティティープロバイダーを設定できます。以下の手順例では、クラスターへのアイデンティティープロビジョニング用に設定された GitHub 組織に、ユーザーを追加します。

手順

  1. github.com に移動し、GitHub アカウントにログインします。
  2. GitHub 組織への ROSA クラスターへのアクセスを必要とするユーザーを招待します。GitHub ドキュメントの 組織に参加するようにユーザーを招待する の手順を実行してください。

ユーザーへの管理者権限の付与

ユーザーを設定済みのアイデンティティープロバイダーに追加した後に、Red Hat OpenShift Service on AWS (ROSA) クラスターの cluster-admin 権限または dedicated-admin 権限を付与できます。

手順

  • アイデンティティープロバイダーユーザーの cluster-admin 権限を設定するには、以下を実行します。

    1. ユーザーに cluster-admin 権限を付与します。

      $ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name> 1
      1
      <idp_user_name> および <cluster_name> は、アイデンティティープロバイダーのユーザーおよびクラスター名に置き換えます。

      出力例

      I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'

    2. ユーザーが cluster-admins グループのメンバーとしてリスト表示されているかどうかを確認します。

      $ rosa list users --cluster=<cluster_name>

      出力例

      ID                 GROUPS
      <idp_user_name>    cluster-admins

  • アイデンティティープロバイダーユーザーに dedicated-admin 権限を設定するには、以下を実行します。

    1. ユーザーに dedicated-admin 権限を付与します。

      $ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>

      出力例

      I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'

    2. ユーザーが dedicated-admins グループのメンバーとしてリスト表示されているかどうかを確認します。

      $ rosa list users --cluster=<cluster_name>

      出力例

      ID                 GROUPS
      <idp_user_name>    dedicated-admins

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.