Auf dieser Seite wird gezeigt, wie Sie den Grundsatz der geringsten Berechtigung anwenden. Damit gewähren Sie bestimmten Compute Engine-Ressourcen Zugriff statt Zugriff auf eine übergeordnete Ressource wie einem Projekt, einem Ordner oder einer Organisation zu gewähren.
Sie gewähren Zugriff auf eine Ressource, indem Sie eine IAM-Richtlinie (Identity and Access Management) für die Ressource festlegen. Die Richtlinie bindet ein oder mehrere Mitglieder, z. B. einen Nutzer oder ein Dienstkonto, an eine oder mehrere Rollen. Jede Rolle enthält eine Reihe von Berechtigungen, mit denen das Mitglied mit der Ressource interagieren kann.
Wenn Sie Zugriff auf eine übergeordnete Ressource gewähren (z. B. auf ein Projekt), erteilen Sie implizit auch Zugriff auf alle ihr untergeordneten Ressourcen, etwa auf alle VMs in diesem Projekt. Sie können den Zugriff auf Ressourcen auch beschränken. Legen Sie dazu die IAM-Richtlinien nach Möglichkeit auf untergeordneten Ebenen fest, anstatt auf Projektebene oder darüber.
Allgemeine Informationen zum Gewähren, Ändern und Aufheben des Zugriffs auf Ressourcen, die nichts mit Compute Engine zu tun haben, z. B. auf ein Google Cloud-Projekt, finden Sie in der IAM-Dokumentation unter Zugriff auf Ressourcen erteilen, ändern und entziehen.
Hinweise
- Lesen Sie die IAM-Übersicht.
- Lesen Sie die Übersicht über die Zugriffssteuerung in Compute Engine.
- Machen Sie sich mit den IAM-Rollen für Compute Engine vertraut.
-
Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben.
Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft.
Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
So gewähren Sie Zugriff auf Ressourcen oder widerrufen diesen:
-
compute.projects.get
für das Projekt -
compute.RESOURCE_TYPE.get
für die Ressource -
compute.RESOURCE_TYPE.getIamPolicy
für die Ressource -
compute.RESOURCE_TYPE.setIamPolicy
für die Ressource
-
-
Zum Testen von Aufruferberechtigungen:
compute.RESOURCE_TYPE.getIamPolicy
für die RessourceErsetzen Sie RESOURCE_TYPE durch die Ressource, für die Sie den Zugriff verwalten möchten. Beispiel:
instances
,instanceTemplates
oderimages
. - Rufen Sie in der Google Cloud Console die Seite der entsprechenden Ressource auf, für die Sie Berechtigungen hinzufügen möchten.
- Zur Seite "VM-Instanzen".
- Informationen zu zonalen und regionalen Laufwerken finden Sie auf der Seite „Laufwerke“.
- Zur Seite "Snapshots".
- Zur Seite "Images".
- Zur Seite "Instanzgruppen"
- Zur Seite "Instanzvorlagen"
- Rufen Sie unter Maschinen-Images die Seite „Maschinen-Images“ auf.
- Reservierungen finden Sie auf der Seite "Reservierungen".
- Zur Seite "Knoten für einzelne Mandanten"
- Klicken Sie die Kästchen neben den Ressourcen an, die Sie aktualisieren möchten.
- Führen Sie je nach Ressourcenseite die folgenden Schritte aus.
- Klicken Sie für VM-Instanzen auf Berechtigungen.
- Für alle anderen Ressourcen führen Sie die folgenden Schritte aus:
- Prüfen Sie, ob das Infofeld sichtbar ist. Falls es nicht sichtbar ist, klicken Sie auf Infofeld ansehen.
- Wählen Sie den Tab Berechtigungen aus.
- Klicken Sie auf Hauptkonto hinzufügen.
- Fügen Sie die Identität des Hauptkontos hinzu und wählen Sie die erforderliche Rolle aus.
- Um die Änderungen zu speichern, klicken Sie auf Speichern.
RESOURCE_TYPE
: Der Ressourcentyp. Gültige Werte sind:disks
images
instances
instance-templates
machine-images
reservations
sole-tenancy node-groups
sole-tenancy node-templates
snapshots
RESOURCE_NAME
ist der Name der -Ressource. Beispiel:my_instance
PRINCIPAL
: eine gültige Identität für das Hauptkonto, dem Sie die Rolle zuweisen möchten. Muss das Formatuser|group|serviceAccount:EMAIL_ADDRESS
oderdomain:DOMAIN_ADDRESS
haben. Beispiel:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
ROLE
: ist die Rolle zum Zuweisen dieses Hauptkontos.Lesen Sie die vorhandene Richtlinie mit der entsprechenden
getIamPolicy
-Methode der Ressource. Mit der folgenden HTTP-Anfrage wird beispielsweise die IAM-Richtlinie einer VM gelesen:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:getIamPolicy
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID des Projekts, zu dem diese VM gehört.ZONE
ist die Zone der VM. Ersetzen Sie für regionale oder globale Ressourcenzones/ZONE
durchregions/REGION
oderglobal
.VM_NAME
ist der Name der VM-Instanz.
Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.
Bearbeiten Sie die Richtlinie mit einem Texteditor, um Hauptkonten und die zugehörigen Rollen hinzuzufügen oder zu entfernen. Beispiel: Fügen Sie der Richtlinie die folgende neue Bindung hinzu, um email@example.com die Rolle
compute.admin
zu gewähren.{ "members": [ "user:email@example.com" ], "role":"roles/compute.admin" }
Schreiben Sie mit
setIamPolicy()
die aktualisierte Richtlinie:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:setIamPolicy
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID des Projekts, zu dem diese VM gehört.ZONE
ist die Zone der VM. Ersetzen Sie für regionale oder globale Ressourcenzones/ZONE
durchregions/REGION
oderglobal
.VM_NAME
ist der Name der VM-Instanz.
Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.
- Rufen Sie in der Google Cloud Console die Seite der entsprechenden Ressource auf, für die Sie Berechtigungen hinzufügen möchten.
- Zur Seite "VM-Instanzen".
- Informationen zu zonalen und regionalen Laufwerken finden Sie auf der Seite „Laufwerke“.
- Zur Seite "Snapshots".
- Zur Seite "Images".
- Zur Seite "Instanzgruppen"
- Zur Seite "Instanzvorlagen"
- Rufen Sie unter Maschinen-Images die Seite „Maschinen-Images“ auf.
- Reservierungen finden Sie auf der Seite "Reservierungen".
- Zur Seite "Knoten für einzelne Mandanten"
- Klicken Sie die Kästchen neben den Ressourcen an, die Sie aktualisieren möchten.
- Führen Sie je nach Ressourcenseite die folgenden Schritte aus.
- Klicken Sie für VM-Instanzen auf Berechtigungen.
- Für alle anderen Ressourcen führen Sie die folgenden Schritte aus:
- Prüfen Sie, ob das Infofeld sichtbar ist. Falls es nicht sichtbar ist, klicken Sie auf Infofeld ansehen.
- Wählen Sie den Tab Berechtigungen aus.
- Klicken Sie auf die Karte der Rolle, von der Sie Hauptkonten entfernen möchten. Dadurch wird die Karte erweitert und die Nutzer mit dieser Rolle für diese Ressource werden angezeigt.
- Klicken Sie auf Löschen, um ein Hauptkonto aus dieser Rolle zu entfernen.
RESOURCE_TYPE
: Die Art der Ressource. Gültige Werte sind:disks
images
instances
instance-templates
machine-images
reservations
sole-tenancy node-groups
sole-tenancy node-templates
snapshots
RESOURCE_NAME
: Name der Ressource Beispiel:my_instance
.PRINCIPAL
: eine gültige Identität für das Hauptkonto. Muss das Formatuser|group|serviceAccount:EMAIL_ADDRESS
oderdomain:DOMAIN_ADDRESS
haben. Beispiel:user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
ROLE
: Die Rolle, aus der Sie das Hauptkonto entfernen möchten.Lesen Sie die vorhandene Richtlinie mit der entsprechenden
getIamPolicy
-Methode der Ressource. Mit der folgenden HTTP-Anfrage wird beispielsweise die IAM-Richtlinie einer VM gelesen:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:getIamPolicy
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID des Projekts, zu dem diese VM gehört.ZONE
ist die Zone der VM. Ersetzen Sie für regionale oder globale Ressourcenzones/ZONE
durchregions/REGION
oderglobal
.VM_NAME
ist der Name der VM-Instanz.
Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.
Bearbeiten Sie die Richtlinie mit einem Texteditor, um Mitglieder aus den zugehörigen Rollen zu entfernen. Entfernen Sie beispielsweise email@example.com aus der Rolle
compute.admin
:{ "members": [ "user:owner@example.com" ], "role":"roles/compute.admin" }
Schreiben Sie mit
setIamPolicy()
die aktualisierte Richtlinie:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME:setIamPolicy
Ersetzen Sie Folgendes:
PROJECT_ID
: die Projekt-ID des Projekts, zu dem diese VM gehört.ZONE
ist die Zone der VM. Ersetzen Sie für regionale oder globale Ressourcenzones/ZONE
durchregions/REGION
oderglobal
.VM_NAME
ist der Name der VM-Instanz.
Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.
Senden Sie eine Anfrage an die Ressource und geben Sie im Anfragetext eine Liste der Berechtigungen an, auf die geprüft werden soll.
Beispielsweise könnten Sie auf einer Instanz nach
compute.instances.start
,compute.instances.stop
undcompute.instances.delete
suchen.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/testIamPermissions { "permissions": [ "compute.instances.start", "compute.instances.stop", "compute.instances.delete" ] }
Die Anfrage liefert die Berechtigungen, die für den Nutzer aktiviert sind.
{ "permissions": [ "compute.instances.start", "compute.instances.stop" ] }
- Mehr über das Verwalten des Zugriffs auf benutzerdefinierte Images mit IAM erfahren
- Weitere Informationen zu Dienstkonten
- Weitere Informationen zu Compute Engine IAM-Rollen.
- Weitere Informationen zu den Berechtigungen, die in vordefinierten Compute Engine-IAM-Rollen enthalten sind
- Mehr über das Erstellen und Verwalten benutzerdefinierter Rollen erfahren
REST
Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die Berechtigungen zu erteilen, die Sie für die Verwaltung des Zugriffs auf Compute Engine-Ressourcen benötigen Compute-Administrator (
roles/compute.admin
) enthalten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.Diese vordefinierte Rolle enthält die Berechtigungen, die zum Verwalten des Zugriffs auf Compute Engine-Ressourcen erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind für die Verwaltung des Zugriffs auf Compute Engine-Ressourcen erforderlich:
Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Unterstützte Ressourcen
Eine Liste der Compute Engine-Ressourcen, die die Zugriffssteuerung auf Ressourcenebene unterstützen, finden Sie unter: Ressourcentypen, die IAM-Richtlinien annehmen und nachCompute Engine filtern.
Bei anderen Compute Engine-Ressourcen, die keine Zugriffssteuerung auf Ressourcenebene unterstützen, müssen Sie den Zugriff auf diese Ressourcen auf Projekt-, Ordner- oder Organisationsebene verwalten. Informationen zu Organisationen, Ordnern oder Projekten finden Sie unter Ressourcenhierarchie.
Zugriff auf Compute Engine-Ressourcen gewähren
Ein Hauptkonto, z. B. ein Nutzer oder Dienstkonto, kann auf Compute Engine-Ressourcen zugreifen. Eine Identität ist ein Attribut eines Hauptkontos. Die Identität eines Hauptkontos wird normalerweise durch eine E-Mail-Adresse dargestellt, die dem Konto zugeordnet ist.
Bevor Sie einem Hauptkonto eine IAM-Rolle für eine Ressource zuweisen, sollten Sie prüfen, welche Rollen für eine bestimmte Ressource verfügbar sind. Weitere Informationen finden Sie unter Zuweisbare Rollen für Ressourcen aufrufen.
Wenn Sie Zugriff auf bestimmte Compute Engine-Ressourcen gewähren möchten, legen Sie eine IAM-Richtlinie für die Ressource fest.
Console
gcloud
Verwenden Sie den Unterbefehl
add-iam-policy-binding
dieser Ressource mit den Flags--member
und--role
, um einem Hauptkonto für eine Ressource eine Rolle zuzuweisen.gcloud compute RESOURCE_TYPE add-iam-policy-binding RESOURCE_NAME \ --member='PRINCIPAL' \ --role='ROLE'
Ersetzen Sie Folgendes:
Wenn Sie Zugriff auf eine Ressource in der Vorschau gewähren, verwenden Sie stattdessen den Befehl
gcloud beta compute
.REST
So ändern Sie eine IAM-Richtlinie über die API:
Zugriff auf Ressourcen widerrufen
Wenn Hauptkonten keinen Zugriff mehr auf Ihre Compute Engine-Ressourcen benötigen, sollten Sie als Best Practice deren Zugriff widerrufen.
Console
gcloud
Verwenden Sie zum Entfernen einer Rolle von einem Hauptkonto für eine Ressource den Unterbefehl
remove-iam-policy-binding
der Ressource mit den Flags--member
und--role
.gcloud compute RESOURCE_TYPE remove-iam-policy-binding RESOURCE_NAME \ --member='MEMBER' \ --role='ROLE'
Ersetzen Sie Folgendes:
Wenn Sie Zugriff auf eine Ressource widerrufen, die sich in der Vorschau befindet, verwenden Sie stattdessen den Befehl
gcloud beta compute
.REST
So ändern Sie eine IAM-Richtlinie direkt über die API:
Berechtigungen des aufrufenden Nutzers prüfen
Wenn Sie nicht wissen, welche Berechtigungen eine Identität hat, verwenden Sie die API-Methode
testIamPermissions
. So können Sie prüfen, welche Berechtigungen für eine Identität verfügbar sind.Diese Methode gibt mit einer Ressourcen-URL und einer Reihe von Berechtigungen als Eingabeparameter den Berechtigungssatz des Aufrufers zurück. Sie können diese Methode für alle unterstützten Ressourcen verwenden.
testIamPermissions
ist für die Verknüpfung mit Ihrer proprietären Software vorgesehen, etwa einer benutzerdefinierten grafischen Oberfläche. Wenn Sie Berechtigungen direkt über Google Cloud verwalten, sollten SietestIamPermissions
in der Regel nicht aufrufen.Angenommen, Sie erstellen ein GUI, das auf der Compute Engine API basiert und eine Schaltfläche zum Starten einer Instanz hat. Dann können Sie
compute.instances.testIamPermissions()
aufrufen, um festzustellen, ob die Schaltfläche aktiviert oder deaktiviert werden soll.So testen Sie, ob ein Nutzer bestimmte Berechtigungen für eine Ressource hat:
Ressourcenzugriff für mehrere Mitglieder ändern
Wenn Sie den Zugriff auf Compute Engine-Ressourcen für mehrere Mitglieder gleichzeitig ändern möchten, lesen Sie die Empfehlungen zum programmatischen Ändern einer IAM-Richtlinie.
Nächste Schritte
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2024-11-20 (UTC).
-