Compute Engine IAM のロール

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

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

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

始める前に

IAM とは

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

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

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

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

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

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

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

Compute 管理者のロール

名前 説明 権限
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.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.regionHealthCheckServices.get
  • compute.regionHealthCheckServices.list
  • compute.regionNotificationEndpoints.get
  • compute.regionNotificationEndpoints.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 ポリシー、その他の負荷分散リソースを管理する負荷分散チームと、残りのネットワーク リソースを管理する別のネットワーク チームが存在する場合は、このロールを負荷分散チームのグループに付与します。

  • 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.regionHealthCheckServices.*
  • compute.regionNotificationEndpoints.*
  • 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 証明書を管理するセキュリティチームと、残りのネットワーク リソースを管理するネットワーク チームが存在する場合は、このロールをネットワーク チームのグループに付与します。

  • compute.acceleratorTypes.*
  • 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.globalPublicDelegatedPrefixes.delete
  • compute.globalPublicDelegatedPrefixes.get
  • compute.globalPublicDelegatedPrefixes.list
  • compute.globalPublicDelegatedPrefixes.update
  • compute.globalPublicDelegatedPrefixes.updatePolicy
  • 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.getScreenshot
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.instances.use
  • compute.interconnectAttachments.*
  • compute.interconnectLocations.*
  • compute.interconnects.*
  • compute.machineTypes.*
  • compute.networkEndpointGroups.get
  • compute.networkEndpointGroups.list
  • compute.networkEndpointGroups.use
  • compute.networks.*
  • compute.projects.get
  • compute.publicDelegatedPrefixes.delete
  • compute.publicDelegatedPrefixes.get
  • compute.publicDelegatedPrefixes.list
  • compute.publicDelegatedPrefixes.update
  • compute.publicDelegatedPrefixes.updatePolicy
  • compute.regionBackendServices.*
  • compute.regionHealthCheckServices.*
  • compute.regionNotificationEndpoints.*
  • 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.access
  • compute.networks.get
  • compute.networks.getEffectiveFirewalls
  • compute.networks.list
  • compute.networks.listPeeringRoutes
  • 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

すべてのネットワーク リソースへの読み取り専用権限。

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

  • 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.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.getScreenshot
  • compute.instances.getSerialPortOutput
  • compute.instances.list
  • compute.instances.listReferrers
  • compute.interconnectAttachments.get
  • compute.interconnectAttachments.list
  • compute.interconnectLocations.*
  • compute.interconnects.get
  • compute.interconnects.list
  • compute.machineTypes.*
  • compute.networks.get
  • compute.networks.getEffectiveFirewalls
  • compute.networks.list
  • compute.networks.listPeeringRoutes
  • compute.projects.get
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regionHealthCheckServices.get
  • compute.regionHealthCheckServices.list
  • compute.regionNotificationEndpoints.get
  • compute.regionNotificationEndpoints.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

Compute 組織セキュリティ ポリシー管理者のロール

名前 説明 権限
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

Compute 組織セキュリティ ポリシー ユーザーのロール

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

Compute 組織リソース管理者のロール

名前 説明 権限
roles/compute.orgSecurityResourceAdmin ベータ版 組織またはフォルダへの Compute Engine セキュリティ ポリシーの関連付けのすべてを管理できる権限。
  • compute.globalOperations.get
  • compute.globalOperations.getIamPolicy
  • compute.globalOperations.list
  • compute.globalOperations.setIamPolicy
  • compute.organizations.listAssociations
  • compute.organizations.setSecurityPolicy
  • 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 Login のロール

名前 説明 権限
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 Login の外部ユーザーのロール

名前 説明 権限
roles/compute.osLoginExternalUser

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

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

  • 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 パブリック IP 管理者のロール

名前 説明 権限
roles/compute.publicIpAdmin アルファ版 Compute Engine のパブリック IP アドレス管理を完全に制御できる権限。
  • compute.addresses.*
  • compute.globalAddresses.*
  • compute.globalPublicDelegatedPrefixes.*
  • compute.publicAdvertisedPrefixes.*
  • compute.publicDelegatedPrefixes.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Compute セキュリティ管理者のロール

名前 説明 権限
roles/compute.securityAdmin

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

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

  • compute.firewalls.*
  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.instances.getEffectiveFirewalls
  • compute.instances.setShieldedInstanceIntegrityPolicy
  • compute.instances.setShieldedVmIntegrityPolicy
  • compute.instances.updateShieldedInstanceConfig
  • compute.instances.updateShieldedVmConfig
  • compute.networks.get
  • compute.networks.getEffectiveFirewalls
  • 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

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

