Compute Engine IAM の役割

Compute Engine には特定の Identity and Access Management(IAM)役割のセットがあります。事前定義された各役割には、一連の権限が含まれています。

プロジェクトに新しいメンバーを追加する際は、IAM ポリシーを使用して新しいメンバーに 1 つ以上の IAM の役割を割り当てることが可能です。各 IAM 役割には、メンバーに特定のリソースへのアクセスを許可する権限が含まれています。

プロジェクト レベルでポリシーを設定する方法については、IAM ドキュメントのリソースへのアクセス権の付与、変更、取り消しをご覧ください。Compute Engine リソースに対するポリシーを設定する方法については、Compute Engine リソースへのアクセスを許可するをご覧ください。Compute Engine のサービス アカウントに役割を割り当てる方法については、インスタンスのサービス アカウントの作成と有効化のドキュメントをご覧ください。権限のサブセットを含めたカスタムの役割を作成する方法については、カスタムの役割の作成と管理をご覧ください。

始める前に

IAM とは

Google Cloud Platform には Identity and Access Management(IAM)機能があり、特定の Google Cloud Platform リソースへのより細かなアクセス制御が可能になり、他のリソースへの不要なアクセスを防ぐことができます。IAM を使用すると、最小限の権限のセキュリティ原則を導入できるため、リソースに対する必要なアクセス権のみ付与できます。

IAM では、IAM ポリシーを設定して、誰(どのユーザー)に、どのリソースに対するどのアクセス権(役割)を付与するかを制御できます。IAM ポリシーは、特定の役割をプロジェクト メンバーに付与することで、その ID に特定の権限を付与します。たとえば、プロジェクトなどの特定のリソースに対し、Google アカウントに roles/compute.networkAdmin の役割を割り当てた場合、そのアカウントはプロジェクト内のネットワーク関連のリソースは制御できるようになりますが、インスタンスやディスクなどの他のリソースは管理できません。また、IAM を使用して、プロジェクト チームメンバーに付与されている GCP Console の以前の役割を管理することもできます。

事前定義された Compute Engine IAM 役割

IAM では、Compute Engine 内のすべての API メソッドで、API リクエストを行う ID がリソースの使用に必要な権限を保持していることが要求されます。権限を付与するには、プロジェクトのメンバー(ユーザー、グループ、またはサービス アカウント)に役割を付与するポリシーを設定します。

従来の役割(閲覧者、編集者、オーナー)やカスタムの役割に加え、Compute Engine であらかじめ定義されている以下の役割もプロジェクトのメンバーに割り当てることができます。

1 人のプロジェクト メンバーに、同一リソースにおける複数の役割を付与できます。たとえば、ネットワーキング チームがファイアウォール ルールも管理している場合、roles/compute.networkAdminroles/compute.securityAdmin の両方の役割をネットワーキング チームの Google グループに付与できます。

次の表に、事前定義された Compute Engine IAM 役割と、それぞれの役割に含まれる権限を記載します。各役割には、特定のタスクに適した一連の権限が含まれています。たとえば、最初の 2 つの役割はインスタンスを管理する権限を付与するものです。ネットワーク関連の役割にはネットワーク関連のリソースを管理する権限が含まれ、セキュリティ関連の役割にはファイウォールや SSL 証明書などのセキュリティ関連のリソースを管理する権限が含まれています。

コンピューティング管理者の役割

名前 説明 権限
roles/
compute.admin

Compute Engine リソースのすべてを管理する権限。

ユーザーがサービス アカウントとして実行するように構成されている仮想マシン インスタンスを管理する場合は、roles/iam.serviceAccountUser の役割も付与する必要があります。

  • compute.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute イメージ ユーザーの役割

名前 説明 権限
roles/
compute.imageUser

イメージを一覧表示し、読み取る権限(イメージに対する他の権限はありません)。プロジェクト レベルで compute.imageUser の役割が付与されると、ユーザーは、プロジェクト内のイメージの一覧を取得できます。また、プロジェクト内のイメージに基づいて、インスタンスや永続ディスクなどのリソースを作成できます。

  • compute.images.get
  • compute.images.getFromFamily
  • compute.images.list
  • compute.images.useReadOnly
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute インスタンス管理者(ベータ版)の役割

