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

グローバルパーミッション

Users with permissions to modify accounts or resources are considered privileged users, only grant these permissions to trusted users.

_アクセス権_は、ユーザーにカスタムアクセス権を選択する際に割り当てることができる個別のアクセス権です。

グローバル権限は、特定のクラスタの範囲外におけるユーザー認可を定義します。デフォルトでは、4つのグローバル権限があります: Administrator, Standard User および User-base

  • *管理者:*これらのユーザーは、Rancherシステム全体とその中のすべてのクラスタに対して完全な制御を持っています。

  • *標準ユーザー:*これらのユーザーは新しいクラスタを作成し、それを使用することができます。標準ユーザーは、他のユーザーに自分のクラスタへの権限を割り当てることもできます。

  • *ユーザーベース:*ユーザーベースのユーザーは、ログインアクセスのみを持っています。

組み込みのグローバルパーミッションを更新または削除することはできません。

グローバル権限の割り当て

ローカルユーザーのためのグローバル権限は、外部認証を使用してRancherにログインするユーザーとは異なる方法で割り当てられます。

新しいローカルユーザーのためのグローバル権限

新しいローカルユーザーを作成する際には、*ユーザー追加*フォームを完了する際にグローバル権限を割り当てます。

新しいユーザーのデフォルト権限を見るには、

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

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

  3. *ロールテンプレート*ページには、スコープ別にグループ化されたロールのタブがあります。各テーブルには、そのスコープ内のロールがリストされています。*グローバル*タブの*新しいユーザーデフォルト*列では、新しいユーザーにデフォルトで与えられる権限がチェックマークで示されています。

外部認証を持つユーザーのためのグローバル権限

ユーザーが外部認証プロバイダーを使用して初めてRancherにログインすると、自動的に*新しいユーザーのデフォルト*グローバル権限が割り当てられます。デフォルトでは、Rancherは新しいユーザーに*標準ユーザー*権限を割り当てます。

新しいユーザーのデフォルト権限を見るには、

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

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

  3. *ロールテンプレート*ページには、スコープ別にグループ化されたロールのタブがあります。各テーブルには、そのスコープ内のロールがリストされています。各ページの*新しいユーザーのデフォルト*列には、新しいユーザーにデフォルトで与えられる権限がチェックマークで示されています。

権限は個々のユーザーに割り当てることができます。

外部認証プロバイダーがグループをサポートしている場合、グループ内の全員に同時にロールを割り当てることができます。

カスタムグローバル権限

カスタム権限を使用することは、ユーザーにRancherへの狭いまたは専門的なアクセスを提供するために便利です。

外部認証ソースからのユーザーが初めてRancherにサインインすると、自動的に一連のグローバル権限(以下、権限)が割り当てられます。デフォルトでは、ユーザーが初めてログインした後、ユーザーとして作成され、デフォルトの`user`権限が割り当てられます。標準の`user`権限は、ユーザーがログインしてクラスタを作成することを許可します。

ただし、一部の組織では、これらの権限が過剰なアクセスを提供する場合があります。ユーザーに`Administrator`または`Standard User`のデフォルトのグローバル権限を割り当てるのではなく、より制限されたカスタムグローバル権限のセットを割り当てることができます。

デフォルトの役割である管理者と標準ユーザーには、それぞれ複数のグローバル権限が組み込まれています。管理者役割にはすべてのグローバル権限が含まれ、デフォルトのユーザー役割には次の3つのグローバル権限が含まれます:クラスタの作成、カタログテンプレートの使用、ユーザーベースで、これはRancherにログインするための最小限の権限に相当します。言い換えれば、カスタムグローバル権限はモジュール化されているため、デフォルトのユーザー役割の権限を変更したい場合は、新しいデフォルトのユーザー役割に含まれるグローバル権限のサブセットを選択できます。

管理者は、複数の方法でカスタムグローバル権限を強制することができます:

ビルトインのグローバルロールの組み合わせ

Rancherは、特定の一般的なユースケースに対して細かい権限を付与するいくつかのグローバルロールを提供します。 以下の表は、各ビルトインのグローバル権限と、それがデフォルトのグローバル権限であるかどうかを示しています。AdministratorStandard User、および`User-Base`。

カスタムグローバル権限 管理者 標準ユーザ User-Base

クラスタの作成

RKEテンプレートの作成

認証の管理

カタログの管理

クラスタドライバの管理

ノードドライバの管理

Manage PodSecurityPolicy Templates

役割の管理

設定の管理

ユーザの管理

カタログテンプレートの使用

ユーザーベース(基本的なログインアクセス)

各グローバル権限に対応するKubernetesリソースの詳細については、

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

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

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

