アクセス制御の概要

Google Cloud Platform(GCP)プロジェクトを作成すると、作成者がそのプロジェクトの唯一のユーザーです。デフォルトでは、作成したプロジェクトやそのリソース(Google Kubernetes Engine リソースを含む)に他のユーザーはアクセスできません。プロジェクトで他のユーザーをチームメンバーとして追加して役割を付与することで、初めてアクセス可能になります。このページでは、GKE リソースに対してアクセス制御を構成する方法について説明します。

アクセス制御のオプション

プロジェクト、クラスタ、データを保護するために使用できるアクセス制御機能として、Google Cloud ID とアクセス管理(Cloud IAM)Kubernetes の役割ベースのアクセス制御(RBAC)の 2 つがあります。

Cloud IAM は、GCP リソースの認証と承認を管理するための GCP のアクセス制御システムです。Cloud IAM を使用して、GKE リソースと Kubernetes リソースへのアクセス権をユーザーに付与します。

Kubernetes の RBAC システムは、クラスタ内の特定のリソースや操作に対して細分化された権限を付与します。

Cloud IAM

クラウド IAM は、プロジェクトや GCP リソースへのアクセスを管理するための役割を提供します。プロジェクトにユーザーを追加した後、それらのユーザーに役割を割り当てることで、プロジェクトやクラスタ内で操作を実行する権限が与えられます。基本事前定義の役割を割り当てることができます。テスト用にカスタムの役割を作成することもできます。

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

詳しくは、Cloud IAM ポリシーの作成を参照してください。

Kubernetes の RBAC

Kubernetes の RBAC では、Kubernetes のネイティブ アクセス制御 API を使用して Kubernetes のリソースと操作に対する細分化された権限を持つ役割を、クラスタレベルまたは名前空間レベルで作成できます。役割を作成した後に、ユーザーと Kubernetes サービス アカウントに役割を割り当てる役割バインディングを作成します。

Kubernetes の RBAC は、Kubernetes 内でのアクセス制御についてすでに知識があり、クラウドに依存しない方法でアクセスを管理したい場合に便利です。

詳しくは、役割ベースのアクセス制御のドキュメントを参照してください。

Cloud IAM または RBAC を使用する必要がありますか?

アクセス制御のニーズを評価する際に、次のうちどちらのタイプのアクセス制御がより適しているかを検討してください。

  • GCP の Cloud IAM を使用して、基本の役割、事前定義された役割、カスタムの役割を使ってリソースと操作に対するアクセス権を付与します。役割はプロジェクト単位とクラスタ単位で割り当てることができます。GCP、GKE、および Kubernetes の権限を一元管理できます。

  • RBAC を使用して、Kubernetes のリソースおよび操作に対する細かなアクセス権を、クラスタ単位および名前空間単位で構成します。RBAC は Kubernetes ネイティブの認証システムであるため、権限の管理が各種のクラウド環境やオンプレミス環境のクラスタ間で一貫しています。

次のステップ

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

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

Kubernetes Engine のドキュメント