名前 説明 権限
roles/
compute.instanceAdmin

仮想マシン インスタンスを作成、変更、削除する権限。ディスクの作成、変更、削除を行う権限が含まれます。Shielded VMベータ版の設定を構成する権限も含まれます。

ユーザーがサービス アカウントとして実行するように構成されている仮想マシン インスタンスを管理する場合は、roles/iam.serviceAccountUser の役割も付与する必要があります。

たとえば、仮想マシン インスタンスのグループは管理しているが、ネットワークやセキュリティの設定の管理や、サービス アカウントとして実行するインスタンスの管理は行っていないというユーザーが社内にいる場合は、この役割をインスタンスが含まれている組織、フォルダ、プロジェクトあるいは個々のインスタンスに付与できます。

  • compute.acceleratorTypes.*
  • compute.addresses.get
  • compute.addresses.list
  • compute.addresses.use
  • compute.autoscalers.*
  • compute.diskTypes.*
  • compute.disks.create
  • compute.disks.createSnapshot
  • compute.disks.delete
  • compute.disks.get
  • compute.disks.list
  • compute.disks.resize
  • compute.disks.setLabels
  • compute.disks.update
  • compute.disks.use
  • compute.disks.useReadOnly
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.globalAddresses.use
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.images.get
  • compute.images.getFromFamily
  • compute.images.list
  • compute.images.useReadOnly
  • compute.instanceGroupManagers.*
  • compute.instanceGroups.*
  • compute.instanceTemplates.*
  • compute.instances.*
  • compute.licenses.get
  • compute.licenses.list
  • compute.machineTypes.*
  • compute.networkEndpointGroups.*
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.reservations.get
  • compute.reservations.list
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.targetPools.get
  • compute.targetPools.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute インスタンス管理者(v1)の役割

名前 説明 権限
roles/
compute.instanceAdmin.v1
Compute Engine インスタンス、インスタンス グループ、ディスク、スナップショット、イメージのすべてを管理する権限。 すべての Compute Engine ネットワーキング リソースに対する読み取りアクセス権。

この役割をユーザーにインスタンス レベルでのみ付与した場合、そのユーザーは新しいインスタンスを作成できません。

  • compute.acceleratorTypes.*
  • compute.addresses.get
  • compute.addresses.list
  • compute.addresses.use
  • compute.autoscalers.*
  • compute.backendBuckets.get
  • compute.backendBuckets.list
  • compute.backendServices.get
  • compute.backendServices.list
  • compute.diskTypes.*
  • compute.disks.*
  • compute.externalVpnGateways.get
  • compute.externalVpnGateways.list
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.get
  • compute.forwardingRules.list
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.globalAddresses.use
  • compute.globalForwardingRules.get
  • compute.globalForwardingRules.list
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.healthChecks.get
  • compute.healthChecks.list
  • compute.httpHealthChecks.get
  • compute.httpHealthChecks.list
  • compute.httpsHealthChecks.get
  • compute.httpsHealthChecks.list
  • compute.images.*
  • compute.instanceGroupManagers.*
  • compute.instanceGroups.*
  • compute.instanceTemplates.*
  • compute.instances.*
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.licenseCodes.*
  • compute.licenses.*
  • compute.machineTypes.*
  • compute.networkEndpointGroups.*
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.projects.setCommonInstanceMetadata
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.reservations.get
  • compute.reservations.list
  • compute.resourcePolicies.*
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.snapshots.*
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.get
  • compute.sslPolicies.list
  • compute.sslPolicies.listAvailableFeatures
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.targetHttpProxies.get
  • compute.targetHttpProxies.list
  • compute.targetHttpsProxies.get
  • compute.targetHttpsProxies.list
  • compute.targetInstances.get
  • compute.targetInstances.list
  • compute.targetPools.get
  • compute.targetPools.list
  • compute.targetSslProxies.get
  • compute.targetSslProxies.list
  • compute.targetTcpProxies.get
  • compute.targetTcpProxies.list
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.urlMaps.get
  • compute.urlMaps.list
  • compute.vpnGateways.get
  • compute.vpnGateways.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute ロードバランサ管理者の役割

