Zugriff auf benutzerdefinierte Images verwalten

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

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 erstellen
  • compute.images.list, um Images im Projekt aufzulisten
  • compute.disks.use, wenn das Image von einem Laufwerk erstellt wird
  • compute.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

  1. Rufen Sie in der Google Cloud Console die Seite IAM für das Projekt oder die Organisation auf.

    IAM aufrufen

  2. Um ein neues Mitglied hinzuzufügen, klicken Sie auf Zugriff gewähren.

  3. 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
  4. 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.

  5. Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.

  6. 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 oder PROJECT_ID: die Organisations-ID oder die Projekt-ID, z. B. my-organization-1 oder my-project-1.
  • MEMBER: eine gültige Identität, der Sie die Rolle zuweisen möchten

    Beispiel:

    • 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

API

  1. Lesen Sie die vorhandene Richtlinie mit der entsprechenden getIamPolicy-Methode der Ressource. Für Projekte verwenden Sie die Methode projects.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.

  2. 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 Rolle roles/compute.storageAdmin zuzuweisen:

    {
     "members": [
       "group:admins@example.com"
     ],
     "role":"roles/compute.storageAdmin"
    }
    
  3. 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öschen
  • compute.images.list, wenn Nutzer Images im Projekt oder in der Organisation auflisten müssen
  • compute.images.get, um die Images abzurufen

Console

So gewähren Sie die Berechtigung zum Löschen bestimmter Images:

  1. Rufen Sie in der Google Cloud Console die Seite Images auf.

    Zur Seite „Images“

  2. Wählen Sie die Images aus, für die Sie Berechtigungen erteilen möchten.

  3. Klicken Sie zum Maximieren der Spalte für Berechtigungen auf Infofeld ansehen.

  4. Klicken Sie zum Hinzufügen eines oder mehrerer Mitglieder auf Hauptkonto hinzufügen.

  5. 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
  6. 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.

  7. Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.

  8. Speichern Sie die Änderungen.

So gewähren Sie die Berechtigung zum Löschen von Images für ein Projekt oder eine Organisation:

  1. Rufen Sie die Seite IAM für das Projekt oder die Organisation auf.

    IAM aufrufen

  2. Klicken Sie auf Zugriff erlauben.

  3. 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
  4. 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.

  5. Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.

  6. 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 oder PROJECT_ID oder IMAGE_NAME: die 12-stellige numerische Organisations-ID, die Projekt-ID oder der Image-Name, z. B. 123456578920, my-project-1 oder my-custom-image
  • MEMBER: eine gültige Identität, der Sie die Rolle zuweisen möchten

    Beispiel:

    • 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
  • ROLE: die Rolle, die dieser Identität zugewiesen werden soll, z. B. die Rolle roles/compute.storageAdmin, oder eine benutzerdefinierte Rolle wie roles/customImageDeletionRole

