Damit Nutzer benutzerdefinierte Images erstellen, löschen, verwenden oder freigeben können, müssen Sie ihnen die entsprechenden Cloud IAM-Rollen (Identitäts- und Zugriffsverwaltung) zuweisen. In diesem Dokument wird beschrieben, welche IAM-Berechtigungen zum Erstellen und Verwalten von benutzerdefinierten Images erforderlich sind und wie sie Nutzern bereitgestellt werden.
Allgemeine Informationen zum Gewähren des Zugriffs auf Compute Engine-Ressourcen finden Sie unter Zugriff auf Compute Engine-Ressourcen verwalten. Informationen zu IAM finden Sie in der IAM-Dokumentation.
Hinweis
- Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, gehen Sie so vor:
- Installieren Sie die Google Cloud CLI oder aktualisieren Sie sie auf die neueste Version.
- Legen Sie eine Standardregion und -zone fest.
- Wenn Sie die API-Beispiele dieser Anleitung verwenden möchten, richten Sie den API-Zugang ein.
- Lesen Sie die IAM-Dokumentation.
- Informieren Sie sich über Compute Engine-IAM-Rollen, insbesondere die Rolle "Compute-Image-Nutzer" (
roles/compute.imageUser
).
Beschränkungen
Für Images können Sie dem speziellen Mitgliedstyp allUsers
keine Rollen zuweisen.
Berechtigung zum Erstellen benutzerdefinierter Images erteilen
Sie können Nutzern die Möglichkeit geben, benutzerdefinierte Images in Ihrer Organisation oder Ihrem Projekt zu erstellen.
Compute Engine bietet die vordefinierte Rolle "Compute Storage-Administrator" (roles/compute.storageAdmin
), die Sie Nutzern zuweisen können, damit diese speicherbezogene Ressourcen wie Images, Laufwerke und Snapshots erstellen, löschen und verwalten können. Wenn Sie eine Rolle benötigen, mit der Images nur erstellt werden können, müssen Sie eine benutzerdefinierte Rolle erstellen. Fügen Sie der benutzerdefinierten Rolle die folgenden Berechtigungen hinzu:
compute.images.create
, um neue Images zu erstellencompute.images.list
, um Images im Projekt aufzulistencompute.disks.use
, wenn das Image von einem Laufwerk erstellt wirdcompute.disks.list
, wenn Nutzer alle Laufwerke in einem Projekt auflisten müssen
Wenn Sie einem Nutzer die Möglichkeit geben, benutzerdefinierte Images auf Organisationsebene zu erstellen, kann der Nutzer benutzerdefinierte Images für jedes Projekt innerhalb der Organisation erstellen.
Console
Rufen Sie in der Google Cloud Console die Seite IAM für das Projekt oder die Organisation auf.
Um ein neues Mitglied hinzuzufügen, klicken Sie auf
Zugriff gewähren.Geben Sie die E-Mail-Adresse der Person oder Identität, der Sie Zugriff gewähren möchten, im Feld Neue Hauptkonten ein.
Beispiel:
- E-Mail-Adresse für Google-Konto:
test-user@gmail.com
- Google-Gruppe:
admins@googlegroups.com
- Dienstkonto:
server@example.gserviceaccount.com
- Google Workspace-Domain:
example.com
- E-Mail-Adresse für Google-Konto:
Wählen Sie in der Liste Rolle auswählen die Option Compute Engine > Compute Storage-Administrator oder eine benutzerdefinierte Rolle aus, sofern Sie eine erstellt haben.
Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.
Speichern Sie die Änderungen.
gcloud
Um die Rolle roles/compute.storageAdmin
auf Organisationsebene zuzuweisen, verwenden Sie den Befehl gcloud organizations add-iam-policy-binding
:
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member='MEMBER' \ --role='roles/compute.storageAdmin'
Wenn Sie die Rolle roles/compute.storageAdmin
auf Projektebene zuweisen möchten, verwenden Sie den Befehl gcloud projects add-iam-policy-binding
:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/compute.storageAdmin'
Dabei gilt:
ORGANIZATION_ID
oderPROJECT_ID
: die Organisations-ID oder die Projekt-ID, z. B.my-organization-1
odermy-project-1
.MEMBER
: eine gültige Identität, der Sie die Rolle zuweisen möchtenBeispiel:
- E-Mail-Adresse für Google-Konto:
user:user@gmail.com
- Google-Gruppe:
group:admins@googlegroups.com
- Dienstkonto:
serviceAccount:server@example.gserviceaccount.com
- Google Workspace-Domain:
domain:example.com
- E-Mail-Adresse für Google-Konto:
API
Lesen Sie die vorhandene Richtlinie mit der entsprechenden
getIamPolicy
-Methode der Ressource. Für Projekte verwenden Sie die Methodeprojects.getIamPolicy
.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Ersetzen Sie
PROJECT_ID
durch die Projekt-ID — z. B.my-project-1
.Für Organisationen verwenden Sie die Methode
organizations.getIamPolicy
.POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_ID:getIamPolicy
Ersetzen Sie
ORGANIZATION_ID
durch die Organisations-ID — z. B.123456578920
.Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.
Wenn Sie Mitglieder und ihre zugehörigen Rollen hinzufügen oder entfernen möchten, bearbeiten Sie die Richtlinie in einem Texteditor. Verwenden Sie das folgende Format, um Mitglieder hinzuzufügen:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Fügen Sie der Richtlinie beispielsweise die folgende Bindung hinzu, um
group:admins@example.com
die Rolleroles/compute.storageAdmin
zuzuweisen:{ "members": [ "group:admins@example.com" ], "role":"roles/compute.storageAdmin" }
Verwenden Sie die Methode
setIamPolicy
, um die aktualisierte Richtlinie zu schreiben.Mit der Methode
project.setIamPolicy
können Sie beispielsweise eine Richtlinie auf Projektebene festlegen. Im Anfragetext geben Sie die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Ersetzen Sie dabei
PROJECT_ID
durch die Projekt-ID.
Berechtigungen zum Löschen benutzerdefinierter Images erteilen
Ihren Anforderungen entsprechend können Sie Nutzern folgende Berechtigungen erteilen:
- Ein bestimmtes Image löschen
- Images löschen, die einem bestimmten Projekt gehören
- Images für jedes Projekt innerhalb einer Organisation löschen
Wenn Sie die Berechtigung auf Projektebene erteilen, können Nutzer alle Images löschen, die zu diesem Projekt gehören. Wenn Sie die Berechtigung auf Organisationsebene erteilen, kann der Nutzer alle Images löschen, die dieser Organisation gehören, unabhängig vom Projekt.
Compute Engine bietet die vordefinierte Rolle Compute Storage-Administrator (roles/compute.storageAdmin
), die Sie Nutzern zuweisen können, damit diese speicherbezogene Ressourcen wie Images, Laufwerke und Snapshots erstellen, löschen und verwalten können. Wenn Sie eine Rolle benötigen, mit der Images nur gelöscht werden können, müssen Sie eine benutzerdefinierte Rolle erstellen.
Fügen Sie der benutzerdefinierten Rolle die folgenden Berechtigungen hinzu:
compute.images.delete
, um Images zu löschencompute.images.list
, wenn Nutzer Images im Projekt oder in der Organisation auflisten müssencompute.images.get
, um die Images abzurufen
Console
So gewähren Sie die Berechtigung zum Löschen bestimmter Images:
Rufen Sie in der Google Cloud Console die Seite Images auf.
Wählen Sie die Images aus, für die Sie Berechtigungen erteilen möchten.
Klicken Sie zum Maximieren der Spalte für Berechtigungen auf Infofeld ansehen.
Klicken Sie zum Hinzufügen eines oder mehrerer Mitglieder auf Hauptkonto hinzufügen.
Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse der Identität ein, für die Sie das Image freigeben möchten.
Beispiel:
- E-Mail-Adresse für Google-Konto:
test-user@gmail.com
- Google-Gruppe:
admins@googlegroups.com
- Dienstkonto:
server@example.gserviceaccount.com
- Google Workspace-Domain:
example.com
- E-Mail-Adresse für Google-Konto:
Halten Sie in der Liste Rolle den Mauszeiger auf Compute Engine und wählen Sie Storage-Administrator aus oder wählen Sie eine benutzerdefinierte Rolle aus der Liste Benutzerdefiniert aus.
Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.
Speichern Sie die Änderungen.
So gewähren Sie die Berechtigung zum Löschen von Images für ein Projekt oder eine Organisation:
Rufen Sie die Seite IAM für das Projekt oder die Organisation auf.
Klicken Sie auf
Zugriff erlauben.Geben Sie die E-Mail-Adresse der Person oder Identität, der Sie Zugriff gewähren möchten, im Feld Neue Hauptkonten ein. Beispiel:
- E-Mail-Adresse für Google-Konto:
test-user@gmail.com
- Google-Gruppe:
admins@googlegroups.com
- Dienstkonto:
server@example.gserviceaccount.com
- Google Workspace-Domain:
example.com
- E-Mail-Adresse für Google-Konto:
Halten Sie in der Liste Rolle den Mauszeiger auf Compute Engine und wählen Sie Storage-Administrator aus oder wählen Sie eine benutzerdefinierte Rolle aus der Liste Benutzerdefiniert aus.
Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.
Speichern Sie die Änderungen.
gcloud
Um Berechtigungen zum Löschen von Images auf Organisationsebene zu erteilen, verwenden Sie den Befehl gcloud organizations add-iam-policy-binding
:
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member='MEMBER' \ --role='ROLE'
Wenn Sie Berechtigungen zum Löschen von Images auf Projektebene erteilen möchten, verwenden Sie den Befehl gcloud
projects add-iam-policy-binding
:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='ROLE'
Wenn Sie Berechtigungen zum Löschen eines bestimmten Image erteilen möchten, verwenden Sie den Befehl gcloud compute
images add-iam-policy-binding
:
gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Dabei gilt:
ORGANIZATION_ID
oderPROJECT_ID
oderIMAGE_NAME
: die 12-stellige numerische Organisations-ID, die Projekt-ID oder der Image-Name, z. B.123456578920
,my-project-1
odermy-custom-image
MEMBER
: eine gültige Identität, der Sie die Rolle zuweisen möchtenBeispiel:
- E-Mail-Adresse für Google-Konto:
user:user@gmail.com
- Google-Gruppe:
group:admins@googlegroups.com
- Dienstkonto:
serviceAccount:server@example.gserviceaccount.com
- Google Workspace-Domain:
domain:example.com
- E-Mail-Adresse für Google-Konto:
ROLE
: die Rolle, die dieser Identität zugewiesen werden soll, z. B. die Rolleroles/compute.storageAdmin
, oder eine benutzerdefinierte Rolle wieroles/customImageDeletionRole
API
Lesen Sie die vorhandene Richtlinie mit der entsprechenden
getIamPolicy
-Methode der Ressource. Für Projekte verwenden Sie die Methodeprojects.getIamPolicy
:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Ersetzen Sie
PROJECT_ID
durch die Projekt-ID.Für Organisationen verwenden Sie die Methode
organizations.getIamPolicy
:POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_ID:getIamPolicy
Ersetzen Sie
ORGANIZATION_ID
durch die 12-stellige numerische Organisations-ID.Für ein bestimmtes Image verwenden Sie die Methode
images.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Dabei gilt:
PROJECT_ID
: die Projekt-IDIMAGE_NAME
: der Name des Image
Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.
Wenn Sie Mitglieder und die zugehörigen Rollen hinzufügen oder entfernen möchten, können Sie die Richtlinie mit einem Texteditor bearbeiten. Verwenden Sie das folgende Format, um Mitglieder hinzuzufügen:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Fügen Sie der Richtlinie beispielsweise die folgende Bindung hinzu, um
user:test-email@example.com
die Rolleroles/compute.storageAdmin
zuzuweisen:{ "members": [ "user:test-email@example.com" ], "role":"roles/compute.storageAdmin" }
Verwenden Sie die Methode
setIamPolicy
, um die aktualisierte Richtlinie zu schreiben.Mit der Methode
project.setIamPolicy
können Sie beispielsweise eine Richtlinie auf Projektebene festlegen. Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Ersetzen Sie
PROJECT_ID
durch die Projekt-ID.
Benutzerdefinierte Images innerhalb einer Organisation freigeben
Wenn Ihr Projekt zu einer Organisation gehört, kann die Organisation mehrere andere Projekte mit unterschiedlichen Zugriffsebenen für andere Projekte haben. Wenn Sie benutzerdefinierte Images erstellen, können Sie diese Images für andere Nutzer aus anderen Projekten innerhalb der Organisation freigeben.
Compute Engine bietet die folgenden vordefinierten IAM-Rollen, die Sie für die Image-Verwaltung verwenden können:
- Compute Image-Nutzer (
roles/compute.imageUser
): Berechtigung zum Auflisten, Lesen und Verwenden von Images in Ihren Anfragen ohne weitere Berechtigungen für das Image. - Compute Storage-Administrator (
roles/compute.storageAdmin
): Berechtigungen zum Erstellen, Ändern und Löschen von Laufwerken, Images und Snapshots
Alternativ können Sie auch Ihre eigene benutzerdefinierte IAM-Rolle erstellen.
Als Best Practice empfehlen wir, dass Sie alle benutzerdefinierten Images in einem einzelnen Projekt speichern, das zum Hosten dieser Images dient. Hierdurch wird die Verwaltung dieser Images verbessert und es ermöglicht Ihnen, bestimmten Teams den Zugriff auf genau die Images zu gewähren, die sie benötigen. Sie können Teams auch Zugriff auf das gesamte Image-Projekt gewähren. Davon raten wir jedoch ab, da Teamzugriff auf das gesamte Image-Projekt gegen das Prinzip der geringsten Berechtigung verstößt.
Das folgende Beispiel zeigt, wie Sie eine Gruppe hinzufügen, sodass die Nutzer dieser Gruppe Zugriff auf das Image haben.
Console
Rufen Sie in der Google Cloud Console die Seite Images auf.
Wählen Sie das Image aus, das Sie für andere Nutzer freigeben möchten.
Klicken Sie zum Maximieren der Spalte für Berechtigungen auf Infofeld ansehen.
Klicken Sie zum Hinzufügen eines oder mehrerer Mitglieder auf Hauptkonto hinzufügen.
Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse der Identität ein, für die Sie das Image freigeben möchten.
Beispiel:
- E-Mail-Adresse für Google-Konto:
test-user@gmail.com
- Google-Gruppe:
admins@googlegroups.com
- Dienstkonto:
server@example.gserviceaccount.com
- Google Workspace-Domain:
example.com
- E-Mail-Adresse für Google-Konto:
Halten Sie in der Liste Rolle den Mauszeiger auf Compute Engine und wählen Sie Image-Nutzer oder Storage-Administrator aus. Sie können auch eine benutzerdefinierte Rolle auswählen.
Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.
Speichern Sie die Änderungen.
Damit Nutzer freigegebene benutzerdefinierte Images über die Google Cloud Console starten können, müssen Sie ihnen die IAM-Rolle „Betrachter“ (roles/viewer
) für das Image-Projekt zuweisen. Durch Zuweisen dieser Rolle wird sichergestellt, dass die freigegebenen Images in der Image-Auswahlliste angezeigt werden.
Öffnen Sie in der Google Cloud Console die Seite IAM.
Klicken Sie auf
Zugriff erlauben.Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse der Identität ein, für die Sie das Image freigeben möchten. Beispiel:
- E-Mail-Adresse für Google-Konto:
test-user@gmail.com
- Google-Gruppe:
admins@googlegroups.com
- Dienstkonto:
server@example.gserviceaccount.com
- Google Workspace-Domain:
example.com
- E-Mail-Adresse für Google-Konto:
Halten Sie in der Liste Rolle den Mauszeiger auf Projekt und wählen Sie Betrachter aus.
Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.
Speichern Sie die Änderungen.
gcloud
Verwenden Sie den Befehl gcloud compute images add-iam-policy-binding
, um die IAM-Richtlinie für ein bestimmtes Image zu aktualisieren:
gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Dabei gilt:
IMAGE_NAME
: der Name des Image, z. B.custom-centos-8
MEMBER
: eine gültige Identität, der Sie die Rolle zuweisen möchtenBeispiel:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
ROLE
: die Rolle, der diese Identität zugewiesen werden soll, z. B.roles/compute.imageUser
,roles/compute.storageAdmin
, oder eine benutzerdefinierte Rolle
Optional können Sie Nutzern die IAM-Rolle "Betrachter" (roles/viewer
) für das Image-Projekt zuweisen, damit sie diese freigegebenen Images in ihren images.list
-Anfragen sehen können. Verwenden Sie dazu den Befehl gcloud projects add-iam-policy-binding
. Wenn Sie nicht möchten, dass Ihre Nutzer die Liste der freigegebenen Images sehen, können Sie diesen Schritt überspringen.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/viewer'
API
Lesen Sie die vorhandene Richtlinie mit der
getIamPolicy
-Methode der Ressource. Um beispielsweise die Richtlinie für ein bestimmtes Image abzurufen, verwenden Sie die Methodeimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Dabei gilt:
PROJECT_ID
: die Projekt-ID des Projekts, zu dem dieses Image gehörtIMAGE_NAME
: der Name des Image
Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.
Wenn Sie Mitglieder und ihre zugehörigen Rollen hinzufügen oder entfernen möchten, bearbeiten Sie die Richtlinie in einem Texteditor. Verwenden Sie das folgende Format, um Mitglieder hinzuzufügen:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Wenn Sie beispielsweise
test-email@example.com
die Rolleroles/compute.imageUser
zuweisen möchten, fügen Sie der Richtlinie die folgende Bindung hinzu:{ "members": [ "user:test-email@example.com" ], "role":"roles/compute.imageUser" }
Verwenden Sie die Methode
setIamPolicy
, um die aktualisierte Richtlinie zu schreiben. Wenn Sie beispielsweise die Richtlinie für ein bestimmtes Image festlegen möchten, verwenden Sie die Methodeproject.setIamPolicy
. Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Dabei gilt:
PROJECT_ID
: die Projekt-ID des Projekts, zu dem dieses Image gehörtIMAGE_NAME
: der Name des Image
Optional können Sie Nutzern die IAM-Rolle "Betrachter" (roles/viewer
) für das Image-Projekt zuweisen, damit sie diese freigegebenen Images in ihren images.list
-Anfragen sehen können. Verwenden Sie dazu die Methode projects.setIamPolicy
.
Wenn Sie nicht möchten, dass Ihre Nutzer die Liste der freigegebenen Images sehen, können Sie diesen Schritt überspringen.
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Benutzerdefinierte Images zwischen Organisationen freigeben
Einen Katalog mit benutzerdefinierten Images zu erstellen kann nützlich sein, wenn Sie Images für Partner, Nutzer oder Auftragnehmer außerhalb Ihrer Organisation freigeben möchten. Um Ihre Images für Nutzer außerhalb der Organisation freizugeben, fügen Sie sie als Image-Nutzer Ihrem Projekt hinzu:
Console
Rufen Sie in der Google Cloud Console die Seite Images auf.
Wählen Sie das Image aus, das Sie für andere Nutzer freigeben möchten.
Klicken Sie zum Maximieren der Spalte für Berechtigungen auf Infofeld ansehen.
Klicken Sie zum Hinzufügen eines oder mehrerer Mitglieder auf Hauptkonto hinzufügen.
Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse der Gruppe ein, für die Sie das Image freigeben möchten. Beispiel:
admins@example.com
.Halten Sie in der Liste Rolle den Mauszeiger auf Compute Engine und wählen Sie Compute-Image-Nutzer aus.
Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.
Speichern Sie die Änderungen.
Damit Nutzer freigegebene benutzerdefinierte Images über die Google Cloud Console starten können, müssen Sie ihnen die IAM-Rolle „Betrachter“ (roles/viewer
) für das Image-Projekt zuweisen. Durch Zuweisen dieser Rolle wird sichergestellt, dass die freigegebenen Images in der Image-Auswahlliste angezeigt werden.
Öffnen Sie in der Google Cloud Console die Seite IAM.
Klicken Sie auf
Zugriff erlauben.Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse der Identität ein, für die Sie das Image freigeben möchten. Beispiel:
admins@example.com
.Halten Sie in der Liste Rolle den Mauszeiger auf Projekt und wählen Sie Betrachter aus.
Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.
Speichern Sie die Änderungen.
gcloud
Mit dem Befehl gcloud
compute images add-iam-policy-binding
können Sie Nutzern die Rolle roles/compute.imageUser
zuweisen:
gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='roles/compute.imageUser'
Dabei gilt:
IMAGE_NAME
: der Name des Image, z. B.custom-centos-8
MEMBER
: eine gültige Identität, der Sie die Rolle zuweisen möchten, z. B.group:admins@example.com
Optional können Sie Nutzern die IAM-Rolle "Betrachter" (roles/viewer
) für das Image-Projekt zuweisen, damit sie diese freigegebenen Images in ihren images.list
-Anfragen sehen können. Verwenden Sie dazu den Befehl gcloud projects add-iam-policy-binding
. Wenn Sie nicht möchten, dass Ihre Nutzer die Liste der freigegebenen Images sehen, können Sie diesen Schritt überspringen.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='MEMBER' \ --role='roles/viewer'
API
Lesen Sie die vorhandene Richtlinie mit der
getIamPolicy
-Methode der Ressource. Um beispielsweise die Richtlinie für ein bestimmtes Image abzurufen, verwenden Sie die Methodeimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Dabei gilt:
PROJECT_ID
: die Projekt-ID des Projekts, zu dem dieses Image gehörtIMAGE_NAME
: der Name des Image
Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.
Wenn Sie Mitglieder und die zugehörigen Rollen hinzufügen oder entfernen möchten, können Sie die Richtlinie mit einem Texteditor bearbeiten. Verwenden Sie das folgende Format, um Mitglieder hinzuzufügen:
user:test-user@gmail.com
group:admins@example.com
serviceAccount:test123@example.domain.com
domain:example.domain.com
Fügen Sie der Richtlinie beispielsweise die folgende Bindung hinzu, um
test-user@example.com
die Rolleroles/compute.imageUser
zu gewähren:{ "members": [ "user:test-user@example.com" ], "role":"roles/compute.imageUser" }
Verwenden Sie die Methode
setIamPolicy
, um die aktualisierte Richtlinie zu schreiben. Wenn Sie beispielsweise eine Richtlinie für ein bestimmtes Image festlegen möchten, verwenden Sie die Methodeimages.setIamPolicy
. Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Dabei gilt:
PROJECT_ID
: die Projekt-ID des Projekts, zu dem dieses Image gehörtIMAGE_NAME
: der Name des Image
Optional können Sie Nutzern die IAM-Rolle "Betrachter" (
roles/viewer
) für das Image-Projekt zuweisen, damit sie diese freigegebenen Images in ihrenimages.list
-Anfragen sehen können. Verwenden Sie dazu die Methodeprojects.setIamPolicy
. Wenn Sie nicht möchten, dass Ihre Nutzer die Liste der freigegebenen Images sehen, können Sie diesen Schritt überspringen.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Benutzerdefinierte Images öffentlich freigeben
Sie können Ihre benutzerdefinierten Images für alle authentifizierten Compute Engine-Nutzer freigeben, unabhängig davon, ob sie Teil Ihrer Organisation oder Ihres Projekts sind.
Sie können nur Ressourcen wie beispielsweise Images für alle authentifizierten Nutzer freigeben. Projekte oder Organisationen können nicht für alle authentifizierten Nutzer freigegeben werden. Diese Einschränkung und die Ressourcenhierarchie verhindern, dass eine Organisation versehentlich ihr gesamtes Projekt mit allen authentifizierten Compute Engine-Nutzern teilt.
Das folgende Beispiel zeigt, wie allen authentifizierten Compute Engine-Nutzern die Rolle "Compute Image-Nutzer" (roles/compute.imageUser
) für ein benutzerdefiniertes Image gewährt wird.
gcloud
Verwenden Sie den Befehl gcloud compute images add-iam-policy-binding
, um Images zu veröffentlichen:
gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='allAuthenticatedUsers' \ --role='roles/compute.imageUser'
Ersetzen Sie IMAGE_NAME
durch den Namen der Ressource, z. B. my_image
.
API
Lesen Sie die vorhandene Richtlinie mit der Methode
getIamPolicy
. Um beispielsweise die Richtlinie für ein bestimmtes Image abzurufen, verwenden Sie die Methodeimages.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Dabei gilt:
PROJECT_ID
: die Projekt-ID des Projekts, zu dem dieses Image gehörtIMAGE_NAME
: der Name des Image
Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.
Wenn Sie Mitglieder und ihre zugehörigen Rollen hinzufügen oder entfernen möchten, bearbeiten Sie die Richtlinie in einem Texteditor:
{ "members": [ "allAuthenticatedUsers" ], "role":"roles/compute.imageUser" }
Verwenden Sie die Methode
setIamPolicy
, um die aktualisierte Richtlinie zu schreiben. Wenn Sie beispielsweise eine Richtlinie für ein bestimmtes Image festlegen möchten, verwenden Sie die Methodeimages.setIamPolicy
. Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Dabei gilt:
PROJECT_ID
: die Projekt-ID des Projekts, zu dem dieses Image gehörtIMAGE_NAME
: der Name des Image
Einer verwalteten Instanzgruppe Zugriff auf Images gewähren
Mit Compute Engine können Sie eine Gruppe von VMs erstellen, entweder als verwaltete oder als nicht verwaltete Instanzgruppen. Wenn Sie eine verwaltete Instanzgruppe (Managed Instance Group, MIG) erstellen, verwendet Compute Engine das Google APIs-Dienstkonto zum Aufrufen der Compute Engine API für relevante Aktionen in Bezug auf die Gruppe. Dabei kann es sich z. B. um die Neuerstellung fehlerhafter Instanzen handeln oder um das Aktualisieren von VMs.
Wenn Sie eine MIG mit einem Image aus einem anderen Projekt erstellen möchten, weisen Sie dem API-Dienstkonto des Projekts, das die MIG erstellt, die Rolle "Compute Image-Nutzer" (roles/compute.imageUser
) zu. Beispiel:
- Projekt A möchte eine MIG mit Images erstellen, die Projekt B gehören.
- Projekt B gewährt dem Dienstkonto von Projekt A die Rolle "Compute-Image-Nutzer".
- Projekt A kann jetzt Images aus Projekt B verwenden, um MIGs zu erstellen.
Nachdem Sie die Rolle "Compute-Image-Nutzer" gewährt haben, können Sie über die Konsole oder die Image-URL auf das Image aus den anderen Projekten zugreifen, wenn Sie die Instanzvorlage für die verwaltete Gruppe erstellen.
E-Mail-Adresse des Dienstkontos abrufen
Rufen Sie in der Google Cloud Console die Seite IAM des Projekts auf, auf dessen Dienstkonto Sie Zugriff gewähren möchten.
Wählen Sie bei Aufforderung Ihr Projekt aus der Liste aus.
Suchen Sie nach dem Google APIs-Dienst-Agent, dessen E-Mail-Adresse folgendes Format hat:
PROJECT_NUMBER@cloudservices.gserviceaccount.com
Nachdem Sie die E-Mail-Adresse des Dienstkontos abgerufen haben, können Sie einen der folgenden Abschnitte aufrufen:
- Einer MIG Zugriff auf alle Images in einem Projekt gewähren
- Einer MIG Zugriff auf bestimmte Images in einem Projekt gewähren
Einer MIG Zugriff auf alle Images in einem Projekt gewähren
Nachdem Sie die E-Mail-Adresse eines Dienstkontos abgerufen haben, können Sie die Adresse zu einem anderen Projekt hinzufügen und die Rolle "Compute Image-Nutzer" (roles/compute.imageUser
) zuweisen.
Console
Rufen Sie in der Google Cloud Console die Seite IAM des Image-Projekts auf.
Um ein neues Mitglied hinzuzufügen, klicken Sie auf
Zugriff gewähren.Fügen Sie im Feld Neue Hauptkonten die E-Mail-Adresse des Dienstkontos hinzu.
Halten Sie in der Liste Rolle den Mauszeiger auf Compute und wählen Sie Compute-Image-Nutzer aus.
Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.
Klicken Sie auf Speichern.
Wechseln Sie zum Projekt des Dienstkontos.
Sie können jetzt eine Instanzvorlage anhand eines Image aus dem Image-Projekt und eine MIG anhand der Instanzvorlage erstellen.
gcloud
Fügen Sie mit dem Befehl gcloud projects
add-iam-policy-binding
ein Dienstkonto aus einem Image-Projekt hinzu:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' --role='roles/compute.imageUser'
Dabei gilt:
PROJECT_ID
: die ID des Projekts mit den freizugebenden ImagesSERVICE_ACCOUNT_EMAIL
: die E-Mail-Adresse des Dienstkontos
Sie können jetzt eine Instanzvorlage anhand eines Image aus dem Image-Projekt und eine MIG anhand der Instanzvorlage erstellen.
API
Rufen Sie die IAM-Richtlinie des Image-Projekts mit der Methode
projects.getIamPolicy
ab:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:getIamPolicy
Ersetzen Sie
PROJECT_ID
durch die Produkt-ID des Image-Projekts.Bearbeiten Sie die Richtlinie mit einem Texteditor, um dem Dienstkonto die Rolle
roles/compute.imageUser
zuzuweisen:{ "bindings": [ { "role": "roles/compute.imageUser", "members": [ "serviceAccount:SERVICE_ACCOUNT_EMAIL" ] } ] }
Ersetzen Sie
SERVICE_ACCOUNT_EMAIL
durch die E-Mail des Dienstkontos.Verwenden Sie die
projects.setIamPolicy
, um die aktualisierte Richtlinie zu schreiben. Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setIamPolicy
Ersetzen Sie
PROJECT_ID
durch die Produkt-ID des Image-Projekts.Sie können jetzt eine Instanzvorlage anhand eines Image aus dem Image-Projekt und eine MIG anhand der Instanzvorlage erstellen.
Einer MIG Zugriff auf bestimmte Images in einem Projekt gewähren
Nachdem Sie die E-Mail-Adresse eines Dienstkontos abgerufen haben, können Sie die Adresse einem anderen Projekt hinzufügen und die Rolle "Compute-Image-Nutzer" (roles/compute.imageUser
) für bestimmte Images zuweisen.
Console
Rufen Sie in der Google Cloud Console die Seite Images des Image-Projekts auf.
Klicken Sie die Kästchen neben den Images an, die Sie freigeben möchten.
Klicken Sie zum Maximieren der Spalte für Berechtigungen auf Infofeld ansehen.
Klicken Sie im Bereich Berechtigungen auf Hauptkonto hinzufügen.
Geben Sie im Feld Neue Hauptkonten die E-Mail-Adresse des Dienstkontos ein, für das Sie das Image freigeben möchten. Beispiel:
test123@example.domain.com
.Wählen Sie in der Liste Rolle die Option Compute und dann Compute Image-Nutzer aus.
Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.
Klicken Sie auf Speichern.
Wechseln Sie zum Projekt des Dienstkontos.
Sie können jetzt eine Instanzvorlage anhand eines Image aus dem Image-Projekt und eine MIG anhand der Instanzvorlage erstellen.
gcloud
Wenn Sie einem Dienstkonto Zugriff auf ein bestimmtes Image gewähren möchten, verwenden Sie den Befehl gcloud compute images add-iam-policy-binding
:
gcloud compute images add-iam-policy-binding IMAGE_NAME \ --member='serviceAccount:SERVICE_ACCOUNT_EMAIL' \ --role='roles/compute.imageUser'
Dabei gilt:
IMAGE_NAME
: der Image-Name, den Sie freigeben möchtenSERVICE_ACCOUNT_EMAIL
: die E-Mail-Adresse des Dienstkontos
Sie können jetzt eine Instanzvorlage anhand eines Image aus dem Image-Projekt und eine MIG anhand der Instanzvorlage erstellen.
API
Rufen Sie die IAM-Richtlinie eines Image mit der Methode
images.getIamPolicy
ab:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Dabei gilt:
PROJECT_ID
: die Projekt-ID des Image-Projekts.IMAGE_NAME
: der Name des Image, das Sie freigeben möchten.
Bearbeiten Sie die Richtlinie mit einem Texteditor, um dem Dienstkonto die Rolle
roles/compute.imageUser
zuzuweisen:{ "bindings": [ { "role": "roles/compute.imageUser", "members": [ "serviceAccount:SERVICE_ACCOUNT_EMAIL" ] } ] }
Ersetzen Sie
SERVICE_ACCOUNT_EMAIL
durch die E-Mail des Dienstkontos.Verwenden Sie die Methode
images.setIamPolicy
, um die aktualisierte Richtlinie zu schreiben. Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:setIamPolicy
Dabei gilt:
PROJECT_ID
: die Projekt-ID des Image-Projekts.IMAGE_NAME
: der Name des Image, das Sie freigeben möchten.
Sie können jetzt eine Instanzvorlage anhand eines Image aus dem Image-Projekt und eine MIG anhand der Instanzvorlage erstellen.
Verwendung freigegebener Images und Snapshots steuern
Nachdem Sie Ihre Images für andere Nutzer freigegeben haben, können Sie steuern, wo diese Nutzer diese Ressourcen in Ihrer Organisation verwenden. Mit der Einschränkung constraints/compute.storageResourceUseRestrictions
können Sie festlegen, in welchen Projekten Nutzer Ihre Speicherressourcen verwenden dürfen.
Sie müssen die Berechtigung haben, die Richtlinien Ihrer Organisation zu ändern, um diese Einschränkungen festzulegen. Die Rolle resourcemanager.organizationAdmin
hat beispielsweise die Berechtigung, diese Einschränkungen festzulegen.
Suchen Sie die Organisations-ID für Ihre Organisation mit dem Befehl
gcloud organization list
:gcloud organizations list
Rufen Sie die vorhandenen Richtlinieneinstellungen für Ihr Projekt mit dem Befehl
gcloud resource-manager org-policies describe
ab.gcloud resource-manager org-policies describe \ compute.storageResourceUseRestrictions \ --organization ORGANIZATION_ID > org-policy.yaml
Ersetzen Sie ORGANIZATION_ID durch die 12-stellige numerische Organisations-ID.
Öffnen Sie die Datei
org-policy.yaml
in einem Texteditor und ändern Sie die Einschränkungcompute.storageResourceUseRestrictions
. Fügen Sie die gewünschten Einschränkungen hinzu und entfernen Sie die nicht mehr benötigten Einschränkungen. Wenn Sie mit der Bearbeitung der Datei fertig sind, speichern Sie die Änderungen. Sie können in der Richtliniendatei z. B. die folgende Einschränkung angeben:constraint: compute.storageResourceUseRestrictions listPolicy: allowedValues: - under:organization/organization-id
Wenden Sie die Datei
org-policy.yaml
mit dem Befehlgcloud resource-manager org-policies set-policy
auf Ihre Organisation an:gcloud resource-manager org-policies set-policy \ --organization=ORGANIZATION_ID org-policy.yaml
Ersetzen Sie ORGANIZATION_ID durch die 12-stellige numerische Organisations-ID.
Wenn Sie die Einschränkungen in der Organisationsrichtlinie fertig konfiguriert haben, sollten Sie diese Einschränkungen darauf prüfen, ob die gewünschten Beschränkungen erzielt wurden.
Images aus einem anderen Projekt verwenden
Wenn Ihnen Zugriff auf ein oder mehrere Images in einem anderen Projekt gewährt wurde, können Sie auf diese Images im Projekt zugreifen, indem Sie das Image-Projekt in Ihren Anfragen angeben.
So erstellen Sie beispielsweise eine VM anhand eines freigegebenen Image aus einem anderen Projekt:
Console
Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.
- Geben Sie einen Namen für Ihre VM an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.
- Ändern Sie optional die Zone für diese VM. In Compute Engine wird die Liste der Zonen in jeder Region zufällig angeordnet, um die Verwendung in mehreren Zonen zu fördern.
- Wählen Sie eine Maschinenkonfiguration für Ihre VM aus.
- Klicken Sie im Abschnitt Bootlaufwerk auf Ändern, um das Bootlaufwerk zu konfigurieren. Gehen Sie dann so vor:
- Wählen Sie den Tab Benutzerdefinierte Images aus.
- Klicken Sie zum Auswählen des Image-Projekts auf Projekt auswählen und gehen Sie dann so vor:
- Wählen Sie das Projekt aus, das das Image enthält.
- Klicken Sie auf Öffnen.
- Klicken Sie in der Liste Image auf das Image, das Sie importieren möchten.
- Wählen Sie den Typ und die Größe des Bootlaufwerks aus.
- Klicken Sie auf Auswählen, um die Bootlaufwerksoptionen zu bestätigen.
Wählen Sie im Abschnitt Firewall die Option HTTP-Traffic zulassen oder HTTPS-Traffic zulassen aus, um HTTP- oder HTTPS-Traffic zur VM zuzulassen.
In der Google Cloud Console werden der VM ein Netzwerk-Tag hinzugefügt und entsprechende Firewallregeln für eingehenden Traffic erstellt, die den gesamten eingehenden Traffic über
tcp:80
(HTTP) odertcp:443
(HTTPS) zulassen. Das Netzwerk-Tag ordnet die Firewallregel der VM zu. Weitere Informationen finden Sie unter Übersicht über Firewallregeln in der Virtual Private Cloud-Dokumentation.- Klicken Sie zum Starten und Erstellen einer VM auf Erstellen.
gcloud
Sie erstellen eine VM mit dem gcloud compute instances create command
und verwenden die Flags --image
und --image-project
, um den Image-Namen und das Projekt anzugeben, in dem das Image liegt:
gcloud compute instances create VM_NAME \ --image=IMAGE \ --image-project=IMAGE_PROJECT
Dabei gilt:
VM_NAME
ist der Name der neuen VM.IMAGE
ist der Name des Images.IMAGE_PROJECT
ist das Projekt, zu dem das Image gehört.
Wenn der Befehl erfolgreich ausgeführt wurde, gibt gcloud
die Attribute der neuen VM zurück:
Created [https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b/instances/example-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS example-instance us-central1-b e2-standard-2 10.240.0.4 104.198.53.60 RUNNING
API
Wenn Sie in der API eine VM mit einem freigegebenen Image erstellen möchten, gehen Sie genauso vor wie beim Erstellen einer VM mit einem öffentlich verfügbaren Image.
Verwenden Sie zum Erstellen der VM aus einem freigegebenen Image die Methode instances.insert
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
/zones/ZONE
/instances { "machineType":"zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name":"VM_NAME
", "disks":[ { "initializeParams":{ "sourceImage":"projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME" } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT" } }
Dabei gilt:
PROJECT_ID
ist die ID des Projekts, in dem die VM erstellt werden soll.ZONE
ist die Zone, in der die VM erstellt werden soll.MACHINE_TYPE_ZONE
ist die Zone mit dem Maschinentyp, der für die neue VM verwendet werden soll.MACHINE_TYPE
legt einen vordefinierten oder benutzerdefinierten Maschinentyp für die neue VM fest.VM_NAME
ist der Name der neuen VM.IMAGE_PROJECT
ist der Name des Projekts, das das freigegebene Image enthält.- Für
IMAGE
oderIMAGE_FAMILY
muss eine der folgenden Optionen angegeben werden:IMAGE
ist der Name des freigegebenen Images. Beispiel:"sourceImage": "projects/finance-project-1234/global/images/finance-debian-image-v2"
.IMAGE_FAMILY
legt die benutzerdefinierte Image-Familie fest, wenn das freigegebene Image als Teil einer benutzerdefinierten Image-Familie erstellt wird.Dies erstellt die VM aus dem aktuellen, nicht verworfenen Betriebssystem-Image in Ihrer benutzerdefinierten Image-Familie. Wenn Sie beispielsweise
"sourceImage": "projects/finance-project-1234/global/images/family/finance-debian-family"
angeben, legt Compute Engine eine VM aus der neuesten Version des Betriebssystem-Images in der benutzerdefiniertenfinance-debian-family
-Image-Familie an.
NETWORK_NAME
: das VPC-Netzwerk, das Sie für die VM verwenden möchten. Sie könnendefault
angeben, um Ihr Standardnetzwerk zu verwenden.ENABLE_SECURE_BOOT
: (Optional) Wenn Sie ein Image ausgewählt haben, das Shielded VM-Features unterstützt, aktiviert Compute Engine standardmäßig das Virtual Trusted Platform Module (vTPM) und das Integritätsmonitoring. Compute Engine aktiviert nicht standardmäßig Secure Boot.
Wenn Sie fürenableSecureBoot
den Werttrue
angeben, erstellt Compute Engine eine VM, bei der alle drei Shielded VM-Features aktiviert sind. Nachdem Compute Engine Ihre VM gestartet hat, müssen Sie die VM beenden, um Shielded VM-Optionen zu ändern.
Sie können nichtflüchtige Bootlaufwerke auch aus Images in einem anderen Projekt erstellen. Informationen zum Erstellen eines Bootlaufwerks aus einem Image finden Sie unter Eigenständiges nichtflüchtiges Bootlaufwerk aus einem Image erstellen.
Zugriff auf freigegebene Images widerrufen
Nachdem ein Nutzer keinen Zugriff mehr auf Ihre Compute Engine-Ressourcen benötigt, widerrufen Sie den Zugriff mit der Google Cloud Console, der Google Cloud CLI oder der Compute Engine API.
Console
Rufen Sie in der Google Cloud Console die Seite Images des Image-Projekts auf.
Klicken Sie die Kästchen neben den Images an, die Sie aktualisieren möchten.
Klicken Sie zum Maximieren der Spalte für Berechtigungen auf Infofeld ansehen.
Erweitern Sie die Rolle, aus der Sie Nutzer entfernen möchten.
Klicken Sie auf
Löschen, um einen Nutzer aus dieser Rolle zu entfernen.
gcloud
Verwenden Sie zum Entfernen eines Nutzers aus einer Rolle für ein Image den Befehl gcloud compute images
remove-iam-policy-binding
mit den Flags --member
und --role
.
gcloud compute images remove-iam-policy-binding IMAGE_NAME \ --member='MEMBER' \ --role='ROLE'
Dabei gilt:
IMAGE_NAME
: der Name des Image, z. B.my_image
MEMBER
: die Identität, die Sie entfernen möchtenMuss das Format
user|group|serviceAccount:email
oderdomain:domain
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 die Identität entfernen möchten.
Wenn Sie Zugriff auf eine Ressource widerrufen, die sich in der Betaphase befindet, verwenden Sie stattdessen den Befehl gcloud beta compute
.
API
Lesen Sie die vorhandene Richtlinie mit der Methode
images.getIamPolicy
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/images/IMAGE_NAME:getIamPolicy
Dabei gilt:
PROJECT_ID
: die Projekt-ID, zu der dieses Image gehörtIMAGE_NAME
: der Name des Image
Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.
Bearbeiten Sie die Richtlinie mit einem Texteditor, um Mitglieder und die zugehörigen Rollen zu entfernen.
Verwenden Sie die Methode
images.setIamPolicy
, um die aktualisierte Richtlinie zu schreiben. Geben Sie im Anfragetext die aktualisierte IAM-Richtlinie aus dem vorherigen Schritt an.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/global/images/IMAGE_NAME:setIamPolicy
Dabei gilt:
PROJECT_ID
: die Projekt-ID, zu der dieses Image gehörtIMAGE_NAME
: der Name des Image
Nächste Schritte
- Identitäts- und Zugriffsverwaltung (IAM)
- Liste der Compute Engine-IAM-Rollen abrufen
- Images
- VM mit einem freigegebenen Image erstellen
- Eigenständigen nichtflüchtigen Speicher mit Startfunktion erstellen
- Rolle mit den Bereitstellungen des Deployment Managers verwenden
- Grundsatz der geringsten Berechtigungen anwenden, indem Sie Zugriff auf bestimmte Compute Engine-Ressourcen gewähren anstatt auf ein ganzes Projekt