名前 説明 権限
roles/
compute.loadBalancerAdmin
ベータ版

ロードバランサを作成、変更、削除し、リソースを関連付ける権限。

たとえば、ロードバランサ、ロードバランサの SSL 証明書、SSL ポリシー、その他のロード バランシング リソースを管理するロード バランシング チームと、その他のネットワーク リソースを管理するネットワーク チームが社内にいる場合は、ロード バランシング チームのグループに loadBalancerAdmin の役割を付与します。

  • compute.addresses.*
  • compute.backendBuckets.*
  • compute.backendServices.*
  • compute.forwardingRules.*
  • compute.globalAddresses.*
  • compute.globalForwardingRules.*
  • compute.healthChecks.*
  • compute.httpHealthChecks.*
  • compute.httpsHealthChecks.*
  • compute.instanceGroups.*
  • compute.instances.get
  • compute.instances.list
  • compute.instances.use
  • compute.networkEndpointGroups.*
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.projects.get
  • compute.regionBackendServices.*
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.use
  • compute.sslCertificates.*
  • compute.sslPolicies.*
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.targetHttpProxies.*
  • compute.targetHttpsProxies.*
  • compute.targetInstances.*
  • compute.targetPools.*
  • compute.targetSslProxies.*
  • compute.targetTcpProxies.*
  • compute.urlMaps.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute ネットワーク管理者(ベータ版)の役割

名前 説明 権限
roles/
compute.networkAdmin

ネットワーキング リソース(ファイアウォール ルールと SSL 証明書を除く)を作成、変更、削除する権限。ネットワーク管理者の役割により、ファイアウォール ルール、SSL 証明書、インスタンス(それぞれのエフェメラル IP アドレスの表示用)への読み取り専用アクセスを付与できます。ネットワーク管理者の役割で、インスタンスの作成、起動、停止、削除はできません。

たとえば、ファイアウォールと SSL 証明書を管理するセキュリティ チームと、残りのネットワーキング リソースを管理するネットワーキング チームが社内にいる場合は、ネットワーキング チームのグループに networkAdmin の役割を付与します。

  • compute.addresses.*
  • compute.autoscalers.get
  • compute.autoscalers.list
  • compute.backendBuckets.*
  • compute.backendServices.*
  • compute.externalVpnGateways.*
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.*
  • compute.globalAddresses.*
  • compute.globalForwardingRules.*
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.healthChecks.*
  • compute.httpHealthChecks.*
  • compute.httpsHealthChecks.*
  • compute.instanceGroupManagers.get
  • compute.instanceGroupManagers.list
  • compute.instanceGroupManagers.update
  • compute.instanceGroupManagers.use
  • compute.instanceGroups.get
  • compute.instanceGroups.list
  • compute.instanceGroups.update
  • compute.instanceGroups.use
  • compute.instances.get
  • compute.instances.getGuestAttributes
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.instances.use
  • compute.interconnectAttachments.*
  • compute.interconnectLocations.*
  • compute.interconnects.*
  • compute.networkEndpointGroups.get
  • compute.networkEndpointGroups.list
  • compute.networkEndpointGroups.use
  • compute.networks.*
  • compute.projects.get
  • compute.regionBackendServices.*
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.routers.*
  • compute.routes.*
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.use
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.*
  • compute.subnetworks.*
  • compute.targetHttpProxies.*
  • compute.targetHttpsProxies.*
  • compute.targetInstances.*
  • compute.targetPools.*
  • compute.targetSslProxies.*
  • compute.targetTcpProxies.*
  • compute.targetVpnGateways.*
  • compute.urlMaps.*
  • compute.vpnGateways.*
  • compute.vpnTunnels.*
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicenetworking.operations.get
  • servicenetworking.services.addPeering
  • servicenetworking.services.get
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute ネットワーク ユーザーの役割

