AWS IAM ロールについて

このページでは、GKE on AWS の AWS Identity and Access Management(IAM)の権限とロールを Google Cloud で管理する方法について説明します。

GKE on AWS は、AWS API を使用して、GKE on AWS コンポーネントとワークロードの両方に対して、EC2 インスタンス、自動スケーリング グループ、ロードバランサなどのリソースを作成します。これらのリソースを作成するには、Google Cloud に AWS IAM 権限を付与する必要があります。

GKE on AWS が AWS API にアクセスする仕組み

GKE on AWS は、AWS の ID 連携を使用して AWS アカウントへのアクセスをきめ細かく管理します。GKE on AWS は、クラスタに対してアクションを実行する必要がある場合、有効期間が短いトークンを AWS にリクエストします。GKE Multi-Cloud API ロールは、このトークンを使用して AWS に対する認証を行います。

サービス エージェント

AWS アカウントでクラスタを作成、更新、削除、管理するためのアクセス権を Google Cloud に付与するため、GKE on AWS は Google Cloud プロジェクトにサービス エージェントを作成します。サービス エージェントは、GKE Multi-Cloud API AWS IAM ロールを使用する Google 管理のサービス アカウントです。GKE クラスタを管理する各 Google Cloud プロジェクトで、サービス エージェントの AWS IAM ロールを作成する必要があります。サービス エージェントはメールアドレス service-PROJECT_NUMBER@gcp-sa-gkemulticloud.iam.gserviceaccount.com を使用します。Google Cloud IAM 権限の詳細については、Anthos Multi-Cloud Service エージェントをご覧ください。

GKE on AWS の AWS IAM 権限

デフォルトの AWS IAM ロールを使用するロールを作成するか、組織の要件を満たす独自のカスタム AWS IAM ポリシーを作成できます。

デフォルト ポリシーを使用する

AWS IAM ポリシーは権限のコレクションです。クラスタを作成、管理する権限を付与するには、まず、以下のロールの AWS IAM ポリシーを作成する必要があります。

GKE Multi-Cloud API サービス エージェントのロール
GKE Multi-Cloud API では、この AWS IAM ロールを使用して、AWS API でリソースを管理します。このロールは、サービス エージェントという Google 管理のサービス アカウントで使用されます。
コントロール プレーンの AWS IAM ロール
クラスタ コントロール プレーンは、このロールを使用してノードプールを制御します。
ノードプールの AWS IAM ロール
コントロール プレーンは、このロールを使用してノードプール VM を作成します。

GKE on AWS で推奨の AWS IAM ロールを使用してクラスタを管理するには、AWS IAM ロールを作成するをご覧ください。

カスタム IAM ポリシーを作成する

権限をさらに制限するには、推奨されるポリシーを使用する代わりに、GKE on AWS を許可するカスタム AWS IAM ポリシーを作成します。たとえば、特定のタグを持つリソースや特定の AWS VPC 内のリソースに対する権限に制限できます。

タグによるアクセス制御

AWS タグを使用すると、一部のリソースに対するアクションのみを許可するように AWS IAM ポリシーを制限できます。条件フィールドで指定されたタグを持つロールは、同じタグを持つリソースに対する操作に制限されます。これを使用すると、管理者ロールを特定のクラスタまたはノードプール内のリソースに対する操作に制限できます。

AWS IAM ポリシーを特定のタグを持つリソースにのみ適用するには、ポリシーの Condition フィールドにタグの値を指定し、クラスタとノードプールの作成時にタグ値を渡します。GKE on AWS は、リソースの作成時にこのタグを適用します。

タグの詳細については、AWS リソースのタグ付けをご覧ください。AWS ポリシーでのタグの使用方法について詳しくは、AWS リソースへのアクセスの制御をご覧ください。

特定のタグを使用してクラスタ リソースを作成する方法については、gcloud container aws clusters creategcloud container aws node-pools create のリファレンス ドキュメントをご覧ください。

各ポリシーに対して GKE on AWS で必要になる特定の権限のリストについては、AWS IAM ロールのリストをご覧ください。