2.5.4. ユーザー提供のサービスアカウントに必要な Google Cloud 権限
クラスターをインストールする場合は、コンピュートノードとコントロールプレーンノードに独自のサービスアカウントが必要です。デフォルトでは、インストールプログラムはコントロールプレーンとコンピュートノードのサービスアカウントを作成します。インストールプログラムが使用するサービスアカウントには、Google Cloud でのサービスアカウントの作成 セクションに記載されているロールと権限に加えて、resourcemanager.projects.getIamPolicy 権限と resourcemanager.projects.setIamPolicy 権限が必要です。これらの権限は、ホストプロジェクトのサービスアカウントに適用する必要があります。このアプローチが組織のセキュリティー要件を満たさない場合は、install-config.yaml ファイルでコントロールプレーンまたはコンピュートノードのサービスアカウントのメールアドレスを指定できます。詳細は、Google Cloud のインストール設定パラメーター ページを参照してください。共有 VPC へのインストール中にコントロールプレーンノードのサービスアカウントを提供する場合は、そのサービスアカウントにホストプロジェクト内の roles/compute.networkUser ロールを付与する必要があります。コントロールプレーンサービスアカウントを指定したときにインストールプログラムによってファイアウォールルールが自動的に作成されるようにするには、そのサービスアカウントにホストプロジェクト内の roles/compute.networkAdmin ロールおよび roles/compute.securityAdmin ロールを付与する必要があります。roles/compute.networkUser ロールのみを指定する場合は、ファイアウォールルールを手動で作成する必要があります。
コントロールプレーンとコンピュートノードのユーザー提供のサービスアカウントには、それぞれ次のロールが必要です。
例2.23 コントロールプレーンノードに必要なロール
-
roles/compute.instanceAdmin -
roles/compute.networkAdmin -
roles/compute.securityAdmin -
roles/storage.admin
例2.24 コンピュートノードに必要なロール
-
roles/compute.viewer -
roles/storage.admin -
roles/artifactregistry.reader