このページは機械翻訳したものです。

アクセス制御およびKubernetesエンジン(OKE)について

Kubernetes Engine (OKE)を使用して作成したクラスタにアクセスするために必要な権限を確認します。

Kubernetesクラスタで操作を実行するには、クラスタにアクセスするための適切な権限が必要です。

Kubernetes Engineによって作成および管理されるKubernetesクラスタ上でのほとんどの操作では、Oracle Cloud Infrastructure Identity and Access Management (IAM)はアクセス制御を提供します。クラスタにアクセスする権限は、ユーザーが属しているIAMグループ(動的グループを含む)から取得されます。グループの権限は、ポリシーによって定義されます。ポリシーは、グループのメンバーが実行できるアクションとそのコンパートメントを定義します。ユーザーは、自分がメンバーに含まれているグループに設定されたポリシーに基づいてクラスタにアクセスし、操作を実行できます。

IAMは、次のことを制御します:

  • ユーザーがクラスタを作成または削除できるかどうか
  • ユーザーがノード・プールを追加、削除または変更できるかどうか
  • ユーザーがコンパートメントまたはテナンシ内のすべてのクラスタに対して実行できるKubernetesオブジェクトの作成/削除/表示操作

クラスタの作成とデプロイメントのためのポリシー構成を参照してください。

IAMに加えて、Kubernetes RBAC Authorizerは、Kubernetes RBACロールやclusterroleを介して、特定のクラスタのユーザーに対して、追加のファイングレイン・アクセス制御を実施できます。Kubernetes RBACロールは権限のコレクションです。たとえば、ロールにはポッドの読取り権限やポッドのリスト権限が含まれる場合があります。Kubernetes RBAC clusterroleはロールと似ていますが、クラスタ内のどこでも使用できます。Kubernetes RBACロールバインディングは、ロールをユーザーまたはグループにマップし、そのネームスペース内のリソースのユーザーまたはグループにそのロールの権限を付与します。同様に、Kubernetes RBAC clusterrolebindingは、clusterroleをユーザーまたはグループにマップし、そのclusterroleの権限をクラスタ全体のユーザーまたはグループに付与します。

IAMとKubernetes RBAC Authorizerは連携して機能することで、少なくとも1人によって正常に認可されたユーザーは、リクエストされたKubernetes操作を完了できます。OCIDsを使用して、Kubernetes RBACロールバインディングおよびclusterrolebindingsをIAMユーザーおよびグループ(動的グループを含む)にマップできます。

ユーザーがクラスタで操作(ロールの作成およびクラスタ・ロールの作成操作を除く)を実行しようとすると、IAMはまず、ユーザーが属するグループ(または動的グループ)に適切で十分な権限があるかどうかを判断します。権限がある場合、操作は成功します。試行した操作に、Kubernetes RBACロールまたはclusterroleを介して付与された追加の権限も必要な場合、Kubernetes RBAC Authorizerは、ユーザーまたはグループに適切なKubernetesロールまたはclusterroleが付与されているかどうかを判断します。

通常、Kubernetesクラスタのデプロイ時に、独自のKubernetes RBACロールとclusterroleを定義して、追加のファイングレイン制御を提供します。ロール作成操作またはclusterrole作成操作を実行しようとすると、Kubernetes RBAC Authorizerは、まず、Kubernetes権限が十分かどうかを判断します。ロールまたはclusterroleを作成するには、作成しようとしている新しいロール(またはclusterrole)と同じまたはそれ以上の権限を持つ既存のKubernetes RBACロール(またはclusterrole)が割り当てられている必要があります。

デフォルトでは、ユーザーにKubernetes RBACロール(またはclusterrole)は割り当てられていません。したがって、新しいロール(またはclusterrole)を作成する前に、適切な権限を持つロール(またはclusterrole)を割り当てる必要があります。cluster-admin clusterroleを含む、このような多数のロールおよびclusterroleが、常にデフォルトで作成されます(詳細なリストは、Kubernetesのドキュメントのデフォルト・ロールおよびロール・バインディングに関する項を参照)。cluster-admin clusterroleは、基本的にスーパーユーザー権限を付与します。cluster-admin clusterroleを付与されたユーザーは、特定のクラスタ内のすべてのネームスペースで任意の操作を実行できます。

Oracle Cloud Infrastructureテナンシ管理者にはすでに十分な権限があり、cluster-admin clusterroleは必要ありません。

この記事は役に立ちましたか。