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.

Hinweise

  • 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 bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:

    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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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 folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten des Zugriffs auf benutzerdefinierte Bilder benötigen:

      Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

      Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Verwalten des Zugriffs auf benutzerdefinierte Bilder erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

      Erforderliche Berechtigungen

      Die folgenden Berechtigungen sind erforderlich, um den Zugriff auf benutzerdefinierte Images zu verwalten:

      • So gewähren Sie Nutzern oder Dienstkonten die Berechtigungen zum Erstellen und Freigeben benutzerdefinierter Bilder:
        • resourcemanager.projects.getIamPolicy für das Projekt
        • resourcemanager.projects.setIamPolicy für das Projekt
      • So gewähren Sie Nutzern oder Dienstkonten die Berechtigungen zum Löschen benutzerdefinierter Bilder:
        • resourcemanager.projects.getIamPolicy für das Projekt
        • resourcemanager.projects.setIamPolicy für das Projekt
        • compute.images.getIamPolicy auf dem Bild
        • compute.images.setIamPolicy für das Bild
      • So widerrufen Sie den Zugriff von Nutzern oder Dienstkonten auf benutzerdefinierte Images:
        • resourcemanager.projects.getIamPolicy für das Projekt
        • resourcemanager.projects.setIamPolicy für das Projekt
      • So erstellen Sie eine VM mit einem freigegebenen Image:
        • compute.instances.create für das Projekt
        • Zur Erstellung der VM mit einem benutzerdefinierten Image: compute.images.useReadOnly für das Image
        • Zur Erstellung der VM mithilfe eines Snapshots: compute.snapshots.useReadOnly für den Snapshot
        • Zur Erstellung der VM mithilfe einer Instanzvorlage: compute.instanceTemplates.useReadOnly für die Instanzvorlage
        • Um der VM ein Legacy-Netzwerk zuzuweisen: compute.networks.use für das Projekt
        • Zum Festlegen einer statische IP-Adresse für die VM: compute.addresses.use für das Projekt
        • Zur Zuweisung einer externen IP-Adresse zur VM bei Verwendung eines Legacy-Netzwerks: compute.networks.useExternalIp für das Projekt
        • Um ein Subnetz für die VM anzugeben: compute.subnetworks.use für das Projekt oder für das ausgewählte Subnetz
        • Um der VM eine externe IP-Adresse zuzuweisen, wenn Sie ein VPC-Netzwerk verwenden: compute.subnetworks.useExternalIp für das Projekt oder für das ausgewählte Subnetz
        • Um die Metadaten der VM-Instanz für die VM festzulegen: compute.instances.setMetadata für das Projekt
        • Um Tags für die VM festzulegen: compute.instances.setTags für die VM
        • Um Labels für die VM festzulegen: compute.instances.setLabels für die VM
        • Um ein Dienstkonto festzulegen, das die VM verwenden soll: compute.instances.setServiceAccount für die VM
        • Um ein neues Laufwerk für die VM zu erstellen: compute.disks.create für das Projekt
        • Um ein vorhandenes Laufwerk im Lese- oder Lese‑/Schreibmodus anzuhängen: compute.disks.use für das Laufwerk
        • Um ein vorhandenes Laufwerk im Lesemodus anzuhängen: compute.disks.useReadOnly für das Laufwerk

      Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

      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. Wenn Sie ein neues Mitglied hinzufügen möchten, 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

      REST

      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

      REST

      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.

      Berechtigungen zum Freigeben benutzerdefinierter Images innerhalb einer Organisation erteilen

      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'
      

      REST

      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
      

      Berechtigungen zum Freigeben benutzerdefinierter Images zwischen Organisationen erteilen

      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'
      

      REST

      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
        

      Berechtigungen zum öffentlichen Teilen benutzerdefinierter Images erteilen

      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.

      REST

      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. Wenn Sie ein neues Mitglied hinzufügen möchten, 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.

      REST

      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.

      REST

      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. Wenn Sie Beliebig auswählen, wählt Google automatisch eine Zone für Sie aus, basierend auf dem Maschinentyp und der Verfügbarkeit.
      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 wird der VM ein Netzwerk-Tag hinzugefügt und es werden 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 Cloud Next Generation Firewall-Dokumentation.

      7. Klicken Sie zum Starten und Erstellen einer VM auf Erstellen.

      gcloud

      1. In the Google Cloud console, activate Cloud Shell.

        Activate Cloud Shell

        At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

      2. 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 sich das Image befindet:

        gcloud compute instances create VM_NAME \
                --image=IMAGE \
                --image-project=IMAGE_PROJECT
            

        Ersetzen Sie dabei Folgendes:

        • 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

      Terraform

      Wenn Sie in Terraform eine VM mit einem freigegebenen Image erstellen möchten, gehen Sie genauso vor wie beim Erstellen einer VM mit einem öffentlich verfügbaren Image.

      1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

        Zu Seite „VM-Instanzen“

      2. Klicken Sie auf Instanz erstellen.
      3. Geben Sie die gewünschten Parameter an.
      4. Klicken Sie oben oder unten auf der Seite auf Entsprechender Code und dann auf den Tab Terraform, um den Terraform-Code aufzurufen.

      REST

      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"
         }
      }
      

      Ersetzen Sie dabei Folgendes:

      • 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

      Wenn 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 REST.

      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.

      REST

      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