この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

クラスタおよびプロジェクトのロール

クラスタとプロジェクトのロールは、クラスタまたはプロジェクト内のユーザーの権限を定義します。

これらのロールを管理するには、

  1. *☰ > ユーザーと認証*をクリックします。

  2. 左側のナビゲーションバーで、*ロールテンプレート*をクリックし、*クラスタ*または*プロジェクト/ネームスペース*タブに移動します。

メンバーシップとロールの割り当て

非管理者ユーザーがアクセスできるプロジェクトとクラスタは、_メンバーシップ_によって決まります。メンバーシップは、特定のクラスタまたはプロジェクトにアクセスできるユーザーのリストであり、そのクラスタまたはプロジェクトで割り当てられたロールに基づいています。各クラスタとプロジェクトには、適切な権限を持つユーザーがメンバーシップを管理するために使用できるタブが含まれています。

クラスタまたはプロジェクトを作成すると、Rancherは自動的にあなたをその`Owner`として割り当てます。`Owner`ロールが割り当てられたユーザーは、クラスタまたはプロジェクト内の他のユーザーにロールを割り当てることができます。

非管理者ユーザーは、デフォルトでは既存のプロジェクト/クラスタにアクセスできません。適切な権限を持つユーザー(通常は所有者)は、プロジェクトとクラスタのメンバーシップを明示的に割り当てる必要があります。

クラスタ役割

_クラスタロール_は、ユーザーに割り当てることができるロールであり、クラスタへのアクセスを付与します。主なクラスタロールは2つあります: OwnerMember.

  • クラスタ所有者:

    これらのユーザーはクラスタとそのすべてのリソースに対して完全な制御を持っています。

  • クラスタメンバー:

    これらのユーザーはほとんどのクラスタレベルのリソースを表示し、新しいプロジェクトを作成できます。

    クラスタメンバーがプロジェクトを作成すると、そのユーザーは自動的に プロジェクト所有者の権限 を割り当てられます。これにより、プロジェクトとその関連リソースに対する包括的な制御が与えられ、ワークロードをデプロイするための権限も含まれます。強制された ポッドセキュリティ基準 (PSS) およびポッドセキュリティアドミッション (PSA) がない場合、クラスタメンバーはクラスタ内で特権コンテナを実行できます。

カスタムクラスタロール

Rancherでは、標準ユーザーに対して通常の Owner または Member の役割の代わりに カスタムクラスタロール を割り当てることができます。これらの役割は、ビルトインのカスタムクラスタロールまたはRancher管理者によって定義された役割のいずれかです。これらは、クラスタ内の標準ユーザーに対して狭いまたは専門的なアクセスを定義するのに便利です。ビルトインのカスタムクラスタロールのリストについては、以下の表を参照してください。

クラスタロールリファレンス

以下の表には、利用可能な各ビルトインカスタムクラスタロールと、そのアクセスレベルがデフォルトのクラスタレベルの権限 Cluster Owner および Cluster Member に含まれているかどうかが示されています。

ビルトインクラスタロール 所有者 メンバー

プロジェクトの作成

クラスタバックアップの管理

クラスタカタログの管理

クラスタメンバーの管理

ノードの管理 (下の表を参照)

ストレージの管理

すべてのプロジェクトの表示

クラスタカタログの表示

クラスタメンバーの表示

ノードの表示

ノードの権限の管理

次の表は、RKEおよびRKE2における`Manage Nodes`ロールの利用可能な権限を示しています。

ノードの権限の管理 RKE RKE2

SSHアクセス

ノードの削除

クラスタのスケールアップとスケールダウン

*

RKE2では、クラスタをスケールアップおよびスケールダウンするには、クラスタを編集する権限が必要です。

各クラスタロールがKubernetesリソースにアクセスする方法の詳細は、Rancher UIで確認できます:

  1. 左上隅で、*☰ > ユーザーと認証*をクリックします。

  2. 左側のナビゲーションバーで、*ロールテンプレート*をクリックします。

  3. *クラスタ*タブをクリックします。

  4. 個々のロールの名前をクリックします。この表は、ロールによって許可されているすべての操作とリソースを示しています。

Rancherによって作成されたデフォルトロールに関連するリソースを表示する際、1行の項目に複数のKubernetes APIリソースがある場合、そのリソースには`(Custom)`が付加されます。これはカスタムリソースではなく、単に1つのリソースとして複数のKubernetes APIリソースが存在することを示しています。

クラスタメンバーにカスタムクラスタロールを付与する

管理者がカスタムクラスタロールを設定した後、クラスタの所有者と管理者は、そのロールをクラスタメンバーに割り当てることができます。

新しいクラスタメンバーにカスタムクラスタロールを割り当てるには、Rancher UI を使用できます。既存のメンバーの権限を変更するには、Rancher APIビュー を使用する必要があります。

新しいクラスタメンバーにロールを割り当てるには、

  1. *☰ > クラスター管理*をクリックします。

  2. ロールをメンバーに割り当てたいクラスタに移動し、*Explore*をクリックします。

  3. menu:クラスタ[クラスタメンバー]をクリックします。

  4. [追加] をクリックします。

  5. *クラスタ権限*セクションで、メンバーに割り当てるべきカスタムクラスタロールを選択します。

  6. 作成]をクリックします。

*結果:*メンバーには割り当てられたロールがあります。

既存のクラスタメンバーに任意のカスタムクラスタロールを割り当てるには、

  1. *☰ > ユーザーと認証*をクリックします。

  2. ロールを付与したいメンバーに移動します。*⋮ > 設定を編集*をクリックします。

  3. カスタム ロールを追加した場合、それらは*カスタム*セクションに表示されます。メンバーに割り当てたいロールを選択します。

  4. 保存]をクリックします。

*結果:*メンバーには割り当てられたロールがあります。

プロジェクト役割

_プロジェクトロール_は、ユーザーにプロジェクトへのアクセスを付与するために使用できるロールです。主なプロジェクトロールは、Owner, Member, および`Read Only`の3つです。

  • プロジェクト所有者:

    これらのユーザーは、プロジェクトおよびそのすべてのリソースに対して完全な制御を持っています。

  • プロジェクトメンバー:

    これらのユーザーは、名前空間やワークロードなどのプロジェクトスコープのリソースを管理できますが、他のプロジェクト メンバーを管理することはできません。

デフォルトでは、`project-member`のRancherロールは`Kubernetes-edit`ロールを継承し、`project-owner`ロールは`Kubernetes-admin`ロールを継承します。そのため、`project-member`および`project-owner`ロールはネームスペースの管理を許可し、ネームスペースの作成および削除が可能です。

  • 読み込み専用:

    これらのユーザーはプロジェクト内のすべてを表示できますが、何も作成、更新、または削除することはできません。

プロジェクトに`Owner`または`Member`ロールが割り当てられたユーザーは、自動的に`namespace creation`ロールを継承します。ただし、このロールは Kubernetes ClusterRoleであり、その範囲はクラスタ内のすべてのプロジェクトに及びます。したがって、プロジェクトに明示的に`owner`または`member`ロールが割り当てられたユーザーは、`Read Only`ロールのみが割り当てられている他のプロジェクトでネームスペースを作成できます。

カスタムプロジェクトロール

Rancherでは、標準ユーザーに対して通常の`Owner`、Member、または`Read Only`ロールの代わりに_カスタムプロジェクトロール_を割り当てることができます。これらのロールは、ビルトインのカスタムプロジェクトロールまたはRancher管理者によって定義されたロールのいずれかです。これらは、プロジェクト内の標準ユーザーに対して狭いまたは専門的なアクセスを定義するのに便利です。ビルトインのカスタムプロジェクトロールのリストについては、以下の表を参照してください。

プロジェクトロールリファレンス

以下の表は、Rancherで利用可能な各ビルトインカスタムプロジェクトロールと、それが`Owner`、Member、または`Read Only`ロールによっても付与されるかどうかを示しています。

ビルトインプロジェクトロール 所有者 メンバー 読み込み専用

プロジェクトメンバーの管理

ネームスペースの作成

設定マップの管理

Ingressの管理

プロジェクトカタログの管理

シークレットの管理

サービスアカウントの管理

サービスを管理する

ボリュームの管理

ワークロードの管理

シークレットの表示

設定マップの表示

Ingressの表示

プロジェクトメンバーの表示

プロジェクトカタログの表示

サービスアカウントの表示

サービスの表示

ボリュームの表示

ワークロードの表示

メモ:
  • 上記に示した各プロジェクトロールは、OwnerMember、および`Read Only`を含み、さまざまなリソースへのアクセスを付与する複数のルールで構成されています。グローバル > セキュリティ > ロールのページで、ロールとそのルールを表示できます。

  • Rancherによって作成されたデフォルトロールに関連するリソースを表示する際、1行の項目に複数のKubernetes APIリソースがある場合、そのリソースには`(Custom)`が付加されます。これはカスタムリソースではなく、単に1つのリソースとして複数のKubernetes APIリソースが存在することを示しています。

  • `Manage Project Members`ロールは、プロジェクトオーナーがプロジェクト*と*のメンバーを管理し、プロジェクトリソースへのアクセスに関係なく、任意のプロジェクトスコープのロールを付与できることを許可します。このロールを個別に割り当てる際は注意してください。

カスタムロールの定義

前述のように、カスタムロールはクラスターまたはプロジェクトレベルで使用するために定義できます。コンテキストフィールドは、ロールがクラスターのメンバーページ、プロジェクトメンバーページ、またはその両方に表示されるかどうかを定義します。

カスタムロールを定義する際には、特定のリソースへのアクセスを付与するか、カスタムロールが継承すべきロールを指定できます。カスタムロールは、特定の権限と継承されたロールの組み合わせで構成できます。すべての権限は加算されます。これは、特定のリソースに対して狭い権限を*定義しても*、カスタムロールが継承しているロールで定義された広い権限を上書きしないことを意味します。

デフォルトのクラスタおよびプロジェクトロール

デフォルトでは、標準ユーザーが新しいクラスタまたはプロジェクトを作成すると、自動的に所有権ロールが割り当てられます:クラスタ所有者またはプロジェクト所有者のいずれかです。ただし、一部の組織では、これらのロールが管理アクセスを過剰に拡張する場合があります。このユースケースでは、デフォルトのロールを、個別のロールのセットやカスタムロールなど、より制限的なものに変更できます。

デフォルトのクラスタ/プロジェクトロールを変更する方法は2つあります:

  • カスタムロールを割り当てるカスタムロールをあなたのクラスタまたはプロジェクトのために作成し、その後カスタムロールをデフォルトとして設定します。

  • 個別のロールを割り当てる:複数のクラスタ/プロジェクトロールをデフォルトとして設定し、作成するユーザーに割り当てます。

    例えば、他のロールを継承するロール(`cluster owner`のような)を割り当てる代わりに、個別のロールの組み合わせ(`manage nodes`や`manage storage`のような)を選択できます。

  • デフォルトのロールをロックすることはできますが、システムは依然としてクラスタ/プロジェクトを作成するユーザーにロールを割り当てます。

  • クラスタ/プロジェクトを作成するユーザーのみがそのロールを継承します。その後、クラスタ/プロジェクトのメンバーシップに追加されたユーザーは、明示的にロールを割り当てる必要があります。

クラスタおよびプロジェクト作成者のためのデフォルトロールの設定

作成するユーザーに自動的に割り当てられるクラスタまたはプロジェクトロールを変更できます。

  1. 左上隅で、*☰ > ユーザーと認証*をクリックします。

  2. 左側のナビゲーションバーで、*ロールテンプレート*をクリックします。

  3. *クラスタ*または*プロジェクト/ネームスペース*タブをクリックします。

  4. デフォルトとして使用したいカスタムまたは個別のロールを見つけます。次に、*⋮ > 設定を編集*を選択して役割を編集します。

  5. *クラスター作成者デフォルト*または*プロジェクト作成者デフォルト*セクションで、役割をデフォルトとして有効にします。

  6. 保存]をクリックします。

*結果:*デフォルトの役割は、あなたの変更に基づいて設定されています。クラスター/プロジェクト作成者に割り当てられた役割は、*クラスター/プロジェクト作成者デフォルト*列にチェックが表示されます。

デフォルトの役割を削除する場合は、権限を編集し、デフォルトの役割オプションから*いいえ*を選択します。

クラスター会員資格の取り消し動作

標準ユーザーのクラスター会員資格を取り消すと、そのユーザーはクラスター_と_クラスター内のプロジェクトの両方に明示的に割り当てられた場合、その標準ユーザーはクラスターの役割を失いますが、プロジェクトの役割は保持します。言い換えれば、ユーザーのクラスターおよびそのノードへのアクセス権を取り消したにもかかわらず、標準ユーザーは依然として:

ユーザーのクラスター内のアクセスを完全に取り消したい場合は、クラスターとプロジェクトの両方のメンバーシップを取り消してください。

外部`RoleTemplate`の動作

Rancher v2.9.0以降、外部`RoleTemplate`オブジェクトは、バックエンドの`ClusterRole`がローカルクラスタに存在するか、設定で`ExternalRules`が設定されている場合にのみ作成できます。

文脈として、バックエンドの`ClusterRole`はクラスターのルールと特権を保持し、`ClusterRoleTemplateBinding/ProjectRoleTemplateBinding`によって参照されるそれぞれのクラスター内の`RoleTemplate`で使用される同じ`metadata.name`を共有します。さらに、`escalate`の権限が`RoleTemplates`に必要であり、`ExternalRules`を持つ外部`RoleTemplates`を作成する必要があります。