API

  1. Lesen Sie die vorhandene Richtlinie mit der entsprechenden getIamPolicy-Methode der Ressource. Für Projekte verwenden Sie die Methode projects.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-ID
    • IMAGE_NAME: der Name des Image

    Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.

  2. 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 Rolle roles/compute.storageAdmin zuzuweisen:

    {
     "members": [
       "user:test-email@example.com"
     ],
     "role":"roles/compute.storageAdmin"
    }
    
  3. 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

  1. Rufen Sie in der Google Cloud Console die Seite Images auf.

    Zur Seite „Images“

  2. Wählen Sie das Image aus, das Sie für andere Nutzer freigeben möchten.

  3. Klicken Sie zum Maximieren der Spalte für Berechtigungen auf Infofeld ansehen.

  4. Klicken Sie zum Hinzufügen eines oder mehrerer Mitglieder auf Hauptkonto hinzufügen.

  5. 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
  6. 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.

  7. Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.

  8. 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.

  1. Öffnen Sie in der Google Cloud Console die Seite IAM.

    IAM aufrufen

  2. Klicken Sie auf Zugriff erlauben.

  3. 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
  4. Halten Sie in der Liste Rolle den Mauszeiger auf Projekt und wählen Sie Betrachter aus.

  5. Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.

  6. 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öchten

    Beispiel:

    • 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

  1. Lesen Sie die vorhandene Richtlinie mit der getIamPolicy-Methode der Ressource. Um beispielsweise die Richtlinie für ein bestimmtes Image abzurufen, 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-ID des Projekts, zu dem dieses Image gehört
    • IMAGE_NAME: der Name des Image

    Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.

  2. 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 Rolle roles/compute.imageUser zuweisen möchten, fügen Sie der Richtlinie die folgende Bindung hinzu:

    {
     "members": [
       "user:test-email@example.com"
     ],
     "role":"roles/compute.imageUser"
    }
    
  3. 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 Methode project.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ört
    • IMAGE_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

  1. Rufen Sie in der Google Cloud Console die Seite Images auf.

    Zur Seite „Images“

  2. Wählen Sie das Image aus, das Sie für andere Nutzer freigeben möchten.

  3. Klicken Sie zum Maximieren der Spalte für Berechtigungen auf Infofeld ansehen.

  4. Klicken Sie zum Hinzufügen eines oder mehrerer Mitglieder auf Hauptkonto hinzufügen.

  5. 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.

  6. Halten Sie in der Liste Rolle den Mauszeiger auf Compute Engine und wählen Sie Compute-Image-Nutzer aus.

  7. Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.

  8. 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.

  1. Öffnen Sie in der Google Cloud Console die Seite IAM.

    IAM aufrufen

  2. Klicken Sie auf Zugriff erlauben.

  3. 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.

  4. Halten Sie in der Liste Rolle den Mauszeiger auf Projekt und wählen Sie Betrachter aus.

  5. Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.

  6. 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

  1. Lesen Sie die vorhandene Richtlinie mit der getIamPolicy-Methode der Ressource. Um beispielsweise die Richtlinie für ein bestimmtes Image abzurufen, 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-ID des Projekts, zu dem dieses Image gehört
    • IMAGE_NAME: der Name des Image

    Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.

  2. 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 Rolle roles/compute.imageUser zu gewähren:

    {
      "members": [
        "user:test-user@example.com"
      ],
      "role":"roles/compute.imageUser"
    }
    
  3. 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 Methode images.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ört
    • IMAGE_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 ö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

  1. Lesen Sie die vorhandene Richtlinie mit der Methode getIamPolicy. Um beispielsweise die Richtlinie für ein bestimmtes Image abzurufen, 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-ID des Projekts, zu dem dieses Image gehört
    • IMAGE_NAME: der Name des Image

    Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.

  2. 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"
    }
    
  3. 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 Methode images.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ört
    • IMAGE_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:

  1. Projekt A möchte eine MIG mit Images erstellen, die Projekt B gehören.
  2. Projekt B gewährt dem Dienstkonto von Projekt A die Rolle "Compute-Image-Nutzer".
  3. 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

  1. Rufen Sie in der Google Cloud Console die Seite IAM des Projekts auf, auf dessen Dienstkonto Sie Zugriff gewähren möchten.

    Seite „IAM“

  2. Wählen Sie bei Aufforderung Ihr Projekt aus der Liste aus.

  3. 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

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

  1. Rufen Sie in der Google Cloud Console die Seite IAM des Image-Projekts auf.

    IAM aufrufen

  2. Um ein neues Mitglied hinzuzufügen, klicken Sie auf Zugriff gewähren.

  3. Fügen Sie im Feld Neue Hauptkonten die E-Mail-Adresse des Dienstkontos hinzu.

  4. Halten Sie in der Liste Rolle den Mauszeiger auf Compute und wählen Sie Compute-Image-Nutzer aus.

  5. Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.

  6. Klicken Sie auf Speichern.

  7. 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 Images
  • SERVICE_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

  1. 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.

  2. 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.

  3. 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

  1. Rufen Sie in der Google Cloud Console die Seite Images des Image-Projekts auf.

    Zur Seite „Images“

  2. Klicken Sie die Kästchen neben den Images an, die Sie freigeben möchten.

  3. Klicken Sie zum Maximieren der Spalte für Berechtigungen auf Infofeld ansehen.

  4. Klicken Sie im Bereich Berechtigungen auf Hauptkonto hinzufügen.

  5. 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.

  6. Wählen Sie in der Liste Rolle die Option Compute und dann Compute Image-Nutzer aus.

  7. Optional: Wenn Sie den Zugriff des Nutzers auf Google Cloud-Ressourcen genauer steuern möchten, fügen Sie eine bedingte Rollenbindung hinzu.

  8. Klicken Sie auf Speichern.

  9. 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öchten
  • SERVICE_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

  1. 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.
  2. 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.

  3. 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.

  1. Suchen Sie die Organisations-ID für Ihre Organisation mit dem Befehl gcloud organization list:

    gcloud organizations list
    
  2. 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.

  3. Öffnen Sie die Datei org-policy.yaml in einem Texteditor und ändern Sie die Einschränkung compute.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
    
  4. Wenden Sie die Datei org-policy.yaml mit dem Befehl gcloud 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

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Geben Sie einen Namen für Ihre VM an. Weitere Informationen finden Sie unter Konvention für Ressourcennamen.
  3. Ä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.
  4. Wählen Sie eine Maschinenkonfiguration für Ihre VM aus.
  5. Klicken Sie im Abschnitt Bootlaufwerk auf Ändern, um das Bootlaufwerk zu konfigurieren. Gehen Sie dann so vor:
    1. Wählen Sie den Tab Benutzerdefinierte Images aus.
    2. Klicken Sie zum Auswählen des Image-Projekts auf Projekt auswählen und gehen Sie dann so vor:
      1. Wählen Sie das Projekt aus, das das Image enthält.
      2. Klicken Sie auf Öffnen.
    3. Klicken Sie in der Liste Image auf das Image, das Sie importieren möchten.
    4. Wählen Sie den Typ und die Größe des Bootlaufwerks aus.
    5. Klicken Sie auf Auswählen, um die Bootlaufwerksoptionen zu bestätigen.
  6. 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) oder tcp: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.

  7. 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 oder IMAGE_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 benutzerdefinierten finance-debian-family-Image-Familie an.

  • NETWORK_NAME: das VPC-Netzwerk, das Sie für die VM verwenden möchten. Sie können default 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ür enableSecureBoot den Wert true 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

  1. Rufen Sie in der Google Cloud Console die Seite Images des Image-Projekts auf.

    Zur Seite „Images“

  2. Klicken Sie die Kästchen neben den Images an, die Sie aktualisieren möchten.

  3. Klicken Sie zum Maximieren der Spalte für Berechtigungen auf Infofeld ansehen.

  4. Erweitern Sie die Rolle, aus der Sie Nutzer entfernen möchten.

  5. 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öchten

    Muss das Format user|group|serviceAccount:email oder domain: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

  1. 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ört
    • IMAGE_NAME: der Name des Image

    Compute Engine gibt in der Antwort die aktuelle Richtlinie zurück.

  2. Bearbeiten Sie die Richtlinie mit einem Texteditor, um Mitglieder und die zugehörigen Rollen zu entfernen.

  3. 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ört
    • IMAGE_NAME: der Name des Image

Nächste Schritte