Menu Close

5.2. IDP アカウントでのクラスターへのアクセス

クラスターにログインするには、アイデンティティープロバイダー (IDP) を設定できます。この手順では、IDP の例として GitHub を使用します。サポートされている他の IDP を表示するには、rosa create idp --help コマンドを実行します。

注記

または、クラスターを作成したユーザーとして、クイックアクセス手順を使用できます。

手順

IDP アカウントを使用してクラスターにアクセスするには、以下を実行します。

  1. IDP を追加します。

    1. 以下のコマンドは、GitHub がサポートする IDP を作成します。コマンドを実行後に、出力の対話式プロンプトに従って GitHub 開発者の設定にアクセスし、新規の OAuth アプリケーションを設定します。

      $ rosa create idp --cluster=<cluster_name> --interactive
    2. 以下の値を入力します。

      • アイデンティティープロバイダーのタイプ: github
      • メンバーの制限: organizations (GitHub Organization がない場合は、これを作成できます。)
      • GitHub Organization: rh-test-org (組織の名前を入力します)

      出力例

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

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

      注記

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

    4. 作成した GitHub アプリケーションの情報を使用し、プロンプトを続行します。以下の値を入力します。

      • クライアント ID: <my_github_client_id>
      • クライアントシークレット: [? for help] <my_github_client_secret>
      • ホスト名: (オプション。一時的にブランクにしておくことができます)
      • マッピング方法: claim

      出力例

      ...
      ? Client ID: <my_github_client_id>
      ? Client Secret: [? for help] <my_github_client_secret>
      ? Hostname:
      ? Mapping method: claim
      I: Configuring IDP for cluster 'rh_rosa_test_cluster'
      I: Identity Provider 'github-1' has been created. You need to ensure that there is a list of cluster administrators defined. See 'rosa create user --help' for more information. To login into the console, open https://console-openshift-console.apps.rh-test-org.z7v0.s1.devshift.org and click on github-1

      IDP は、クラスター内で設定するのに 1 - 2 分かかる場合があります。

    5. 以下のコマンドを実行して、IDP が正しく設定されていることを確認します。

      $ rosa list idps --cluster=<cluster_name>

      出力例

      NAME        TYPE      AUTH URL
      github-1    GitHub    https://oauth-openshift.apps.rh-rosa-test-cluster1.j9n4.s1.devshift.org/oauth2callback/github-1

  2. クラスターにログインします。

    1. 以下のコマンドを実行して、クラスターの Console URL を取得します。

      $ rosa describe cluster --cluster=<cluster_name>

      出力例

      Name:        rh-rosa-test-cluster1
      ID:          1de87g7c30g75qechgh7l5b2bha6r04e
      External ID: 34322be7-b2a7-45c2-af39-2c684ce624e1
      API URL:     https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443
      Console URL: https://console-openshift-console.apps.rh-rosa-test-cluster1.j9n4.s1.devshift.org
      Nodes:       Master: 3, Infra: 3, Compute: 4
      Region:      us-east-2
      State:       ready
      Created:     May 27, 2020

    2. Console URL に移動し、Github 認証情報を使用してログインします。
    3. OpenShift コンソールの右上で、名前をクリックして Copy Login Command をクリックします。
    4. 追加した IDP の名前 (この場合は github-1) を選択し、Display Token をクリックします。
    5. oc ログインコマンドをコピーし、これをターミナルに貼り付けます。

      $ oc login --token=z3sgOGVDk0k4vbqo_wFqBQQTnT-nA-nQLb8XEmWnw4X --server=https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443

      出力例

      Logged into "https://api.rh-rosa-cluster1.j9n4.s1.devshift.org:6443" as "rh-rosa-test-user" using the token provided.
      
      You have access to 67 projects, the list has been suppressed. You can list all projects with 'oc projects'
      
      Using project "default".

    6. 単純な oc コマンドを実行して、すべての設定が適切でログインしていることを確認します。

      $ oc version

      出力例

      Client Version: 4.4.0-202005231254-4a4cd75
      Server Version: 4.3.18
      Kubernetes Version: v1.16.2