名前 説明 権限
roles/
compute.networkUser

共有 VPC ネットワークへのアクセス権を付与します。

アクセス権を付与されたサービス オーナーは、ホスト プロジェクトに属する VPC ネットワークとサブネットを使用できます。たとえば、ネットワーク ユーザーは、ホスト プロジェクト ネットワークに属する VM インスタンスを作成できますが、ホスト プロジェクトでネットワークを削除できません。また、新しいネットワークを作成することもできません。

  • compute.addresses.createInternal
  • compute.addresses.deleteInternal
  • compute.addresses.get
  • compute.addresses.list
  • compute.addresses.useInternal
  • compute.externalVpnGateways.get
  • compute.externalVpnGateways.list
  • compute.externalVpnGateways.use
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.interconnects.use
  • compute.networks.get
  • compute.networks.list
  • compute.networks.use
  • compute.networks.useExternalIp
  • compute.projects.get
  • compute.regions.*
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.subnetworks.use
  • compute.subnetworks.useExternalIp
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.vpnGateways.get
  • compute.vpnGateways.list
  • compute.vpnGateways.use
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicenetworking.services.get
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute ネットワーク閲覧者の役割

名前 説明 権限
roles/
compute.networkViewer

すべてのネットワーク リソースに対する読み取りアクセス権。

たとえば、ネットワーク構成を検査するソフトウェアがある場合は、そのソフトウェアのサービス アカウントに networkViewer 役割を付与します。

  • compute.addresses.get
  • compute.addresses.list
  • compute.autoscalers.get
  • compute.autoscalers.list
  • compute.backendBuckets.get
  • compute.backendBuckets.list
  • compute.backendServices.get
  • compute.backendServices.list
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.get
  • compute.forwardingRules.list
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.globalForwardingRules.get
  • compute.globalForwardingRules.list
  • compute.healthChecks.get
  • compute.healthChecks.list
  • compute.httpHealthChecks.get
  • compute.httpHealthChecks.list
  • compute.httpsHealthChecks.get
  • compute.httpsHealthChecks.list
  • compute.instanceGroupManagers.get
  • compute.instanceGroupManagers.list
  • compute.instanceGroups.get
  • compute.instanceGroups.list
  • compute.instances.get
  • compute.instances.getGuestAttributes
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.networks.get
  • compute.networks.list
  • compute.projects.get
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regions.*
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.get
  • compute.sslPolicies.list
  • compute.sslPolicies.listAvailableFeatures
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.targetHttpProxies.get
  • compute.targetHttpProxies.list
  • compute.targetHttpsProxies.get
  • compute.targetHttpsProxies.list
  • compute.targetInstances.get
  • compute.targetInstances.list
  • compute.targetPools.get
  • compute.targetPools.list
  • compute.targetSslProxies.get
  • compute.targetSslProxies.list
  • compute.targetTcpProxies.get
  • compute.targetTcpProxies.list
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.urlMaps.get
  • compute.urlMaps.list
  • compute.vpnGateways.get
  • compute.vpnGateways.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • servicenetworking.services.get
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

コンピューティング組織セキュリティ ポリシー管理者の役割

名前 説明 権限
roles/
compute.orgSecurityPolicyAdmin
ベータ版
Compute Engine 組織のセキュリティ ポリシーのすべてを管理できる権限。
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.globalOperations.setIamPolicy
  • compute.projects.get
  • compute.securityPolicies.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

コンピューティング組織セキュリティ ポリシー ユーザーの役割

名前 説明 権限
roles/
compute.orgSecurityPolicyUser
ベータ版
Compute Engine セキュリティ ポリシーを表示または使用して、組織またはフォルダに関連付けます。
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.globalOperations.setIamPolicy
  • compute.projects.get
  • compute.securityPolicies.get
  • compute.securityPolicies.list
  • compute.securityPolicies.use
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

コンピューティング組織リソース管理者の役割