メモ:
  • 上記に示された各権限は、Rancher UIに表示されていない複数の個別の権限で構成されています。これらの権限とそれらが構成されるルールの完全なリストについては、APIを通じて`/v3/globalRoles`にアクセスしてください。

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

ビルトインのグローバルロール`Manage Users`は、ユーザーがRancher環境内で他のユーザーを作成、変更、削除することを許可します。この権限は、信頼できる環境での管理ワークフローに必要な場合がありますが、信頼できないまたは権限の低いユーザー(標準ユーザーなど)に付与すると、深刻なセキュリティリスクを引き起こし、特権の昇格を招く可能性があります。

カスタムグローバルロール

ビルトインのグローバルロールでは直接対応していないユースケースを満たすために、カスタムグローバルロールを作成できます。

UIまたは自動化(Rancher Kubernetes APIなど)を通じてカスタムグローバルロールを作成します。アップストリームロールやクラスターロールのルールと同じタイプのルールを指定できます。

関連リソースのリストはグローバルリソースを参照してください。

エスカレートおよびバインド動詞

グローバルロールに対して権限を付与する際は、Rancherが`escalate`および`bind`動詞を尊重することを考慮してください。これは Kubernetesと同様です。

これらの動詞は、グローバルロールリソースに対して付与され、ユーザーにRancherの特権昇格チェックを回避する権限を与えることができます。これにより、ユーザーが管理者になる可能性があります。これは深刻なセキュリティリスクを表すため、`bind`および`escalate`は慎重にユーザーに配布する必要があります。

`escalate`動詞は、ユーザーが現在のグローバルロールや新しいバージョンのグローバルロールに権限を持っていなくても、グローバルロールを変更し、任意の権限を追加できるようにします。

`bind`動詞は、指定されたグローバルロールに対してグローバルロールバインディングを作成できるようにします。ユーザーがグローバルロールに権限を持っていなくても可能です。

ワイルドカード動詞`は、`bind`および`escalate`動詞も含まれます。これは、ユーザーにグローバルロールに対して`を付与すると、`escalate`および`bind`の両方も付与されることを意味します。

カスタムグローバルロールの例

`test-gr`グローバルロールのみをエスカレートする権限を付与するには:

rules:
- apiGroups:
  - 'management.cattle.io'
  resources:
  - 'globalroles'
  resourceNames:
  - 'test-gr'
  verbs:
  - 'escalate'

すべてのグローバルロールをエスカレートする権限を付与するには:

rules:
- apiGroups:
  - 'management.cattle.io'
  resources:
  - 'globalroles'
  verbs:
  - 'escalate'

バインディングを作成する権限(エスカレーションチェックを回避する)を`test-gr`グローバルロールのみに付与するには:

rules:
- apiGroups:
  - 'management.cattle.io'
  resources:
  - 'globalroles'
  resourceNames:
  - 'test-gr'
  verbs:
  - 'bind'
- apiGroups:
  - 'management.cattle.io'
  resources:
  - 'globalrolebindings'
  verbs:
  - 'create'

`*`権限を付与すること(`escalate`および`bind`の両方を含む):

rules:
- apiGroups:
  - 'management.cattle.io'
  resources:
  - 'globalroles'
  verbs:
  - '*'

ダウンストリームクラスターにおけるグローバルロールの権限

GlobalRolesは、`inheritedClusterRoles`フィールドを通じてすべてのダウンストリームクラスターに1つ以上のRoleTemplateを付与できます。このフィールドの値は、存在し、Clusterの`context`を持つRoleTemplateを参照する必要があります。

このフィールドを使用することで、ユーザーはすべての現在または将来のダウンストリームクラスターに対して指定された権限を得ることができます。たとえば、次のGlobalRoleを考慮してください:

apiVersion: management.cattle.io/v3
kind: GlobalRole
displayName: All Downstream Owner
metadata:
  name: all-downstream-owner
inheritedClusterRoles:
- cluster-owner

この権限を持つユーザーは、すべてのダウンストリームクラスターのクラスターオーナーになります。新しいクラスターが追加されると、タイプに関係なく、そのユーザーはそのクラスターのオーナーにもなります。

default GlobalRolesでこのフィールドを使用すると、ユーザーが過剰な権限を得る可能性があります。

デフォルトのグローバル権限の設定

新しいユーザーのデフォルト権限を制限したい場合は、`user`権限をデフォルトの役割から削除し、代わりに複数の個別の権限をデフォルトとして割り当てることができます。逆に、他の標準権限のセットに管理権限を追加することもできます。

デフォルトの役割は、外部認証プロバイダーから追加されたユーザーにのみ割り当てられます。ローカルユーザーの場合、Rancherにユーザーを追加する際にグローバル権限を明示的に割り当てる必要があります。ユーザーを追加する際に、これらのグローバル権限をカスタマイズできます。

