2.5.3. 共有 VPC インストールに必要な Google Cloud 権限
クラスターを 共有 VPC にインストールする場合は、ホストプロジェクトとサービスプロジェクトの両方のサービスアカウントを設定する必要があります。
Manual または Mint 認証情報モードで動作する Cloud Credential Operator に対して、詳細な権限を使用できます。いずれかの認証情報モードで設定された標準インストールに必要な最小限の権限の詳細は、「installer-provisioned infrastructure に必要な Google Cloud 権限」を参照してください。
Passthrough 認証情報モードでは、詳細な権限は使用できません。必要な最小限のロールの詳細は、「必要な Google Cloud ロール」を参照してください。
共有 Virtual Private Cloud (VPC) にインストールしない場合は、この手順をスキップできます。
共有 Virtual Private Cloud (VPC) インフラストラクチャーにクラスターをインストールし、認証情報を手動で作成する場合は、Machine API Operator が使用する認証情報に、ホストプロジェクトの compute.subnetworks.use 権限を付与します。
ホストプロジェクトがサービスアカウントに以下のいずれかの設定を適用するようにしてください。なお、ファイアウォールルールを独自に管理する場合は、ファイアウォールの作成および削除に関する権限は不要です。
例2.23 ホストプロジェクトでファイアウォールを作成するために必要な権限
-
projects/<host-project>/roles/dns.networks.bindPrivateDNSZone -
roles/compute.networkAdmin -
roles/compute.securityAdmin
例2.24 ホストプロジェクトでファイアウォールを削除するために必要な権限
-
compute.firewalls.delete -
compute.networks.updatePolicy
例2.25 必要な最小限の権限
-
projects/<host-project>/roles/dns.networks.bindPrivateDNSZone -
roles/compute.networkUser
install-config.yaml ファイルでコントロールプレーンノードのサービスアカウントを指定しない場合は、ホストプロジェクトのサービスアカウントに以下の権限を付与します。install-config.yaml ファイルでコンピュートノードのサービスアカウントを指定しない場合は、クラスターを破棄するために、ホストプロジェクトのサービスアカウントに以下の権限を付与します。コントロールプレーンとコンピュートノードにサービスアカウントを提供する場合は、次の権限を付与する必要はありません。
-
resourcemanager.projects.getIamPolicy -
resourcemanager.projects.setIamPolicy
DNS ゾーンの場所として別のプロジェクトを選択する場合は、次の権限が必要です。これらの権限は、DNS ゾーンがさらに別のプロジェクトにある場合にも必要です。
例2.26 別のプロジェクトで DNS リソースをプロビジョニングするために必要な最小限の権限
-
dns.changes.create -
dns.changes.get -
dns.managedZones.create -
dns.managedZones.delete -
dns.managedZones.get -
dns.managedZones.list -
dns.managedZones.update -
dns.resourceRecordSets.create -
dns.resourceRecordSets.delete -
dns.resourceRecordSets.list