第1章 セキュリティー


Red Hat Advanced Cluster Management for Kubernetes コンポーネントのセキュリティーおよびロールベースのアクセス制御 (RBAC) を管理します。定義したポリシーおよびプロセスでクラスターを統制し、リスクを特定して最小限に抑えます。ポリシーを使用してルールの定義、制御の設定を行います。

前提条件: Identity and Access Management (IAM) を識別するオンボードワークロードに合わせて Red Hat Advanced Cluster Management for Kubernetes の認証サービス要件を設定する必要があります。詳細は、OpenShift Container Platform ドキュメントの『認証および認可』の「認証について」を参照してください。

クラスターのセキュリティー保護に関する詳細は、以下のトピックを参照してください。

1.1. ロールベースのアクセス制御

Red Hat Advanced Cluster Management for Kubernetes は、ロールベースのアクセス制御 (RBAC) をサポートします。ロールによって実行できるアクションが決まります。RBAC は、Red Hat OpenShift Container Platform と同様に Kubernetes の承認メカニズムに基づいています。RBAC の詳細は、OpenShift Container Platform ドキュメント の「RBACの概要」を参照してください。

注記: ユーザーロールのアクセス権がない場合には、コンソールのアクションボタンが無効になります。

コンポーネントでサポートされる RBAC の詳細については、以下のセクションを参照してください。

1.1.1. ロールの概要

クラスター別の製品リソースと、namespace がスコープの製品リソースがあります。アクセス制御に一貫性を持たせるため、クラスターのロールバインディングと、namespace のロールバインドをユーザーに適用する必要があります。Red Hat Advanced Cluster Management for Kubernetes でサポートされている以下のロール定義の表を参照してください。

Expand
表1.1 ロール定義の表
ロール定義

cluster-admin

cluster-admin ロールへのクラスター全体のバインディングを持つユーザーは、すべてのアクセスを持つ OpenShift Container Platform スーパーユーザーです。

open-cluster-management:cluster-manager-admin

cluster-manager-admin ロールへのクラスター全体のバインディングを持つユーザーは、すべてのアクセスを持つ Red Hat Advanced Cluster Management for Kubernetes のスーパーユーザーです。このロールを指定すると、ユーザーは ManagedCluster リソースを作成できます。

open-cluster-management:managed-cluster-x (admin)

managed-cluster-x ロールへのクラスターバインディングを持つユーザーには、managedcluster “X” リソースへの管理者アクセスが付与されます。

open-cluster-management:managed-cluster-x (viewer)

managed-cluster-x ロールへのクラスター全体のバインディングを持つユーザーには、managedcluster “X” リソースへのビューアクセスが付与されます。

open-cluster-management:subscription-admin

subscription-admin ロールを持つユーザーは、リソースを複数の namespace にデプロイする Git サブスクリプションを作成できます。リソースは、サブスクライブされた Git リポジトリーの Kubernetes リソース YAML ファイルで指定されます。注記: non-subscription-admin ユーザーがサブスクリプションを作成すると、リソースに指定された namespace に関係なく、すべてのリソースがサブスクリプションの namespace にデプロイされます。詳細は、「アプリケーションライフサイクル RBAC」のセクションを参照してください。

admin、edit、view

admin、edit、および view は OpenShift Container Platform のデフォルトロールです。これらのロールに対して namespace に限定されたバインディングが指定されているユーザーは、特定の namespace 内の open-cluster-management リソースにアクセスでき、同じロールに対してクラスター全体のバインディングが指定されている場合には、クラスター全体の open-cluster-management リソースすべてにアクセス権があります。

重要:

  • ユーザーは OpenShift Container Platform からプロジェクトを作成できます。これにより、namespace の管理者ロールパーミッションが付与されます。
  • ユーザーにクラスターへのロールアクセスがない場合には、クラスター名は表示されません。クラスター名は、- の記号で表示されます。

1.1.2. RBAC 実装

RBAC はコンソールレベルと API レベルで検証されます。コンソール内のアクションは、ユーザーのアクセスロールのパーミッションに基づいて有効化/無効化できます。製品の特定ライフサイクルの RBAC の詳細は、以下のセクションを参照してください。

1.1.2.1. クラスターライフサイクル RBAC

以下のクラスターライフサイクル RBAC 操作を確認してください。