名前 説明 権限
roles/
compute.orgSecurityResourceAdmin
ベータ版
組織またはフォルダへの Compute Engine セキュリティ ポリシーの関連付けのすべてを管理できる権限。
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.globalOperations.setIamPolicy
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute OS 管理者ログインの役割

名前 説明 権限
roles/
compute.osAdminLogin

管理者ユーザーとして Compute Engine インスタンスにログインするアクセス権。

  • compute.instances.get
  • compute.instances.list
  • compute.instances.osAdminLogin
  • compute.instances.osLogin
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute OS ログインの役割

名前 説明 権限
roles/
compute.osLogin

標準ユーザーとして Compute Engine インスタンスにログインするアクセス権。

  • compute.instances.get
  • compute.instances.list
  • compute.instances.osLogin
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute OS ログインの外部ユーザーの役割

名前 説明 権限
roles/
compute.osLoginExternalUser

組織レベルでのみ利用できます。

この組織に関連付けられた OS ログイン情報を外部ユーザーが設定するアクセス権。この役割で、インスタンスへのアクセスは許可されません。外部ユーザーが SSH を使用してインスタンスにアクセスできるようにするには、OS ログインの役割のいずれかが付与されている必要があります。

  • compute.oslogin.*

コンピューティング パケット ミラーリング管理者の役割

名前 説明 権限
roles/
compute.packetMirroringAdmin
アルファ版
ミラーリングするリソースを指定します。
  • compute.networks.mirror
  • compute.projects.get
  • compute.subnetworks.mirror
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

コンピューティング パケット ミラーリング ユーザーの役割

名前 説明 権限
roles/
compute.packetMirroringUser
アルファ版
Compute Engine パケット ミラーリングを使用します。
  • compute.packetMirrorings.*
  • compute.projects.get
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute セキュリティ管理者の役割

名前 説明 権限
roles/
compute.securityAdmin

ファイアウォール ルールと SSL 証明書を作成、変更、削除する権限。Shielded VMベータ版の設定を構成する権限も含まれます。

たとえば、ファイアウォールと SSL 証明書を管理するセキュリティ チームと、残りのネットワーキング リソースを管理するネットワーキング チームが社内にいる場合は、セキュリティ チームのグループに securityAdmin の役割を付与します。

  • compute.firewalls.*
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.instances.setShieldedInstanceIntegrityPolicy
  • compute.instances.setShieldedVmIntegrityPolicy
  • compute.instances.updateShieldedInstanceConfig
  • compute.instances.updateShieldedVmConfig
  • compute.networks.get
  • compute.networks.list
  • compute.networks.updatePolicy
  • compute.packetMirrorings.*
  • compute.projects.get
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.routes.get
  • compute.routes.list
  • compute.securityPolicies.*
  • compute.sslCertificates.*
  • compute.sslPolicies.*
  • compute.subnetworks.get
  • compute.subnetworks.list
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute ストレージ管理者の役割

名前 説明 権限
roles/
compute.storageAdmin

ディスク、イメージ、スナップショットを作成、変更、削除する権限。

たとえば、自社のプロジェクト イメージ管理者にプロジェクトの編集者の役割を付与しない場合は、そのアカウントにプロジェクト レベルで storageAdmin 役割を付与します。

  • compute.diskTypes.*
  • compute.disks.*
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.images.*
  • compute.licenseCodes.*
  • compute.licenses.*
  • compute.projects.get
  • compute.regionOperations.get
  • compute.regionOperations.list
  • compute.regions.*
  • compute.resourcePolicies.*
  • compute.snapshots.*
  • compute.zoneOperations.get
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute 閲覧者の役割

名前 説明 権限
roles/
compute.viewer

Compute Engine リソースを取得して表示する読み取りアクセス権。そこに格納されたデータを読み取ることはできません。

