Zugriffssteuerung in einer Konfiguration festlegen

Mit Identity and Access Management (IAM) können Sie den Zugriff auf Ihre Ressourcen in der Google Cloud Platform steuern. Mit IAM können Sie Berechtigungen einrichten, um zu bestimmen, wer welche Art von Zugriff auf bestimmte Ressourcen in Ihrem Projekt hat. Eine Einführung in IAM finden Sie in der IAM-Übersicht.

Wenn Sie Ressourcen bereitstellen, können Sie auch steuern, wer Zugriff auf diese Ressourcen hat, indem Sie im Voraus eine Cloud IAM-Richtlinie in Ihre Konfiguration aufnehmen. Wenn Sie beispielsweise Pub/Sub-Themen erstellen möchten, die von bestimmten Nutzern verwaltet werden können, geben Sie in der Konfiguration eine IAM-Richtlinie an, um Deployment Manager entsprechend zu informieren. Wenn Sie Ihre Bereitstellung erstellen oder aktualisieren, ruft Deployment Manager die IAM API (Identity and Access Management) auf, um die entsprechenden Berechtigungen für die Ressource festzulegen.

Vorbereitung

  • Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, installieren Sie das gcloud-Befehlszeilentool.

IAM-Richtlinien in Deployment Manager verwenden

Eine IAM-Richtlinie ist eine Sammlung von Nutzern und ihren Rollen. Sie können eine IAM-Richtlinie mithilfe einer einfachen oder vordefinierten Rolle (falls vorhanden) auf Projektebene festlegen. Einige Dienste, wie z. B. Cloud Pub/Sub, unterstützen auch das Festlegen von IAM-Richtlinien auf Ressourcenebene.

Wenn ein Dienst die Festlegung von IAM-Richtlinien auf Ressourcenebene nicht unterstützt, gibt Deployment Manager den Fehler NO_METHOD_TO_UPDATE_ACCESS_CONTROL zurück.

Eine Liste der Rollen und Ressourcen, auf die diese Richtlinien angewendet werden können, finden Sie unter Informationen zu Rollen.

Deployment Manager Berechtigung zur Festlegung von IAM-Richtlinien gewähren

Deployment Manager nutzt das Google APIs-Dienstkonto, um andere Google APIs aufzurufen und verwaltet für Sie Google Cloud Platform-Ressourcen. Sie müssen dem Google APIs-Dienstkonto Ihres Projekts die einfache roles/owner-Rolle zuweisen, damit es die IAM-Richtlinien, die Sie in Ihrer Konfiguration definieren, festlegen kann.

  1. Gehen Sie zur IAM-Seite in der GCP Console Ihres Projekts.

    Zur Seite "IAM"

  2. Wählen Sie bei Aufforderung Ihr Projekt aus der Liste aus.
  3. Suchen Sie nach dem Google APIs-Dienstkonto, dessen E-Mail-Adresse folgendes Format hat:

    [PROJECT_NUMBER]@cloudservices.gserviceaccount.com
    
  4. Weisen Sie dem APIs-Dienstkonto die Rolle roles/owner zu:

    Console

    1. Erweitern Sie in der Google Cloud Platform Console die Drop-down-Liste Rollen für das Google APIs-Dienstkonto und wählen Sie Projekt > Inhaber aus.
    2. Klicken Sie auf Speichern, um die Änderungen zu speichern.

    gcloud

    Fügen Sie mit dem Befehlszeilentool gcloud eine Bindung an die Cloud IAM-Richtlinie für das Projekt hinzu:

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
        --member serviceAccount:[SERVICE_ACCOUNT_EMAIL] --role roles/owner

    Dabei gilt Folgendes:

    • [PROJECT_ID] ist die ID des Projekts.
    • [SERVICE_ACCOUNT_EMAIL] ist die E-Mail-Adresse des Dienstkontos.

    Beispiel:

    gcloud projects add-iam-policy-binding database-images \
        --member serviceAccount:123456789012@cloudservices.gserviceaccount.com  \
        --role roles/owner

    API

    Stellen Sie in der API eine POST-Anfrage an folgende URL, wobei [PROJECT_ID] die ID des Projekts ist:

    POST https://cloudresourcemanager.googleapis.com/v1/projects/$[PROJECT_ID]:setIamPolicy
    

    Der Anfragetext soll eine Liste der Bindungen, die für dieses Projekt gelten sollen, enthalten. Die Nutzerrolle roles/owner sollte Teil der Bindung sein. Zum Beispiel:

    {
        "policy": {
            "version": "0",
            "bindings": [
                {
                    "role": "roles/owner",
                    "members": [
                        "user:example@gmail.com",
                        "serviceAccount:123456789012@cloudservices.gserviceaccount.com"
                    ]
                }
            ]
        }
    }
    

IAM-Richtlinie in Konfiguration festlegen

Als Nächstes können Sie in Ihrer Konfiguration oder Vorlage eine IAM-Richtlinie festlegen. Dazu führen Sie folgende Schritte aus:

  1. Fügen Sie den Abschnitt accessControl zur obersten Ebene der Konfiguration für jede Ressource hinzu, für die die Richtlinien zur Zugriffssteuerung gelten sollen.

  2. Geben Sie die gewünschte gcpIamPolicy-Richtlinie für die Ressource an. Jede IAM-Richtlinie kann eine Liste mit Bindungen enthalten. Jede Bindung bindet eine Liste von Mitgliedern an eine Rolle.

Der folgende Abschnitt accessControl fügt beispielsweise Bindungen hinzu, die Nutzern diese Rollen zuweisen:

Nutzer Role
alice@example.com roles/pubsub.editor
  • my-other-app@appspot.gserviceaccount.com
  • jane@example.com
roles/pubsub.publisher
resources:
- name: a-new-pubsub-topic
  type: pubsub.v1.topic
  properties:
    ...

  accessControl:
    gcpIamPolicy:
      bindings:
      - role: roles/pubsub.editor
        members:
        - "user:alice@example.com"
      - role: roles/pubsub.publisher
        members:
        - "user:jane@example.com"
        - "serviceAccount:my-other-app@appspot.gserviceaccount.com"

Weitere Informationen über IAM-Richtlinien finden Sie in der IAM-Dokumentation.

Hat Ihnen diese Seite weitergeholfen? Teilen Sie uns Ihr Feedback mit:

Feedback geben zu...

Cloud Deployment Manager-Dokumentation