全マネージドクラスターを作成して管理する方法:

  • クラスターロール open-cluster-management:cluster-manager-admin にバインドするクラスターロールを作成します。このロールはスーパーユーザーであるため、すべてのリソースとアクションにアクセスできます。このロールを使用すると、クラスターレベルの managedcluster リソース、マネージドクラスターを管理するリソースの namespace、namespace 内のリソースを作成できます。このロールで、プロバイダー接続、マネージドクラスター作成に使用するベアメタルアセットにアクセスできます。

    oc create clusterrolebinding <role-binding-name> --clusterrole=open-cluster-management:cluster-manager-admin
    Copy to Clipboard Toggle word wrap

cluster-name という名前のマネージドクラスターを管理する方法:

  • クラスターロール open-cluster-management:admin:<cluster-name> にバインドするクラスターロールを作成します。このロールを使用すると、クラスターレベルの managedcluster リソースに読み取り/書き込みアクセスができるようになります。managedcluster はクラスターレベルのリソースで、namespace レベルのリソースではないので、このロールが必要です。

    oc create clusterrolebinding (role-binding-name) --clusterrole=open-cluster-management:admin:<cluster-name>
    Copy to Clipboard Toggle word wrap
  • クラスターロール admin にバインドする namespace ロールを作成します。このロールでは、マネージドクラスターの namespace 内にあるリソースに対して読み取り/書き込みアクセスができるようになります。

    oc create rolebinding <role-binding-name> -n <cluster-name> --clusterrole=admin
    Copy to Clipboard Toggle word wrap

cluster-name という名前のマネージドクラスターを表示する方法:

  • クラスターロール open-cluster-management:view:<cluster-name> にバインドするクラスターロールを作成します。このロールを使用すると、クラスターレベルの managedcluster リソースに読み取りアクセスができるようになります。managedcluster はクラスターレベルのリソースで、namespace レベルのリソースではないので、このロールが必要です。

    oc create clusterrolebinding <role-binding-name> --clusterrole=open-cluster-management:view:<cluster-name>
    Copy to Clipboard Toggle word wrap
  • クラスターロール view にバインドする namespace ロールを作成します。このロールでは、マネージドクラスターの namespace 内にあるリソースに対して読み取り専用アクセスができるようになります。

    oc create rolebinding <role-binding-name> -n <cluster-name> --clusterrole=view
    Copy to Clipboard Toggle word wrap

クラスターライフサイクルの以下のコンソールおよび API RBAC の表を表示します。

Expand
表1.2 クラスターライフサイクルのコンソール RBAC の表
アクション管理編集表示

Clusters (クラスター)

read, update, delete

read, update

読み取り

プロバイダー接続

create, read, update, delete

create, read, update, delete

read

ベアメタルアセット

create, read, update, delete

read, update

read

Expand
表1.3 クラスターライフサイクルの API RBAC の表
API管理編集表示

managedclusters.cluster.open-cluster-management.io

create, read, update, delete

read, update

read

baremetalassets.inventory.open-cluster-management.io

create, read, update, delete

read, update

read

klusterletaddonconfigs.agent.open-cluster-management.io

create, read, update, delete

read, update

read

managedclusteractions.action.open-cluster-management.io

create, read, update, delete

read, update

read

managedclusterviews.view.open-cluster-management.io

create, read, update, delete

read, update

read

managedclusterinfos.internal.open-cluster-management.io

create, read, update, delete

read, update

read

manifestworks.work.open-cluster-management.io

create, read, update, delete

read, update

読み取り

1.1.2.2. アプリケーションライフサイクル RBAC

アプリケーションの作成時に、subscription namespace が作成され、設定マップが subscription namespace に作成されます。channel namespace にもアクセスできる必要があります。サブスクリプションを適用する場合は、サブスクリプションの管理者である必要があります。アプリケーションの管理の詳細は、「サブスクリプションの作成および管理」を参照してください。

アプリケーションライフサイクルタスクを実行するには、admin ロールを持つユーザーが、アプリケーションが作成される application namespace および managed cluster namespace にアクセスできる必要があります。たとえば、namespace "N" 内でアプリケーションを作成するのに必要なアクセス権限は、 namespace "N" の admin ロールに対する namespace スコープのバインディングです。

アプリケーションライフサイクルの以下のコンソールおよび API RBAC の表を表示します。