たとえば、この役割を持つアカウントはプロジェクトのすべてのディスクの一覧を作成できますが、それらのディスク内のデータを読み取ることはできません。

  • compute.acceleratorTypes.*
  • compute.addresses.get
  • compute.addresses.list
  • compute.autoscalers.get
  • compute.autoscalers.list
  • compute.backendBuckets.get
  • compute.backendBuckets.list
  • compute.backendServices.get
  • compute.backendServices.list
  • compute.commitments.get
  • compute.commitments.list
  • compute.diskTypes.*
  • compute.disks.get
  • compute.disks.getIamPolicy
  • compute.disks.list
  • compute.externalVpnGateways.get
  • compute.externalVpnGateways.list
  • compute.firewalls.get
  • compute.firewalls.list
  • compute.forwardingRules.get
  • compute.forwardingRules.list
  • compute.globalAddresses.get
  • compute.globalAddresses.list
  • compute.globalForwardingRules.get
  • compute.globalForwardingRules.list
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.healthChecks.get
  • compute.healthChecks.list
  • compute.httpHealthChecks.get
  • compute.httpHealthChecks.list
  • compute.httpsHealthChecks.get
  • compute.httpsHealthChecks.list
  • compute.images.get
  • compute.images.getFromFamily
  • compute.images.getIamPolicy
  • compute.images.list
  • compute.instanceGroupManagers.get
  • compute.instanceGroupManagers.list
  • compute.instanceGroups.get
  • compute.instanceGroups.list
  • compute.instanceTemplates.get
  • compute.instanceTemplates.getIamPolicy
  • compute.instanceTemplates.list
  • compute.instances.get
  • compute.instances.getGuestAttributes
  • compute.instances.getIamPolicy
  • compute.instances.getSerialPortOutput
  • compute.instances.getShieldedInstanceIdentity
  • compute.instances.getShieldedVmIdentity
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.licenseCodes.get
  • compute.licenseCodes.getIamPolicy
  • compute.licenseCodes.list
  • compute.licenses.get
  • compute.licenses.getIamPolicy
  • compute.licenses.list
  • compute.machineTypes.*
  • compute.maintenancePolicies.get
  • compute.maintenancePolicies.getIamPolicy
  • compute.maintenancePolicies.list
  • compute.networkEndpointGroups.get
  • compute.networkEndpointGroups.getIamPolicy
  • compute.networkEndpointGroups.list
  • compute.networks.get
  • compute.networks.list
  • compute.nodeGroups.get
  • compute.nodeGroups.getIamPolicy
  • compute.nodeGroups.list
  • compute.nodeTemplates.get
  • compute.nodeTemplates.getIamPolicy
  • compute.nodeTemplates.list
  • compute.nodeTypes.*
  • compute.projects.get
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regionOperations.get
  • compute.regionOperations.getIamPolicy
  • compute.regionOperations.list
  • compute.regions.*
  • compute.reservations.get
  • compute.reservations.list
  • compute.resourcePolicies.get
  • compute.resourcePolicies.list
  • compute.routers.get
  • compute.routers.list
  • compute.routes.get
  • compute.routes.list
  • compute.securityPolicies.get
  • compute.securityPolicies.getIamPolicy
  • compute.securityPolicies.list
  • compute.snapshots.get
  • compute.snapshots.getIamPolicy
  • compute.snapshots.list
  • compute.sslCertificates.get
  • compute.sslCertificates.list
  • compute.sslPolicies.get
  • compute.sslPolicies.list
  • compute.sslPolicies.listAvailableFeatures
  • compute.subnetworks.get
  • compute.subnetworks.getIamPolicy
  • compute.subnetworks.list
  • compute.targetHttpProxies.get
  • compute.targetHttpProxies.list
  • compute.targetHttpsProxies.get
  • compute.targetHttpsProxies.list
  • compute.targetInstances.get
  • compute.targetInstances.list
  • compute.targetPools.get
  • compute.targetPools.list
  • compute.targetSslProxies.get
  • compute.targetSslProxies.list
  • compute.targetTcpProxies.get
  • compute.targetTcpProxies.list
  • compute.targetVpnGateways.get
  • compute.targetVpnGateways.list
  • compute.urlMaps.get
  • compute.urlMaps.list
  • compute.urlMaps.validate
  • compute.vpnGateways.get
  • compute.vpnGateways.list
  • compute.vpnTunnels.get
  • compute.vpnTunnels.list
  • compute.zoneOperations.get
  • compute.zoneOperations.getIamPolicy
  • compute.zoneOperations.list
  • compute.zones.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list
  • serviceusage.quotas.get
  • serviceusage.services.get
  • serviceusage.services.list

