You are viewing documentation for a release that is no longer maintained. To view the documentation for the most recent version, see the latest RHACS docs.
13.3. OpenShift Container Platform OAuth サーバーをアイデンティティープロバイダーとして設定
OpenShift Container Platform には、Red Hat Advanced Cluster Security for Kubernetes (RHACS) の認証プロバイダーとして使用できる組み込みの OAuth サーバーが含まれています。
13.3.1. OpenShift Container Platform OAuth サーバーを Red Hat Advanced Cluster Security for Kubernetes の ID プロバイダーとして設定
組み込みの OpenShift Container Platform OAuth サーバーを Red Hat Advanced Cluster Security for Kubernetes (RHACS) の ID プロバイダーとして統合するには、このセクションの手順を使用します。
前提条件
-
RHACS で ID プロバイダーを設定するには、
AuthProvider
権限が必要である。 - ID プロバイダーを介して OpenShift Container Platform OAuth サーバーでユーザーおよびグループをすでに設定しておく必要がある。ID プロバイダーの要件は、ID プロバイダーの設定の概要 を参照すること。
以下の手順では、OpenShift Container Platform OAuth サーバー用に central
という名前のメインルートを 1 つだけ設定します。
手順
-
RHACS ポータルで、Platform Configuration
Access Control に移動します。 - Add an Auth Provider メニューを開き、OpenShift Auth を選択します。
- Name フィールドに認証プロバイダーの名前を入力します。
選択した ID プロバイダーを使用して RHACS にアクセスするユーザーの 最小アクセスルール を選択します。
ヒントセキュリティーのため、セットアップの完了時に、Minimum access role を None に設定する事を Red Hat は推奨します。後で、Access Control ページに戻って、ID プロバイダーのユーザーメタデータに基づいて、より調整されたアクセスルールを設定できます。
オプション: RHACS にアクセスするユーザーとグループのアクセスルールを追加するには、Rules セクションで Add new rule をクリックし、ルール情報を入力して Save をクリックします。アクセスを設定するには、ユーザーまたはグループの属性が必要です。
ヒントグループは通常、チームまたはアクセス許可セットに関連付けられており、ユーザーよりも頻繁に変更する必要がないため、グループマッピングはより堅牢です。
OpenShift Container Platform でユーザー情報を取得するには、以下のいずれかの方法を使用できます。
-
User Management
Users <username> YAML をクリックします。 -
k8s/cluster/user.openshift.io~v1~User/<username>/yaml
ファイルにアクセスし、name
、uid
(RHACS のuserid
)、およびgroups
の値を書き留めます。 - OpenShift Container Platform API リファレンス で説明されているように、OpenShift Container Platform API を使用します。
次の設定例では、次の属性を持つ Admin ロールのルールを設定する方法について説明します。
-
name
:administrator
-
groups
:["system:authenticated", "system:authenticated:oauth", "myAdministratorsGroup"]
-
uid
:12345-00aa-1234-123b-123fcdef1234
次のいずれかの手順を使用して、この管理者ロールのルールを追加できます。
-
名前のルールを設定するには、Key ドロップダウンリストから
name
を選択し、Value フィールドにadministrator
と入力して、Role で Administrator を選択します。 -
グループのルールを設定するには、Key ドロップダウンリストから
groups
を選択し、Value フィールドにmyAdministratorsGroup
と入力して、Role で Admin を選択します。 -
ユーザー名のルールを設定するには、Key ドロップダウンリストから
userid
を選択し、Value フィールドに12345-00aa-1234-123b-123fcdef1234
を入力して、Role で Admin を選択します。
-
User Management
- OpenShift Container Platform OAuth サーバーにカスタム TLS 証明書を使用する場合は、CA のルート証明書を信頼されたルート CA として Red Hat Advanced Cluster Security for Kubernetes に追加する必要があります。そうしないと、Central は OpenShift Container Platform OAuth サーバーに接続できません。
roxctl
CLI を使用して Red Hat Advanced Cluster Security for Kubernetes をインストールするときに OpenShift Container Platform OAuth サーバー統合を有効にするには、Central でROX_ENABLE_OPENSHIFT_AUTH
環境変数をtrue
に設定します。$ oc -n stackrox set env deploy/central ROX_ENABLE_OPENSHIFT_AUTH=true
-
アクセスルールの場合、OpenShift Container Platform OAuth サーバーはキー
Email
を返しません。
13.3.2. OpenShift Container Platform OAuth サーバーの追加ルートの作成
Red Hat Advanced Cluster Security for Kubernetes ポータルを使用して OpenShift Container Platform OAuth サーバーを ID プロバイダーとして設定すると、RHACS は OAuth サーバーのルートを 1 つだけ設定します。ただし、Central カスタムリソースで注釈として指定することにより、追加のルートを作成できます。
前提条件
手順
RHACS Operator を使用して RHACS をインストールした場合:
Central カスタムリソースのパッチを含む
CENTRAL_ADDITIONAL_ROUTES
環境変数を作成します。$ CENTRAL_ADDITIONAL_ROUTES=' spec: central: exposure: loadBalancer: enabled: false port: 443 nodePort: enabled: false route: enabled: true persistence: persistentVolumeClaim: claimName: stackrox-db customize: annotations: serviceaccounts.openshift.io/oauth-redirecturi.main: sso/providers/openshift/callback 1 serviceaccounts.openshift.io/oauth-redirectreference.main: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"central\"}}" 2 serviceaccounts.openshift.io/oauth-redirecturi.second: sso/providers/openshift/callback 3 serviceaccounts.openshift.io/oauth-redirectreference.second: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"second-central\"}}" 4 '
CENTRAL_ADDITIONAL_ROUTES
パッチを Central カスタムリソースに適用します。$ oc patch centrals.platform.stackrox.io \ -n <namespace> \ 1 <custom-resource> \ 2 --patch "$CENTRAL_ADDITIONAL_ROUTES" \ --type=merge
または、Helm を使用して RHACS をインストールした場合:
次のアノテーションを
values-public.yaml
ファイルに追加します。customize: central: annotations: serviceaccounts.openshift.io/oauth-redirecturi.main: sso/providers/openshift/callback 1 serviceaccounts.openshift.io/oauth-redirectreference.main: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"central\"}}" 2 serviceaccounts.openshift.io/oauth-redirecturi.second: sso/providers/openshift/callback 3 serviceaccounts.openshift.io/oauth-redirectreference.second: "{\"kind\":\"OAuthRedirectReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"Route\",\"name\":\"second-central\"}}" 4
helm upgrade
を使用して、Central カスタムリソースにカスタムアノテーションを適用します。$ helm upgrade -n stackrox \ stackrox-central-services rhacs/central-services \ -f <path_to_values_public.yaml> 1
- 1
-f
オプションを使用して、values-public.yaml
設定ファイルのパスを指定します。