アクセス制御の概要

Google Cloud Platform プロジェクトの作成時、プロジェクトのユーザーは自身だけです。デフォルトの場合、他のユーザーはプロジェクトやリソース(Google Kubernetes Engine のリソースなど)にはアクセスできません。Google Kubernetes Engine では、役割ベースのアクセス制御(RBAC)を使用して、プロジェクト内のリソースとクラスタ内のリソースへのアクセス権を管理するための複数のオプションをサポートしています。

こうしたメカニズムは機能的に重複していますが、さまざまな種類のリソースを対象としています。それぞれについて、以下のセクションで簡単に説明します。

  • Kubernetes RBAC は、Kubernetes に組み込まれており、Kubernetes クラスタ内のオブジェクトに詳細な権限を付与します。権限は、クラスタ内に ClusterRole オブジェクトまたは Role オブジェクトとして存在します。RoleBinding オブジェクトは、Kubernetes ユーザー、GCP ユーザー、GCP サービス アカウント、Google グループ(ベータ版)に役割を付与します。

    主に GKE を使用していて、クラスタ内のすべてのオブジェクトとオペレーションに対してきめ細かいアクセス許可が必要な場合は、Kubernetes RBAC が最善の選択です。

  • Cloud IAM は、クラスタを含む GCP リソース、クラスタ内のオブジェクトのタイプを管理します。権限は、GCP、G Suite、Cloud Identity 内に存在する Cloud IAM メンバーに割り当てられます。

    Cloud IAM 内の特定の Kubernetes オブジェクトに対する権限を付与するためのメカニズムはありません。たとえば、ユーザーに CustomResourceDefinition(CRD)を作成する権限を付与することはできますが、特定の CustomResourceDefinition を 1 つだけ作成する権限を付与したり、プロジェクト内の特定の名前空間や特定のクラスタにだけ作成できるように制限したりすることはできません。役割がフォルダレベルで適用される場合、Cloud IAM 役割はプロジェクト内のすべてのクラスタ、またはすべての子プロジェクト内の全クラスタに対して権限を付与します。

    複数の GCP コンポーネントを使用していて、Kubernetes 固有の詳細な権限を管理する必要がない場合は、Cloud Identity and Access Management が適しています。

Kubernetes RBAC

Kubernetes には RBAC のサポートが組み込まれているため、Kubernetes クラスタ内できめ細かい役割を作成できます。役割では、特定の Kubernetes オブジェクトや Kubernetes オブジェクト タイプにスコープを設定し、そのオブジェクトに関連して役割が付与するアクション(動詞)を定義できます。RoleBinding は Kubernetes オブジェクトでもあり、役割をユーザーに付与します。GKE では、ユーザーは以下のいずれかになります。

  • GCP ユーザー
  • GCP サービス アカウント
  • Kubernetes サービス アカウント
  • G Suite ユーザー
  • G Suite Google グループ(ベータ版)

詳細については、役割ベースのアクセス制御をご覧ください。

Cloud IAM

Cloud Identity and Access Management では、役割を定義してメンバーに割り当てることができます。役割は権限の集まりであり、メンバーに割り当てられることで、1 つ以上の GCP リソースへのアクセス権を管理できます。役割は大きく 3 つのカテゴリに分類されます。

メンバーは以下のいずれかです。

  • Google アカウント
  • サービス アカウント
  • Google グループ
  • G Suite ドメイン
  • Cloud Identity ドメイン

Cloud IAM ポリシーは、1 人以上の Google Cloud Platform メンバーに一連の権限を割り当てます。

Cloud IAM を使用して、サービス アカウントの作成と構成も行えます。サービス アカウントは、プロジェクトに関連付けられた GCP アカウントであり、自身に代わってタスクを実行できます。サービス アカウントには、人間のユーザーと同じように役割と権限が割り当てられます。

サービス アカウントは他の機能も提供します。詳しくは、Cloud IAM ポリシーの作成をご覧ください。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Kubernetes Engine のドキュメント