Compute Shared VPC 管理者の役割

名前 説明 権限
roles/
compute.xpnAdmin

共有 VPC ホスト プロジェクトを管理する権限。特にホスト プロジェクトを有効にし、共有 VPC サービス プロジェクトをホスト プロジェクトのネットワークに関連付ける権限。

この役割を組織に付与できるのは、組織管理者だけです。

Google Cloud では、共有 VPC ホスト プロジェクトのオーナーを共有 VPC 管理者にすることを推奨しています。共有 VPC 管理者はサービス オーナーに compute.networkUser 役割を付与し、共有 VPC ホスト プロジェクトのオーナーはプロジェクト自体を制御します。単一のプリンシパル(個人やグループ)が両方の役割を果たすことができれば、プロジェクトの管理が容易になります。

  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.organizations.*
  • compute.projects.get
  • compute.subnetworks.getIamPolicy
  • compute.subnetworks.setIamPolicy
  • resourcemanager.organizations.get
  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.list

DNS 管理者の役割

名前 説明 権限
roles/
dns.admin
すべての Cloud DNS リソースへの読み取り / 書き込みアクセス権を付与します。
  • compute.networks.get
  • compute.networks.list
  • dns.changes.*
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.*
  • dns.networks.*
  • dns.policies.create
  • dns.policies.delete
  • dns.policies.get
  • dns.policies.list
  • dns.policies.update
  • dns.projects.*
  • dns.resourceRecordSets.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

DNS ピアの役割

名前 説明 権限
roles/
dns.peer
ベータ版
DNS ピアリング ゾーンを持つターゲット ネットワークへのアクセス権
  • dns.networks.targetWithPeeringZone

DNS リーダーの役割

名前 説明 権限
roles/
dns.reader
すべての Cloud DNS リソースへの読み取り専用アクセス権を付与します。
  • compute.networks.get
  • dns.changes.get
  • dns.changes.list
  • dns.dnsKeys.*
  • dns.managedZoneOperations.*
  • dns.managedZones.get
  • dns.managedZones.list
  • dns.policies.get
  • dns.policies.list
  • dns.projects.*
  • dns.resourceRecordSets.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

サービス アカウント管理者の役割

名前 説明 権限
roles/
iam.serviceAccountAdmin
サービス アカウントを作成、管理します。
  • iam.serviceAccounts.create
  • iam.serviceAccounts.delete
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getIamPolicy
  • iam.serviceAccounts.list
  • iam.serviceAccounts.setIamPolicy
  • iam.serviceAccounts.update
  • resourcemanager.projects.get
  • resourcemanager.projects.list

サービス アカウント作成の役割

名前 説明 権限
roles/
iam.serviceAccountCreator
サービス アカウントを作成するための権限。
  • iam.serviceAccounts.create
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

サービス アカウント削除の役割

名前 説明 権限
roles/
iam.serviceAccountDeleter
サービス アカウントを削除するための権限。
  • iam.serviceAccounts.delete
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

サービス アカウント キー管理者の役割

名前 説明 権限
roles/
iam.serviceAccountKeyAdmin
サービス アカウント キーの作成と管理(ローテーション)を行います。
  • iam.serviceAccountKeys.*
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

サービス アカウント トークン作成者の役割

名前 説明 権限
roles/
iam.serviceAccountTokenCreator
サービス アカウント権限を使用できます(OAuth2 アクセス トークンを作成し、blob または JWT などに署名します)。
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.implicitDelegation
  • iam.serviceAccounts.list
  • iam.serviceAccounts.signBlob
  • iam.serviceAccounts.signJwt
  • resourcemanager.projects.get
  • resourcemanager.projects.list

サービス アカウント ユーザーの役割