外部ユーザーが初回ログイン時に割り当てられるデフォルトのグローバル権限を変更するには、次の手順に従ってください:

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

  2. 左側のナビゲーションバーで、*ロールテンプレート*をクリックします。*Role Templates*ページで、*Global*タブが選択されていることを確認してください。

  3. デフォルトとして追加または削除したい権限セットを見つけてください。次に、*⋮ > 設定を編集*を選択して権限を編集します。

  4. デフォルトとして権限を追加したい場合は、*はい:新しいユーザーのデフォルト役割*を選択し、*保存*をクリックします。デフォルトの権限を削除したい場合は、権限を編集し、*いいえ*を選択します。

*結果:*デフォルトのグローバル権限は、あなたの変更に基づいて構成されています。新しいユーザーに割り当てられた権限は、*新規ユーザーのデフォルト*列にチェックマークが表示されます。

個々のユーザーのためのグローバル権限の構成

ユーザーの権限を構成するには、

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

  2. 左のナビゲーションバーで*ユーザー*をクリックします。

  3. アクセスレベルを変更したいユーザーに移動し、*⋮ > 設定を編集*をクリックします。

  4. *グローバル権限*および*ビルトイン*セクションで、ユーザーに持たせたい各権限のチェックボックスをオンにします。*ロールテンプレート*ページからロールを作成した場合、それらは*カスタム*セクションに表示され、そこから選択することもできます。

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

*結果:*ユーザーのグローバル権限が更新されました。

グループのためのグローバル権限の構成

Rancherで同じレベルのアクセスが必要な個人のグループがある場合、全体のグループに一度に権限を割り当てることで時間を節約でき、グループ内のユーザーはRancherに初めてサインインする際に適切なアクセスレベルを持つことができます。

カスタムグローバルロールをグループに割り当てた後、グループ内のユーザーがRancherにログインすると、そのカスタムグローバルロールが割り当てられます。

既存のユーザーについては、新しい権限はユーザーがRancherからログアウトして再度ログインするか、管理者がグループメンバーシップを更新するときに有効になります。

新しいユーザーについては、新しい権限はユーザーがRancherに初めてログインしたときに有効になります。このグループの新しいユーザーは、*新規ユーザーのデフォルト*グローバル権限に加えて、カスタムグローバルロールからの権限を受け取ります。デフォルトでは、*新規ユーザーのデフォルト*権限は*標準ユーザー*グローバルロールに相当しますが、デフォルトの権限は構成できます。

ユーザーが外部認証プロバイダーグループから削除されると、グループに割り当てられたカスタムグローバルロールからの権限を失います。彼らは、通常は*新規ユーザーのデフォルト*としてマークされたロールを含む、残りのロールを持ち続けます。ユーザーがログアウトすると、または管理者がグループメンバーシップを更新するときに、Rancherはグループに関連付けられた権限を削除します。

前提条件:

グループにグローバル役割を割り当てることができるのは、次の条件を満たす場合のみです。

  • xref:rancher-admin/users/authn-and-authz/authn-and-authz.adoc外部認証プロバイダーを設定しました。

  • 外部認証プロバイダーはxref:rancher-admin/users/authn-and-authz/manage-users-and-groups.adocユーザーグループをサポートしています。

  • 認証プロバイダーで少なくとも1つのユーザーグループをすでに設定しています。

グループにカスタムグローバルロールを割り当てるには、次の手順に従ってください:

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

  2. 左のナビゲーションバーで*グループ*をクリックします。

  3. カスタムグローバルロールを割り当てたいグループに移動し、*⋮ > 設定を編集*をクリックします。

  4. グローバル権限カスタム、および/または*ビルトイン*セクションで、グループが持つべき権限を選択します。

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

*結果:*カスタムグローバルロールは、グループのユーザーがRancherにログインしたときに有効になります。

グループメンバーシップを更新する

管理者がグループのグローバル権限を更新すると、変更は個々のグループメンバーに対して、Rancherからログアウトして再度ログインした後に有効になります。

変更を即座に有効にするために、管理者またはクラスターオーナーはグループメンバーシップを更新することができます。

管理者は、外部認証サービスでユーザーがグループから削除された場合にもグループメンバーシップを更新することを検討するかもしれません。その場合、更新することでRancherはユーザーがグループから削除されたことを認識します。

グループメンバーシップを更新するには、

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

  2. 左のナビゲーションバーで*ユーザー*をクリックします。

  3. *グループメンバーシップを更新する*をクリックします。

*結果:*グループメンバーの権限に対する変更は有効になります。