第3章 RBAC の設定
Cryostat Operator または Helm チャートを使用して Cryostat 4.0 をインストールすると、Cryostat には Pod にリバースプロキシー (openshift-oauth-proxy
または oauth2_proxy
) が含まれます。Cryostat へのすべての API リクエストと、Cryostat Web コンソールまたは Grafana ダッシュボードのすべてのユーザーは、このプロキシーを経由して送信され、このプロキシーはクライアントセッションを処理してアプリケーションへのアクセスを制御します。Red Hat OpenShift にデプロイされると、プロキシーは Cryostat インストール namespace を使用して、Red Hat OpenShift クラスター SSO プロバイダーと統合し、ユーザー認証と認可の RBAC チェックを実行します。
Cryostat 4.0 以降、Cryostat は、製品へのアクセスを許可または拒否する目的で、すべてのユーザーに同じロールベースアクセス制御 (RBAC) 権限チェックを適用します。デフォルトでは、Cryostat アプリケーションのインストール namespace に必要な RBAC ロールは create pods/exec
です。必要な RBAC ロールが割り当てられている Red Hat OpenShift ユーザーアカウントには、Cryostat Web コンソールとすべての Cryostat 機能への完全なアクセス権があります。Red Hat OpenShift アカウントに必要な RBAC ロールがない場合、このユーザーは Cryostat にアクセスできなくなります。
オプションで htpasswd
ファイルを使用して認証プロキシーを設定し、Basic 認証を有効にすることができます。Red Hat OpenShift では、これにより、Red Hat OpenShift SSO RBAC アクセス権を持つユーザー以外に Cryostat にアクセスできるユーザーアカウントを追加で定義できます。
Cryostat Operator を使用して Cryostat インスタンスをインストールする場合、オプションで Cryostat カスタムリソース (CR) の .spec.authorizationOptions.openShiftSSO.accessReview
フィールドを使用して、Cryostat へのアクセスに必要な Red Hat OpenShift SSO RBAC 権限をカスタマイズできます。
前提条件
- Red Hat OpenShift Web コンソールを使用して OpenShift Container Platform にログインしている。
手順
Cryostat インスタンスの作成を開始する場合は、次の手順を実行します。
- Red Hat OpenShift Web コンソールで、Operators > Installed Operators の順にクリックします。
- 使用可能な Operator のリストから、Red Hat build of Cryostat を選択します。
- Operator details ページで、Details タブをクリックします。
- Provided APIs セクションで Cryostat を選択し、Create instance をクリックします。
Create Cryostat パネルで、Cryostat へのすべてのクライアントアクセスに必要な SubjectAccessReview または TokenAccessReview をカスタマイズするには、次のいずれかのオプションを選択します。
Form ビューを使用している場合は、以下を実行します。
- Form view ラジオボタンをクリックします。
- 追加のオプションを開くには、Advanced Configurations を展開して追加のオプションを開きます。
Cryostat CR の Authorization Options > OpenShift SSO > Access Review セクションを展開します。
図3.1 Cryostat インスタンスの Access Review プロパティー
Cryostat へのアクセスに必要なカスタムの RBAC 設定を指定するには、次のフィールドを使用します。
フィールド 詳細 group
リソースの API グループ。
ワイルドカードアスタリスク (
*
) 値はすべてのグループを表します。name
get
の場合は要求されるリソースの名前、delete
の場合は削除されるリソースの名前。空の値はすべての名前を表します。
namespace
要求されているアクションの namespace。
現在、namespace なしとすべての namespace の間に区別はありません。次のガイドラインを考慮してください。
- LocalSubjectAccessReviews の空の値がデフォルトで使用されます。
- 空の値は、クラスタースコープのリソースが存在しないことを示します。
- 空の値は、SubjectAccessReview または SelfSubjectAccessReview からのすべての namespace スコープのリソースを表します。
resource
既存のリソースタイプ。
ワイルドカードのアスタリスク (
*
) 値は、すべてのリソースタイプを表します。subresource
既存のリソースタイプ。
空の値は、リソースタイプを表します。
verb
Kubernetes リソース API 動詞 (例:
get
、list
、watch
、create
、update
、delete
、proxy
)。ワイルドカードのアスタリスク (
*
) 値はすべての動詞を表します。version
リソースの API バージョン。
ワイルドカードのアスタリスク (
*
) 値は、すべてのバージョンを表します。
YAML ビューを使用している場合は、以下を実行します。
- YAML view のラジオボタンをクリックします。
spec:
要素から、authorizationOptions:OpenShiftSSO
プロパティーを編集して、RBAC アクセス許可の要件に一致させます。RBAC パーミッションの設定例
apiVersion: operator.cryostat.io/v1beta2 kind: Cryostat metadata: name: cryostat-sample namespace: cryostat-test spec: ... authorizationOptions: openShiftSSO: accessReview: group: <API group of resource> name: <Name of resource being requested or deleted> namespace: <Namespace of action being requested> resource: <An existing resource type> subresource: <An existig resource type> verb: <A Kubernetes resource API verb> version: <API version of resource> ...
apiVersion: operator.cryostat.io/v1beta2 kind: Cryostat metadata: name: cryostat-sample namespace: cryostat-test spec: ... authorizationOptions: openShiftSSO: accessReview: group: <API group of resource> name: <Name of resource being requested or deleted> namespace: <Namespace of action being requested> resource: <An existing resource type> subresource: <An existig resource type> verb: <A Kubernetes resource API verb> version: <API version of resource> ...
Copy to Clipboard Copied!
- この Cryostat インスタンスのカスタムリソース (CR) で他のプロパティーを設定する場合は、これらのプロパティーの詳細は、このドキュメントの他のセクションを参照してください。
- この Cryostat インスタンスの作成を終了する場合は、Create をクリックします。
Create をクリックすると、この Cryostat インスタンスは Operator details ページの Cryostat タブで利用できます。その後、Operator details ページでインスタンス名をクリックし、Actions ドロップダウンメニューから Edit Cryostat を選択すると、Cryostat インスタンスの CR プロパティーを編集できます。
改訂日時: 2025-03-21