第3章 Hosted Control Plane の認証と認可


OpenShift Container Platform のコントロールプレーンには、組み込みの OAuth サーバーが含まれています。OAuth アクセストークンを取得することで、OpenShift Container Platform API に対して認証できます。ホストされたクラスターを作成した後に、アイデンティティープロバイダーを指定して OAuth を設定できます。

3.1. CLI を使用してホストされたクラスターの OAuth サーバーを設定する

OpenID Connect アイデンティティープロバイダー (oidc) を使用して、ホストされたクラスターの内部 OAuth サーバーを設定できます。

サポートされている次のアイデンティティープロバイダーに対して OAuth を設定できます。

  • oidc
  • htpasswd
  • keystone
  • ldap
  • basic-authentication
  • request-header
  • github
  • gitlab
  • google

OAuth 設定にアイデンティティープロバイダーを追加すると、デフォルトの kubeadmin ユーザープロバイダーが削除されます。

注記

アイデンティティープロバイダーを設定するときは、ホステッドクラスターに少なくとも 1 つの NodePool レプリカを事前に設定する必要があります。DNS 解決のトラフィックはワーカーノードを介して送信されます。htpasswd および request-header アイデンティティープロバイダー用に、NodePool レプリカを事前に設定する必要はありません。

前提条件

  • ホストされたクラスターを作成した。

手順

  1. 次のコマンドを実行して、ホスティングクラスターで HostedCluster カスタムリソース (CR) を編集します。

    $ oc edit <hosted_cluster_name> -n <hosted_cluster_namespace>
  2. 次の例を使用して、HostedCluster CR に OAuth 設定を追加します。

    apiVersion: hypershift.openshift.io/v1alpha1
    kind: HostedCluster
    metadata:
      name: <hosted_cluster_name> 1
      namespace: <hosted_cluster_namespace> 2
    spec:
      configuration:
        oauth:
          identityProviders:
          - openID: 3
              claims:
                email: 4
                  - <email_address>
                name: 5
                  - <display_name>
                preferredUsername: 6
                  - <preferred_username>
              clientID: <client_id> 7
              clientSecret:
                name: <client_id_secret_name> 8
              issuer: https://example.com/identity 9
            mappingMethod: lookup 10
            name: IAM
            type: OpenID
    1
    ホストされたクラスターの名前を指定します。
    2
    ホストされたクラスターの namespace を指定します。
    3
    このプロバイダー名はアイデンティティー要求の値に接頭辞として付加され、アイデンティティー名が作成されます。プロバイダー名はリダイレクト URL の構築にも使用されます。
    4
    メールアドレスとして使用する属性のリストを定義します。
    5
    表示名として使用する属性のリストを定義します。
    6
    優先ユーザー名として使用する属性のリストを定義します。
    7
    OpenID プロバイダーに登録されたクライアントの ID を定義します。このクライアントを URL https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name> にリダイレクトできるようにする必要があります。
    8
    OpenID プロバイダーに登録されたクライアントのシークレットを定義します。
    9
    OpenID の仕様で説明されている Issuer Identifier。クエリーまたはフラグメントコンポーネントのない https を使用する必要があります。
    10
    このプロバイダーのアイデンティティーと User オブジェクトの間でマッピングを確立する方法を制御するマッピング方法を定義します。
  3. 変更を適用するためにファイルを保存します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.