Wenn Sie ein neues Mitglied in Ihr Projekt aufnehmen, können Sie diesem Mitglied mithilfe einer Richtlinie für die Identitäts- und Zugriffsverwaltung (IAM) eine oder mehrere IAM-Rollen zuweisen. Jede IAM-Rolle enthält Berechtigungen, die dem Mitglied Zugriff auf bestimmte Ressourcen gewähren.
Compute Engine bietet eine Reihe vordefinierter IAM-Rollen. Diese werden auf dieser Seite beschrieben. Sie können auch benutzerdefinierte Rollen erstellen, die Teilmengen von Berechtigungen enthalten, die sich direkt Ihren Anforderungen zuordnen lassen.
Informationen zu den für die einzelnen Methoden erforderlichen Berechtigungen finden Sie in der Referenzdokumentation zur Compute Engine API:
Informationen zum Gewähren des Zugriffs finden Sie auf den folgenden Seiten.
- Informationen zum Festlegen von IAM-Richtlinien auf Projektebene finden Sie in der IAM-Dokumentation unter Zugriff auf Ressourcen erteilen, ändern und entziehen.
- Informationen zum Festlegen von Richtlinien für bestimmte Compute Engine-Ressourcen finden Sie unter Zugriff auf Compute Engine-Ressourcen gewähren.
- Informationen zum Zuweisen von Rollen zu einem Compute Engine-Dienstkonto finden Sie unter Dienstkonten für Instanzen erstellen und aktivieren.
Was ist IAM?
Google Cloud bietet mit der IAM, abgekürzt IAM (für Identity and Access Management), die Möglichkeit, den Zugriff auf einzelne Google Cloud-Ressourcen präzise zu steuern und unerwünschten Zugriff auf andere Ressourcen zu verhindern. Durch IAM können Sie das Prinzip der geringsten Berechtigung anwenden und somit nur den notwendigen Zugriff auf Ihre Ressourcen gewähren.
Durch das Festlegen von IAM-Richtlinien können Sie steuern, wer (Identität) welche (Rollen) Berechtigungen für welche Ressourcen hat. Anhand von IAM-Richtlinien werden einem Projektmitglied bestimmte Rollen zugewiesen, mit denen wiederum bestimmte Berechtigungen verknüpft sind. Für eine bestimmte Ressource, z. B. ein Projekt, können Sie einem Google-Konto die Rolle roles/compute.networkAdmin
zuweisen. Dieses Konto kann netzwerkbezogene Ressourcen im Projekt steuern, aber keine anderen Ressourcen wie Instanzen und Laufwerke verwalten. Mit IAM können Sie auch die Legacy-Rollen der Cloud Console verwalten, die Projektteammitgliedern gewährt wurden.
Rolle "serviceAccountUser"
Wird diese Rolle zusammen mit roles/compute.instanceAdmin.v1
erteilt, können Mitglieder durch roles/iam.serviceAccountUser
Instanzen erstellen und verwalten, für die ein Dienstkonto verwendet wird. Wenn Sie die Rollen roles/iam.serviceAccountUser
und roles/compute.instanceAdmin.v1
zusammen erteilen, erhalten die Mitglieder die folgenden Berechtigungen:
- Instanz erstellen, die als Dienstkonto ausgeführt wird.
- Nichtflüchtigen Speicher zu einer Instanz hinzufügen, die als Dienstkonto ausgeführt wird.
- Instanzmetadaten für eine Instanz festlegen, die als Dienstkonto ausgeführt wird.
- SSH verwenden, um eine Verbindung zu einer Instanz herzustellen, die als Dienstkonto ausgeführt wird.
- Instanz neu konfigurieren, sodass sie als Dienstkonto ausgeführt wird.
roles/iam.serviceAccountUser
kann auf zwei Arten zugewiesen werden:
Empfohlen. Weisen Sie einem Mitglied die Rolle für ein bestimmtes Dienstkonto zu. So erhält ein Mitglied Zugriff auf das Dienstkonto, für das er ein
iam.serviceAccountUser
ist. Der Zugriff auf andere Dienstkonten, für die das Mitglied keiniam.serviceAccountUser
ist, wird hingegen verhindert.Gewähren Sie einem Mitglied die Rolle auf Projektebene. Das Mitglied kann auf alle Dienstkonten in dem Projekt zugreifen, darunter auch Dienstkonten, die erst zukünftig erstellt werden.
Weitere Informationen zu Dienstkonten.
Berechtigung für Google Cloud Console
Wenn Sie über die Google Cloud Console auf Compute Engine-Ressourcen zugreifen möchten, müssen Sie eine Rolle haben, die die folgende Berechtigung für das Projekt umfasst:
compute.projects.get
Als "instanceAdmin" eine Verbindung zu einer Instanz herstellen
Nachdem Sie einem Projektmitglied die Rolle roles/compute.instanceAdmin.v1
zugewiesen haben, kann es über standardmäßige Google Cloud-Tools wie die gcloud CLI oder SSH über den Browser Verbindungen zu VM-Instanzen herstellen.
Wenn ein Mitglied die gcloud CLI oder SSH über den Browser verwendet, generieren die Tools automatisch ein Paar aus öffentlichem und privatem Schlüssel und fügen den öffentlichen Schlüssel den Projektmetadaten hinzu. Wenn das Mitglied nicht berechtigt ist, Projektmetadaten zu bearbeiten, fügt das Tool stattdessen den öffentlichen Schlüssel des Mitglieds den Instanzmetadaten hinzu.
Verfügt das Mitglied bereits über ein Schlüsselpaar, das es verwenden möchte, kann es seinen öffentlichen Schlüssel manuell den Instanzmetadaten hinzufügen. Weitere Informationen zum Hinzufügen von SSH-Schlüsseln zu einer Instanz
IAM mit Dienstkonten
Durch die Erstellung neuer benutzerdefinierter Dienstkonten und die Zuweisung von IAM-Rollen zu Dienstkonten haben Sie die Möglichkeit, den Zugriff auf Ihre Instanzen zu beschränken. Wenn Sie IAM-Rollen mit benutzerdefinierten Dienstkonten verwenden, können Sie Folgendes tun:
- Mithilfe detaillierter IAM-Rollen den Zugriff Ihrer Instanzen auf Google Cloud APIs beschränken
- Jeder Instanz oder jeder Gruppe von Instanzen eine eindeutige Identität verleihen
- Den Zugriff auf Ihr Standarddienstkonto beschränken
Hier erfahren Sie mehr über Dienstkonten.
Verwaltete Instanzgruppen und IAM
Verwaltete Instanzgruppen (MIGs) sind Ressourcen, die ohne direkte Nutzerinteraktion Aktionen für Sie ausführen. Beispielsweise kann die MIG VMs zur Gruppe hinzufügen und daraus entfernen.
Alle Vorgänge, die Compute Engine als Teil der MIG ausführt, werden vom Google APIs-Dienst-Agent für Ihr Projekt ausgeführt. Dieser hat eine E-Mail-Adresse wie die folgende:
PROJECT_ID@cloudservices.gserviceaccount.com
Standardmäßig erhält der Google APIs-Dienst-Agent auf Projektebene die Rolle "Bearbeiter" (roles/editor
), die genügend Berechtigungen zum Erstellen von Ressourcen basierend auf der MIG-Konfiguration gewährt. Wenn Sie den Zugriff für den Google APIs-Dienst-Agent anpassen, gewähren Sie die Rolle Compute-Instanzadministrator (v1) roles/compute.instanceAdmin.v1
und optional die Nutzerrolle Dienstkonto (roles/iam.serviceAccountUser
). Die Rolle Dienstkonto ist nur erforderlich, wenn die MIG VMs erstellt, die als Dienstkonto ausgeführt werden können.
Der Google APIs-Dienst-Agent wird auch von anderen Prozessen wie Deployment Manager verwendet.
Wenn Sie eine MIG erstellen oder die Instanzvorlage aktualisieren, wird von Compute Engine überprüft, ob der Google APIs-Dienst-Agent die folgende Rolle und Berechtigungen hat:
- Die Nutzerrolle Dienstkonto ist wichtig, wenn Sie Instanzen erstellen möchten, die als Dienstkonto ausgeführt werden können.
- Berechtigungen für alle Ressourcen, auf die Instanzvorlagen verweisen, wie Images, Laufwerke, VPC-Netzwerke und Subnetzwerke.
Vordefinierte Compute Engine-Rollen
Bei IAM erfordert jede API-Methode in der Compute Engine API, dass die Identität, die die API-Anfrage stellt, die entsprechenden Berechtigungen zur Verwendung der Ressource hat. Berechtigungen werden durch Festlegen von Richtlinien erteilt, die einem Mitglied (Nutzer, Gruppe oder Dienstkonto) Ihres Projekts Rollen zuweisen.
Neben den einfachen Rollen (Betrachter, Bearbeiter und Inhaber) und benutzerdefinierten Rollen können Sie den Mitgliedern Ihres Projekts die unten beschriebenen vordefinierten Compute Engine-Rollen zuweisen.
Sie können einem Projektmitglied mehrere Rollen für dieselbe Ressource zuweisen. Wenn Ihr Netzwerkteam z. B. auch Firewallregeln verwaltet, können Sie der Google-Gruppe des Netzwerkteams sowohl roles/compute.networkAdmin
als auch roles/compute.securityAdmin
gewähren.
In den folgenden Tabellen werden die vordefinierten IAM-Rollen von Compute Engine sowie die in den einzelnen Rollen enthaltenen Berechtigungen beschrieben. Jede Rolle enthält eine Reihe von Berechtigungen, die für eine bestimmte Aufgabe geeignet sind. Durch die Instanzadministrator-Rollen werden beispielsweise Berechtigungen zum Verwalten von Instanzen gewährt, die netzwerkbezogenen Rollen gewähren Berechtigungen zum Verwalten von netzwerkbezogenen Ressourcen und die Sicherheitsrolle gewährt Berechtigungen zum Verwalten von sicherheitsbezogenen Ressourcen wie Firewalls und SSL-Zertifikaten.
Compute Admin role
Details | Permissions |
---|---|
Compute Admin( Full control of all Compute Engine resources.
If the user will be managing virtual machine instances that are configured
to run as a service account, you must also grant the
Lowest-level resources where you can grant this role:
|
|
Compute Future Reservation Admin role
Details | Permissions |
---|---|
Compute Future Reservation Admin Beta(
|
|
Compute Future Reservation User role
Details | Permissions |
---|---|
Compute Future Reservation User Beta(
|
|
Compute Future Reservation Viewer role
Details | Permissions |
---|---|
Compute Future Reservation Viewer Beta(
|
|
Compute Image User role
Details | Permissions |
---|---|
Compute Image User( Permission to list and read images without having other permissions on the image. Granting this role at the project level gives users the ability to list all images in the project and create resources, such as instances and persistent disks, based on images in the project. Lowest-level resources where you can grant this role:
|
|
Compute Instance Admin (beta) role
Details | Permissions |
---|---|
Compute Instance Admin (beta)( Permissions to create, modify, and delete virtual machine instances. This includes permissions to create, modify, and delete disks, and also to configure Shielded VM settings.
If the user will be managing virtual machine instances that are configured
to run as a service account, you must also grant the
For example, if your company has someone who manages groups of virtual machine instances but does not manage network or security settings and does not manage instances that run as service accounts, you can grant this role on the organization, folder, or project that contains the instances, or you can grant it on individual instances. Lowest-level resources where you can grant this role:
|
|
Compute Instance Admin (v1) role
Details | Permissions |
---|---|
Compute Instance Admin (v1)( Full control of Compute Engine instances, instance groups, disks, snapshots, and images. Read access to all Compute Engine networking resources. If you grant a user this role only at an instance level, then that user cannot create new instances. |
|
Compute Load Balancer Admin role
Details | Permissions |
---|---|
Compute Load Balancer Admin( Permissions to create, modify, and delete load balancers and associate resources. For example, if your company has a load balancing team that manages load balancers, SSL certificates for load balancers, SSL policies, and other load balancing resources, and a separate networking team that manages the rest of the networking resources, then grant this role to the load balancing team's group. Lowest-level resources where you can grant this role:
|
|
Compute Load Balancer Services User role
Details | Permissions |
---|---|
Compute Load Balancer Services User( Permissions to use services from a load balancer in other projects. |
|
Compute Network Admin role
Details | Permissions |
---|---|
Compute Network Admin( Permissions to create, modify, and delete networking resources, except for firewall rules and SSL certificates. The network admin role allows read-only access to firewall rules, SSL certificates, and instances (to view their ephemeral IP addresses). The network admin role does not allow a user to create, start, stop, or delete instances.
For example, if your company has a security team that manages firewalls
and SSL certificates and a networking team that manages the rest of the
networking resources, then grant this role to the networking team's group.
Or, if you have a combined team that manages both security and networking,
then grant this role as well as the
Lowest-level resources where you can grant this role:
|
|
Compute Network User role
Details | Permissions |
---|---|
Compute Network User( Provides access to a shared VPC network Once granted, service owners can use VPC networks and subnets that belong to the host project. For example, a network user can create a VM instance that belongs to a host project network but they cannot delete or create new networks in the host project. Lowest-level resources where you can grant this role:
|
|
Compute Network Viewer role
Details | Permissions |
---|---|
Compute Network Viewer( Read-only access to all networking resources For example, if you have software that inspects your network configuration, you could grant this role to that software's service account. Lowest-level resources where you can grant this role:
|
|
Compute Organization Firewall Policy Admin role
Details | Permissions |
---|---|
Compute Organization Firewall Policy Admin( Full control of Compute Engine Organization Firewall Policies. |
|
Compute Organization Firewall Policy User role
Details | Permissions |
---|---|
Compute Organization Firewall Policy User( View or use Compute Engine Firewall Policies to associate with the organization or folders. |
|
Compute Organization Security Policy Admin role
Details | Permissions |
---|---|
Compute Organization Security Policy Admin( Full control of Compute Engine Organization Security Policies. |
|
Compute Organization Security Policy User role
Details | Permissions |
---|---|
Compute Organization Security Policy User( View or use Compute Engine Security Policies to associate with the organization or folders. |
|
Compute Organization Resource Admin role
Details | Permissions |
---|---|
Compute Organization Resource Admin( Full control of Compute Engine Firewall Policy associations to the organization or folders. |
|
Compute OS Admin Login role
Details | Permissions |
---|---|
Compute OS Admin Login( Access to log in to a Compute Engine instance as an administrator user. Lowest-level resources where you can grant this role:
|
|
Compute OS Login role
Details | Permissions |
---|---|
Compute OS Login( Access to log in to a Compute Engine instance as a standard user. Lowest-level resources where you can grant this role:
|
|
Compute OS Login External User role
Details | Permissions |
---|---|
Compute OS Login External User( Available only at the organization level. Access for an external user to set OS Login information associated with this organization. This role does not grant access to instances. External users must be granted one of the required OS Login roles in order to allow access to instances using SSH. Lowest-level resources where you can grant this role:
|
|
Compute packet mirroring admin role
Details | Permissions |
---|---|
Compute packet mirroring admin( Specify resources to be mirrored. |
|
Compute packet mirroring user role
Details | Permissions |
---|---|
Compute packet mirroring user( Use Compute Engine packet mirrorings. |
|
Compute Public IP Admin role
Details | Permissions |
---|---|
Compute Public IP Admin( Full control of public IP address management for Compute Engine. |
|
Compute Security Admin role
Details | Permissions |
---|---|
Compute Security Admin( Permissions to create, modify, and delete firewall rules and SSL certificates, and also to configure Shielded VM settings. For example, if your company has a security team that manages firewalls and SSL certificates and a networking team that manages the rest of the networking resources, then grant this role to the security team's group. Lowest-level resources where you can grant this role:
|
|
Compute Sole Tenant Viewer role
Details | Permissions |
---|---|
Compute Sole Tenant Viewer( Permissions to view sole tenancy node groups |
|
Compute Storage Admin role
Details | Permissions |
---|---|
Compute Storage Admin( Permissions to create, modify, and delete disks, images, and snapshots. For example, if your company has someone who manages project images and you don't want them to have the editor role on the project, then grant this role to their account on the project. Lowest-level resources where you can grant this role:
|
|
Compute Viewer role
Details | Permissions |
---|---|
Compute Viewer( Read-only access to get and list Compute Engine resources, without being able to read the data stored on them. For example, an account with this role could inventory all of the disks in a project, but it could not read any of the data on those disks. Lowest-level resources where you can grant this role:
|
|
Compute Shared VPC Admin role
Details | Permissions |
---|---|
Compute Shared VPC Admin( Permissions to administer shared VPC host projects, specifically enabling the host projects and associating shared VPC service projects to the host project's network. At the organization level, this role can only be granted by an organization admin.
Google Cloud recommends that the Shared VPC Admin be the owner of the shared VPC host project. The
Shared VPC Admin is responsible for granting the Compute Network User role
( Lowest-level resources where you can grant this role:
|
|
OS Config Admin role
Details | Permissions |
---|---|
OS Config Admin Beta( Full access to OS Config resources |
|
GuestPolicy Admin role
Details | Permissions |
---|---|
GuestPolicy Admin Beta( Full admin access to GuestPolicies |
|
GuestPolicy Editor role
Details | Permissions |
---|---|
GuestPolicy Editor Beta( Editor of GuestPolicy resources |
|
GuestPolicy Viewer role
Details | Permissions |
---|---|
GuestPolicy Viewer Beta( Viewer of GuestPolicy resources |
|
InstanceOSPoliciesCompliance Viewer role
Details | Permissions |
---|---|
InstanceOSPoliciesCompliance Viewer Beta( Viewer of OS Policies Compliance of VM instances |
|
OS Inventory Viewer role
Details | Permissions |
---|---|
OS Inventory Viewer( Viewer of OS Inventories |
|
OSPolicyAssignment Admin role
Details | Permissions |
---|---|
OSPolicyAssignment Admin( Full admin access to OS Policy Assignments |
|
OSPolicyAssignment Editor role
Details | Permissions |
---|---|
OSPolicyAssignment Editor( Editor of OS Policy Assignments |
|
OSPolicyAssignmentReport Viewer role
Details | Permissions |
---|---|
OSPolicyAssignmentReport Viewer( Viewer of OS policy assignment reports for VM instances |
|
OSPolicyAssignment Viewer role
Details | Permissions |
---|---|
OSPolicyAssignment Viewer( Viewer of OS Policy Assignments |
|
PatchDeployment Admin role
Details | Permissions |
---|---|
PatchDeployment Admin( Full admin access to PatchDeployments |
|
PatchDeployment Viewer role
Details | Permissions |
---|---|
PatchDeployment Viewer( Viewer of PatchDeployment resources |
|
Patch Job Executor role
Details | Permissions |
---|---|
Patch Job Executor( Access to execute Patch Jobs. |
|
Patch Job Viewer role
Details | Permissions |
---|---|
Patch Job Viewer( Get and list Patch Jobs. |
|
PolicyOrchestrator Admin role
Details | Permissions |
---|---|
PolicyOrchestrator Admin Alpha( Admin of PolicyOrchestrator resources |
|
PolicyOrchestrator Viewer role
Details | Permissions |
---|---|
PolicyOrchestrator Viewer Alpha( Viewer of PolicyOrchestrator resources |
|
Project Feature Settings Editor role
Details | Permissions |
---|---|
Project Feature Settings Editor( Read/write access to project feature settings |
|
Project Feature Settings Viewer role
Details | Permissions |
---|---|
Project Feature Settings Viewer( Read access to project feature settings |
|
Upgrade Report Viewer role
Details | Permissions |
---|---|
Upgrade Report Viewer Beta( Provides read-only access to VM Manager Upgrade Reports |
|
OS Config Viewer role
Details | Permissions |
---|---|
OS Config Viewer Beta( Readonly access to OS Config resources |
|
OS VulnerabilityReport Viewer role
Details | Permissions |
---|---|
OS VulnerabilityReport Viewer( Viewer of OS VulnerabilityReports |
|
DNS Administrator role
Details | Permissions |
---|---|
DNS Administrator( Provides read-write access to all Cloud DNS resources. Lowest-level resources where you can grant this role:
|
|
DNS Peer role
Details | Permissions |
---|---|
DNS Peer( Access to target networks with DNS peering zones |
|
DNS Reader role
Details | Permissions |
---|---|
DNS Reader( Provides read-only access to all Cloud DNS resources. Lowest-level resources where you can grant this role:
|
|
Service Account Admin role
Details | Permissions |
---|---|
Service Account Admin( Create and manage service accounts. Lowest-level resources where you can grant this role:
|
|
Create Service Accounts role
Details | Permissions |
---|---|
Create Service Accounts( Access to create service accounts. |
|
Delete Service Accounts role
Details | Permissions |
---|---|
Delete Service Accounts( Access to delete service accounts. |
|
Service Account Key Admin role
Details | Permissions |
---|---|
Service Account Key Admin( Create and manage (and rotate) service account keys. Lowest-level resources where you can grant this role:
|
|
Service Account OpenID Connect Identity Token Creator role
Details | Permissions |
---|---|
Service Account OpenID Connect Identity Token Creator( Create OpenID Connect (OIDC) identity tokens |
|
Service Account Token Creator role
Details | Permissions |
---|---|
Service Account Token Creator( Impersonate service accounts (create OAuth2 access tokens, sign blobs or JWTs, etc). Lowest-level resources where you can grant this role:
|
|
Service Account User role
Details | Permissions |
---|---|
Service Account User( Run operations as the service account. Lowest-level resources where you can grant this role:
|
|
View Service Accounts role
Details | Permissions |
---|---|
View Service Accounts( Read access to service accounts, metadata, and keys. |
|
Workload Identity User role
Details | Permissions |
---|---|
Workload Identity User( Impersonate service accounts from federated workloads. |
|
Nächste Schritte
- IAM
- Benutzerdefinierte IAM-Rollen erstellen und verwalten
- Projektnutzern IAM-Rollen zuweisen
- IAM-Rollen für bestimmte Compute Engine-Ressourcen zuweisen
- Neues Dienstkonto erstellen