Expand
表1.4 アプリケーションライフサイクルのコンソール RBAC の表
アクション管理編集表示

アプリケーション

create, read, update, delete

create, read, update, delete

read

チャネル

create, read, update, delete

create, read, update, delete

read

サブスクリプション

create, read, update, delete

create, read, update, delete

read

配置ルール

create, read, update, delete

create, read, update, delete

read

Expand
表1.5 アプリケーションライフサイクルの API RBAC の表
API管理編集表示

applications.app.k8s.io

create, read, update, delete

create, read, update, delete

read

channels.apps.open-cluster-management.io

create, read, update, delete

create, read, update, delete

read

deployables.apps.open-cluster-management.io

create, read, update, delete

create, read, update, delete

read

helmreleases.apps.open-cluster-management.io

create, read, update, delete

create, read, update, delete

read

placementrules.apps.open-cluster-management.io

create, read, update, delete

create, read, update, delete

read

subscriptions.apps.open-cluster-management.io

create, read, update, delete

create, read, update, delete

read

configmaps

create, read, update, delete

create, read, update, delete

read

secrets

create, read, update, delete

create, read, update, delete

read

namespace

create, read, update, delete

create, read, update, delete

read

1.1.2.3. ガバナンスライフサイクル RBAC

ユーザーは、ガバナンスライフサイクル操作を実行するには、ポリシーが作成される namespace および、ポリシーが適用される managedcluster namespace へのアクセス権が必要です。

以下の例を参照してください。

  • namespace "N" でポリシーを表示するには、以下のロールが必要です。

    • namespace "N" の view ロールに対する namespace 限定のバインディング。
  • namespace "N" でポリシーを作成し、これを managedcluster "X" に適用するには、以下のロールが必要です。

    • namespace "N" の admin ロールに対する namespace 限定のバインディング。
    • namespace "X" の admin ロールに対する namespace 限定のバインディング。

ガバナンスライフサイクルの以下のコンソールおよび API RBAC の表を表示します。

Expand
表1.6 ガバナンスライフサイクルのコンソール RBAC の表
アクション管理編集表示

ポリシー

create, read, update, delete

read, update

read

PlacementBindings

create, read, update, delete

read, update

read

PlacementRules

create, read, update, delete

read, update

read

Expand
表1.7 ガバナンスライフサイクルの API RBAC の表
API管理編集表示

policies.policy.open-cluster-management.io

create, read, update, delete

read, update

read

placementbindings.policy.open-cluster-management.io

create, read, update, delete

read, update

read

1.1.2.4. 可観測性の RBAC

マネージドクラスターの可観測性メトリクスを表示するには、ハブクラスターでそのマネージドクラスターへの 表示 アクセスが必要です。以下の可観測性機能のリストを参照してください。

  • マネージドクラスターのメトリクスへのアクセス

    ユーザーは、ハブクラスターのマネージドクラスターの view ロールに割り当てられていない場合に、マネージドクラスターメトリクスへのアクセスが拒否されます。

  • リソースの検索

Grafana で可観測性データを表示するには、マネージドクラスターの同じ namespace に RoleBinding リソースが必要です。以下の RoleBinding の例を確認してください。

kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
 name: <replace-with-name-of-rolebinding>
 namespace: <replace-with-name-of-managedcluster-namespace>
subjects:
 - kind: <replace with User|Group|ServiceAccount>
   apiGroup: rbac.authorization.k8s.io
   name: <replace with name of User|Group|ServiceAccount>
roleRef:
 apiGroup: rbac.authorization.k8s.io
 kind: ClusterRole
 name: view
Copy to Clipboard Toggle word wrap

詳細は、「 Role binding ポリシー 」を参照してください。「 可観測性のカスタマイズによる可観測性の 設定」を参照してください。

  • Visual Web ターミナルの使用 (マネージドクラスターにアクセスできる場合)

MultiClusterObservability カスタムリソースを作成し、更新し、削除します。以下の RBAC の表を確認してください。

Expand
表1.8 可観測性の API RBAC の表

API

管理

編集

表示

multiclusterobservabilities.observability.open-cluster-management.io

作成、読み取り、更新、および削除

-

-

クラスターのセキュリティー保護に関する詳細の確認を続行するには、「セキュリティー」を参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat