|
この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。 |
クラスタおよびプロジェクトのロール
クラスタとプロジェクトのロールは、クラスタまたはプロジェクト内のユーザーの権限を定義します。
これらのロールを管理するには、
-
*☰ > ユーザーと認証*をクリックします。
-
左側のナビゲーションバーで、*ロールテンプレート*をクリックし、*クラスタ*または*プロジェクト/ネームスペース*タブに移動します。
メンバーシップとロールの割り当て
非管理者ユーザーがアクセスできるプロジェクトとクラスタは、_メンバーシップ_によって決まります。メンバーシップは、特定のクラスタまたはプロジェクトにアクセスできるユーザーのリストであり、そのクラスタまたはプロジェクトで割り当てられたロールに基づいています。各クラスタとプロジェクトには、適切な権限を持つユーザーがメンバーシップを管理するために使用できるタブが含まれています。
クラスタまたはプロジェクトを作成すると、Rancherは自動的にあなたをその`Owner`として割り当てます。`Owner`ロールが割り当てられたユーザーは、クラスタまたはプロジェクト内の他のユーザーにロールを割り当てることができます。
|
非管理者ユーザーは、デフォルトでは既存のプロジェクト/クラスタにアクセスできません。適切な権限を持つユーザー(通常は所有者)は、プロジェクトとクラスタのメンバーシップを明示的に割り当てる必要があります。 |
クラスタ役割
_クラスタロール_は、ユーザーに割り当てることができるロールであり、クラスタへのアクセスを付与します。主なクラスタロールは2つあります: Owner と Member.
-
クラスタ所有者:
これらのユーザーはクラスタとそのすべてのリソースに対して完全な制御を持っています。
-
クラスタメンバー:
これらのユーザーはほとんどのクラスタレベルのリソースを表示し、新しいプロジェクトを作成できます。
クラスタメンバーがプロジェクトを作成すると、そのユーザーは自動的に プロジェクト所有者の権限 を割り当てられます。これにより、プロジェクトとその関連リソースに対する包括的な制御が与えられ、ワークロードをデプロイするための権限も含まれます。強制された ポッドセキュリティ基準 (PSS) およびポッドセキュリティアドミッション (PSA) がない場合、クラスタメンバーはクラスタ内で特権コンテナを実行できます。
カスタムクラスタロール
Rancherでは、標準ユーザーに対して通常の Owner または Member の役割の代わりに カスタムクラスタロール を割り当てることができます。これらの役割は、ビルトインのカスタムクラスタロールまたはRancher管理者によって定義された役割のいずれかです。これらは、クラスタ内の標準ユーザーに対して狭いまたは専門的なアクセスを定義するのに便利です。ビルトインのカスタムクラスタロールのリストについては、以下の表を参照してください。
クラスタロールリファレンス
以下の表には、利用可能な各ビルトインカスタムクラスタロールと、そのアクセスレベルがデフォルトのクラスタレベルの権限 Cluster Owner および Cluster Member に含まれているかどうかが示されています。
| ビルトインクラスタロール | 所有者 | メンバー |
|---|---|---|
プロジェクトの作成 |
✓ |
✓ |
クラスタバックアップの管理 |
✓ |
|
クラスタカタログの管理 |
✓ |
|
クラスタメンバーの管理 |
✓ |
|
ノードの管理 (下の表を参照) |
✓ |
|
ストレージの管理 |
✓ |
|
すべてのプロジェクトの表示 |
✓ |
|
クラスタカタログの表示 |
✓ |
✓ |
クラスタメンバーの表示 |
✓ |
✓ |
ノードの表示 |
✓ |
✓ |
ノードの権限の管理
次の表は、RKEおよびRKE2における`Manage Nodes`ロールの利用可能な権限を示しています。
| ノードの権限の管理 | RKE | RKE2 |
|---|---|---|
SSHアクセス |
✓ |
✓ |
ノードの削除 |
✓ |
✓ |
クラスタのスケールアップとスケールダウン |
✓ |
* |
RKE2では、クラスタをスケールアップおよびスケールダウンするには、クラスタを編集する権限が必要です。
各クラスタロールがKubernetesリソースにアクセスする方法の詳細は、Rancher UIで確認できます:
-
左上隅で、*☰ > ユーザーと認証*をクリックします。
-
左側のナビゲーションバーで、*ロールテンプレート*をクリックします。
-
*クラスタ*タブをクリックします。
-
個々のロールの名前をクリックします。この表は、ロールによって許可されているすべての操作とリソースを示しています。
|
Rancherによって作成されたデフォルトロールに関連するリソースを表示する際、1行の項目に複数のKubernetes APIリソースがある場合、そのリソースには`(Custom)`が付加されます。これはカスタムリソースではなく、単に1つのリソースとして複数のKubernetes APIリソースが存在することを示しています。 |
クラスタメンバーにカスタムクラスタロールを付与する
管理者がカスタムクラスタロールを設定した後、クラスタの所有者と管理者は、そのロールをクラスタメンバーに割り当てることができます。
新しいクラスタメンバーにカスタムクラスタロールを割り当てるには、Rancher UI を使用できます。既存のメンバーの権限を変更するには、Rancher APIビュー を使用する必要があります。
新しいクラスタメンバーにロールを割り当てるには、
-
*☰ > クラスター管理*をクリックします。
-
ロールをメンバーに割り当てたいクラスタに移動し、*Explore*をクリックします。
-
menu:クラスタ[クラスタメンバー]をクリックします。
-
[追加] をクリックします。
-
*クラスタ権限*セクションで、メンバーに割り当てるべきカスタムクラスタロールを選択します。
-
[作成]をクリックします。
*結果:*メンバーには割り当てられたロールがあります。
既存のクラスタメンバーに任意のカスタムクラスタロールを割り当てるには、
-
*☰ > ユーザーと認証*をクリックします。
-
ロールを付与したいメンバーに移動します。*⋮ > 設定を編集*をクリックします。
-
カスタム ロールを追加した場合、それらは*カスタム*セクションに表示されます。メンバーに割り当てたいロールを選択します。
-
[保存]をクリックします。
*結果:*メンバーには割り当てられたロールがあります。
プロジェクト役割
_プロジェクトロール_は、ユーザーにプロジェクトへのアクセスを付与するために使用できるロールです。主なプロジェクトロールは、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`ロールによっても付与されるかどうかを示しています。
|
メモ:
|
カスタムロールの定義
前述のように、カスタムロールはクラスターまたはプロジェクトレベルで使用するために定義できます。コンテキストフィールドは、ロールがクラスターのメンバーページ、プロジェクトメンバーページ、またはその両方に表示されるかどうかを定義します。
カスタムロールを定義する際には、特定のリソースへのアクセスを付与するか、カスタムロールが継承すべきロールを指定できます。カスタムロールは、特定の権限と継承されたロールの組み合わせで構成できます。すべての権限は加算されます。これは、特定のリソースに対して狭い権限を*定義しても*、カスタムロールが継承しているロールで定義された広い権限を上書きしないことを意味します。
デフォルトのクラスタおよびプロジェクトロール
デフォルトでは、標準ユーザーが新しいクラスタまたはプロジェクトを作成すると、自動的に所有権ロールが割り当てられます:クラスタ所有者またはプロジェクト所有者のいずれかです。ただし、一部の組織では、これらのロールが管理アクセスを過剰に拡張する場合があります。このユースケースでは、デフォルトのロールを、個別のロールのセットやカスタムロールなど、より制限的なものに変更できます。
デフォルトのクラスタ/プロジェクトロールを変更する方法は2つあります:
|
クラスタおよびプロジェクト作成者のためのデフォルトロールの設定
作成するユーザーに自動的に割り当てられるクラスタまたはプロジェクトロールを変更できます。
-
左上隅で、*☰ > ユーザーと認証*をクリックします。
-
左側のナビゲーションバーで、*ロールテンプレート*をクリックします。
-
*クラスタ*または*プロジェクト/ネームスペース*タブをクリックします。
-
デフォルトとして使用したいカスタムまたは個別のロールを見つけます。次に、*⋮ > 設定を編集*を選択して役割を編集します。
-
*クラスター作成者デフォルト*または*プロジェクト作成者デフォルト*セクションで、役割をデフォルトとして有効にします。
-
[保存]をクリックします。
*結果:*デフォルトの役割は、あなたの変更に基づいて設定されています。クラスター/プロジェクト作成者に割り当てられた役割は、*クラスター/プロジェクト作成者デフォルト*列にチェックが表示されます。
デフォルトの役割を削除する場合は、権限を編集し、デフォルトの役割オプションから*いいえ*を選択します。
クラスター会員資格の取り消し動作
標準ユーザーのクラスター会員資格を取り消すと、そのユーザーはクラスター_と_クラスター内のプロジェクトの両方に明示的に割り当てられた場合、その標準ユーザーはクラスターの役割を失いますが、プロジェクトの役割は保持します。言い換えれば、ユーザーのクラスターおよびそのノードへのアクセス権を取り消したにもかかわらず、標準ユーザーは依然として:
-
メンバーシップを持つプロジェクトにアクセスできます。
-
割り当てられた個別のプロジェクトロールを行使できます。
ユーザーのクラスター内のアクセスを完全に取り消したい場合は、クラスターとプロジェクトの両方のメンバーシップを取り消してください。
外部`RoleTemplate`の動作
Rancher v2.9.0以降、外部`RoleTemplate`オブジェクトは、バックエンドの`ClusterRole`がローカルクラスタに存在するか、設定で`ExternalRules`が設定されている場合にのみ作成できます。
文脈として、バックエンドの`ClusterRole`はクラスターのルールと特権を保持し、`ClusterRoleTemplateBinding/ProjectRoleTemplateBinding`によって参照されるそれぞれのクラスター内の`RoleTemplate`で使用される同じ`metadata.name`を共有します。さらに、`escalate`の権限が`RoleTemplates`に必要であり、`ExternalRules`を持つ外部`RoleTemplates`を作成する必要があります。