名前 説明 権限
roles/
iam.serviceAccountUser
サービス アカウントとして操作を行います。
  • iam.serviceAccounts.actAs
  • iam.serviceAccounts.get
  • iam.serviceAccounts.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Workload Identity ユーザーの役割

名前 説明 権限
roles/
iam.workloadIdentityUser
GKE ワークロードのサービス アカウントを使用できます
  • iam.serviceAccounts.get
  • iam.serviceAccounts.getAccessToken
  • iam.serviceAccounts.list

serviceAccountUser の役割

roles/compute.instanceAdmin.v1roles/iam.serviceAccountUser の両方が付与されたメンバーは、サービス アカウントを使用するインスタンスを作成、管理できます。特に、roles/iam.serviceAccountUserroles/compute.instanceAdmin.v1 をまとめて付与すると、メンバーに次の権限が設定されます。

  • サービス アカウントとして実行するインスタンスの作成。
  • サービス アカウントとして実行するインスタンスへの永続ディスクの接続。
  • サービス アカウントとして実行するインスタンスへのインスタンス メタデータの設定。
  • サービス アカウントとして実行するインスタンスへの SSH を使用した接続。
  • サービス アカウントとして実行するインスタンスの再構成。

roles/iam.serviceAccountUser は、次の 2 つの方法のいずれかで付与できます。

  • [推奨] 特定のサービス アカウントに基づいてメンバーに役割を付与する。これにより、この役割が付与されたメンバーは自身が iam.serviceAccountUser となっているサービス アカウントにはアクセスできますが、iam.serviceAccountUser となっていない他のサービス アカウントにはアクセスできません。

  • プロジェクト レベルでメンバーに役割を付与する。このメンバーは、プロジェクト内のすべてのサービス アカウントにアクセスできます。今後作成されるサービス アカウントにもアクセスできます。

サービス アカウントについて理解を深めるには、サービス アカウントの詳細を確認してください

instanceAdmin としてのインスタンスへの接続

プロジェクト メンバーに roles/compute.instanceAdmin.v1 の役割が付与されると、そのメンバーは gcloudブラウザからの SSH をはじめとする標準の Google Cloud Platform ツールを使用して、仮想マシン インスタンスに接続できます。

gcloud コマンドライン ツールまたはブラウザからの SSH を使用すると、公開鍵 / 秘密鍵のペアが自動的に生成され、公開鍵がプロジェクト メタデータに追加されます。メンバーがプロジェクト メタデータを編集する権限を保有していない場合、ツールによって代わりにメンバーの公開鍵がインスタンス メタデータに追加されます。

使用する既存の鍵のペアを持っているメンバーは、自分の公開鍵をインスタンスのメタデータに手動で追加できます。 インスタンスから SSH キーを追加および削除する方法の詳細を確認してください。

IAM とサービス アカウント

新しいカスタム サービス アカウントを作成し、IAM の役割をサービス アカウントに付与して、インスタンスのアクセスを制限します。IAM の役割とカスタム サービス アカウントは、以下の目的のために使用します。

  • きめ細かい IAM の役割を使用して、Cloud Platform API に対するインスタンスのアクセスを制限する。
  • 各インスタンス、または一連のインスタンスに一意の ID を付与する。
  • デフォルトのサービス アカウントのアクセスを制限する。

サービス アカウントの詳細を確認する

マネージド インスタンス グループと IAM

マネージド インスタンス グループでは、特に自動スケーリングの対象として構成されていると、ユーザーが直接操作しなくてもリソースによって操作が行われます。マネージド インスタンス グループは、サービス アカウント ID を使用して、インスタンス グループ内のインスタンスを作成、削除、管理します。詳細については、マネージド インスタンス グループと IAM のドキュメントを参照してください。

サポートされていない操作

IAM の役割を使用して、インスタンス グループに対するローリング更新を実行するためのアクセス権を付与することはできません。

このような操作の実行権限を付与するには、より広範囲なオーナー、編集者、または閲覧者の役割を使用します。

次のステップ

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

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

Compute Engine ドキュメント