たとえば、プロジェクトのイメージを管理するユーザーがいて、そのユーザーにはプロジェクトの編集者のロールを与えたくない場合は、プロジェクトで使用するそのユーザーのアカウントにこのロールを付与します。

  • 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.globalPublicDelegatedPrefixes.get
  • compute.globalPublicDelegatedPrefixes.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.getEffectiveFirewalls
  • compute.instances.getGuestAttributes
  • compute.instances.getIamPolicy
  • compute.instances.getScreenshot
  • 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.getEffectiveFirewalls
  • compute.networks.list
  • compute.networks.listPeeringRoutes
  • compute.nodeGroups.get
  • compute.nodeGroups.getIamPolicy
  • compute.nodeGroups.list
  • compute.nodeTemplates.get
  • compute.nodeTemplates.getIamPolicy
  • compute.nodeTemplates.list
  • compute.nodeTypes.*
  • compute.organizations.listAssociations
  • compute.projects.get
  • compute.publicAdvertisedPrefixes.get
  • compute.publicAdvertisedPrefixes.list
  • compute.publicDelegatedPrefixes.get
  • compute.publicDelegatedPrefixes.list
  • compute.regionBackendServices.get
  • compute.regionBackendServices.list
  • compute.regionHealthCheckServices.get
  • compute.regionHealthCheckServices.list
  • compute.regionNotificationEndpoints.get
  • compute.regionNotificationEndpoints.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 ネットワーク ユーザーのロール(roles/compute.networkUser)を付与し、共有 VPC ホスト プロジェクトのオーナーはプロジェクト自体を制御します。単一のプリンシパル(個人またはグループ)が両方のロールを果たすことができれば、プロジェクトの管理が容易になります。

  • compute.globalOperations.get
  • compute.globalOperations.list
  • compute.organizations.administerXpn
  • compute.organizations.disableXpnHost
  • compute.organizations.disableXpnResource
  • compute.organizations.enableXpnHost
  • compute.organizations.enableXpnResource
  • compute.projects.get
  • compute.subnetworks.getIamPolicy
  • compute.subnetworks.setIamPolicy
  • resourcemanager.organizations.get
  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.list

割り当て管理者のロール

名前 説明 権限
roles/osconfig.assignmentAdmin ベータ版 割り当てに対する完全な管理者アクセス権
  • resourcemanager.projects.get
  • resourcemanager.projects.list

割り当て編集者のロール

名前 説明 権限
roles/osconfig.assignmentEditor ベータ版 割り当てリソースの編集者
  • resourcemanager.projects.get
  • resourcemanager.projects.list

割り当て閲覧者のロール

名前 説明 権限
roles/osconfig.assignmentViewer ベータ版 割り当てリソースの閲覧者
  • resourcemanager.projects.get
  • resourcemanager.projects.list

GuestPolicy 管理者のロール

名前 説明 権限
roles/osconfig.guestPolicyAdmin ベータ版 GuestPolicy に対する完全な管理者アクセス権
  • osconfig.guestPolicies.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

GuestPolicy 編集者のロール

名前 説明 権限
roles/osconfig.guestPolicyEditor ベータ版 GuestPolicy リソースの編集者
  • osconfig.guestPolicies.get
  • osconfig.guestPolicies.list
  • osconfig.guestPolicies.update
  • resourcemanager.projects.get
  • resourcemanager.projects.list

GuestPolicy 閲覧者のロール

名前 説明 権限
roles/osconfig.guestPolicyViewer ベータ版 GuestPolicy リソースの閲覧者
  • osconfig.guestPolicies.get
  • osconfig.guestPolicies.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

OsConfig 管理者のロール

名前 説明 権限
roles/osconfig.osConfigAdmin ベータ版 OsConfig に対する完全な管理者アクセス権
  • resourcemanager.projects.get
  • resourcemanager.projects.list

OsConfig 編集者のロール

名前 説明 権限
roles/osconfig.osConfigEditor ベータ版 OsConfig リソースの編集者
  • resourcemanager.projects.get
  • resourcemanager.projects.list

OsConfig 閲覧者のロール

名前 説明 権限
roles/osconfig.osConfigViewer ベータ版 OsConfig リソースの閲覧者
  • resourcemanager.projects.get
  • resourcemanager.projects.list

PatchDeployment 管理者のロール

名前 説明 権限
roles/osconfig.patchDeploymentAdmin ベータ版 PatchDeployment に対する完全な管理者アクセス権
  • osconfig.patchDeployments.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

PatchDeployment 閲覧者のロール

名前 説明 権限
roles/osconfig.patchDeploymentViewer ベータ版 PatchDeployment リソースの閲覧者
  • osconfig.patchDeployments.get
  • osconfig.patchDeployments.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

パッチジョブ エグゼキュータのロール

名前 説明 権限
roles/osconfig.patchJobExecutor ベータ版 パッチジョブを実行するためのアクセス権。
  • osconfig.patchJobs.*
  • resourcemanager.projects.get
  • resourcemanager.projects.list

パッチジョブ閲覧者のロール

名前 説明 権限
roles/osconfig.patchJobViewer ベータ版 パッチジョブを取得して一覧表示します。
  • osconfig.patchJobs.get
  • osconfig.patchJobs.list
  • resourcemanager.projects.get
  • 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.getOpenIdToken
  • 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.getOpenIdToken
  • iam.serviceAccounts.list

serviceAccountUser の役割

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

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

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

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

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

サービス アカウントに精通していない場合は、サービス アカウントの詳細を確認してください

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

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

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

使用する既存の鍵のペアを持っているメンバーは、自分の公開鍵をインスタンスのメタデータに手動で追加できます。インスタンスに SSH 認証鍵を追加する方法と削除する方法については、こちらをご覧ください

IAM とサービス アカウント

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

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

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

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

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

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

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

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

次のステップ