IAM-Richtlinien für verwaltete Ordner festlegen und verwalten

Auf dieser Seite wird beschrieben, wie Sie IAM-Richtlinien (Identity and Access Management) für verwaltete Ordner festlegen, um eine detaillierte Zugriffssteuerung für bestimmte Gruppen von Objekten in einem Bucket zu erhalten.

Wenn Sie nach anderen Methoden der Zugriffssteuerung suchen, finden Sie weitere Informationen in den folgenden Ressourcen:

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle „Storage Folder Admin“ (roles/storage.folderAdmin) für den Bucket zuzuweisen, der die Berechtigungen zum Festlegen und Verwalten von Richtlinien für verwaltete Ordner enthält. Die verwalteten Ordner.

Diese Rolle enthält die folgenden Berechtigungen, die zum Festlegen und Verwalten von IAM-Richtlinien für verwaltete Ordner erforderlich sind:

  • storage.managedFolders.getIamPolicy

  • storage.managedFolders.setIamPolicy

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

Informationen zum Zuweisen von Rollen für Buckets finden Sie unter IAM-Richtlinien für Buckets festlegen und verwalten.

IAM-Richtlinie für einen verwalteten Ordner festlegen

Console

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, der den verwalteten Ordner enthält, für den Sie eine IAM-Richtlinie festlegen möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf das Symbol Weitere Optionen im Bereich Ordnerbrowser neben dem Ordner, für den Sie eine IAM-Richtlinie festlegen möchten.

    Wenn Sie den Zugriff innerhalb eines Ordners oder eines simulierten Ordners steuern möchten, führen Sie die Schritte unter Verwalteten Ordner erstellen aus, um die Verwaltung für den Ordner oder den simulierten Ordner zu aktivieren.

  4. Klicken Sie auf Zugriff bearbeiten.

  5. Klicken Sie im Bereich Berechtigungen für MANAGED_FOLDER_NAME auf Hauptkonto hinzufügen.

  6. Geben Sie im Feld Neue Hauptkonten das Hauptkonto ein, dem Sie Zugriff gewähren möchten. Weitere Informationen zu Hauptkonten, die Sie aufnehmen können, finden Sie unter Hauptkonto-IDs.

  7. Wählen Sie im Abschnitt Rollen zuweisen die Drop-down-Liste Rolle auswählen aus, um die Zugriffsebene anzugeben, die Sie dem Hauptkonto zuweisen möchten.

  8. Klicken Sie auf Speichern.

Befehlszeile

Sie können den Zugriff auf einen verwalteten Ordner mit einem der folgenden Befehle gewähren:

  • gcloud storage managed-folders add-iam-policy-binding: Fügt der vorhandenen IAM-Richtlinie des verwalteten Ordners eine einzelne Rollenbindung für ein Hauptkonto hinzu. Bindungen, die bereits in der Richtlinie vorhanden sind, bleiben unverändert. Sie müssen keine Richtliniendatei erstellen, um diesen Befehl zu verwenden.

  • gcloud storage managed-folders set-iam-policy: Ersetzt die gesamte IAM-Richtlinie des verwalteten Ordners durch die Richtlinie, die Sie in einer JSON-Datei definieren. Alle Bindungen, die nicht in der JSON-Datei enthalten sind, werden aus dem verwalteten Ordner entfernt.

Führen Sie den Befehl gcloud storage managed-folders add-iam-policy-binding aus, um der IAM-Richtlinie eines verwalteten Ordners eine Rollenbindung hinzuzufügen:

gcloud storage managed-folders add-iam-policy-binding gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE

Ersetzen Sie Folgendes:

  • BUCKET_NAME: der Name des Buckets, der den verwalteten Ordner enthält, auf den Sie dem Hauptkonto Zugriff gewähren möchten, z. B. my-bucket.

  • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, auf den Sie dem Hauptkonto Zugriff gewähren möchten, z. B. my-managed-folder/.

  • PRINCIPAL_IDENTIFIER: das Hauptkonto, dem Sie Zugriff auf den verwalteten Ordner gewähren, z. B. user:example-service-account@example-project.. Eine Liste der Formate für Hauptkonto-IDs finden Sie unter Hauptkonto-Kennungen.

  • IAM_ROLE: die IAM-Rolle, die Sie zuweisen, z. B. roles/storage.objectViewer.

Informationen zum Einbeziehen einer IAM-Bedingung in die Rollenbindung finden Sie unter Neue Bedingung für einen verwalteten Ordner festlegen.

So ersetzen Sie die gesamte IAM-Richtlinie eines verwalteten Ordners:

  1. Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:

    {
      "bindings":[
        {
          "role": "IAM_ROLE",
          "members":[
            "PRINCIPAL_IDENTIFIER"
          ]
        }
      ]
    }

    Ersetzen Sie Folgendes:

    • IAM_ROLE: die IAM-Rolle, die Sie zuweisen, z. B. roles/storage.objectViewer.

    • PRINCIPAL_IDENTIFIER: Das Hauptkonto, dem Sie Zugriff auf den verwalteten Ordner gewähren, z. B. user:example-service-account@example-project.. Eine Liste der Formate für Hauptkonto-IDs finden Sie unter Hauptkonto-Kennungen.

    Fügen Sie alle Bindungen hinzu, die der verwaltete Ordner haben soll, da die Bindungen in dieser Datei alle vorhandenen Bindungen ersetzen.

  2. Führen Sie den Befehl gcloud storage managed-folders set-iam-policy aus:

    gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME POLICY_FILE

    Ersetzen Sie Folgendes:

    • BUCKET_NAME: der Name des Buckets mit dem verwalteten Ordner, auf den Sie die IAM-Richtlinie anwenden möchten, z. B. my-bucket.

    • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, auf den Sie die IAM-Richtlinie anwenden möchten, z. B. my-managed-folder/.

    • POLICY_FILE: der Pfad zur JSON-Datei, die Sie in Schritt 1 erstellt haben.

REST APIs

JSON

  1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:

    {
      "bindings":[
        {
          "role": "IAM_ROLE",
          "members":[
            "PRINCIPAL_IDENTIFIER"
          ]
        }
      ]
    }

    Ersetzen Sie Folgendes:

    • IAM_ROLE: die IAM-Rolle, die Sie zuweisen, z. B. roles/storage.objectViewer.

    • PRINCIPAL_IDENTIFIER: Das Hauptkonto, dem Sie Zugriff auf den verwalteten Ordner gewähren, z. B. user:example-service-account@example-project.. Eine Liste der Formate für Hauptkonto-IDs finden Sie unter Hauptkonto-Kennungen.

  3. Verwenden Sie cURL, um die JSON API mit einer PUT setIamPolicy-Anfrage aufzurufen:

    curl -X PUT --data-binary @POLICY_FILE \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "Content-Type: application/json" \
      "https://storage./storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"

    Ersetzen Sie Folgendes:

    • POLICY_FILE: der Pfad zur JSON-Richtliniendatei, die Sie im vorherigen Schritt erstellt haben.

    • BUCKET_NAME: der Name des Buckets mit dem verwalteten Ordner, auf den Sie die IAM-Richtlinie anwenden möchten, z. B. my-bucket.

    • MANAGED_FOLDER_NAME: Der Name des verwalteten Ordners, auf den Sie dem Hauptkonto Zugriff gewähren möchten, z. B. my-managed-folder/.

IAM-Richtlinie für einen verwalteten Ordner aufrufen

Console

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, der den verwalteten Ordner enthält, für den Sie IAM-Richtlinien aufrufen möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf das Symbol Weitere Optionen im Bereich Ordnerbrowser neben dem verwalteten Ordner, für den Sie die IAM-Richtlinie aufrufen möchten.

  4. Klicken Sie auf Zugriff bearbeiten.

Im Bereich Berechtigungen für FOLDER_NAME werden die Berechtigungen für den verwalteten Ordner angezeigt, einschließlich Hauptkonto, Rolle, übernommener Rollen und IAM-Bedingungen.

Befehlszeile

Führen Sie den Befehl gcloud storage managed-folder get-iam-policy aus:

gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME

Ersetzen Sie Folgendes:

  • BUCKET_NAME: der Name des Buckets, der den verwalteten Ordner enthält, dessen IAM-Richtlinie Sie aufrufen möchten, z. B. my-bucket.

  • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, dessen IAM-Richtlinie Sie aufrufen möchten, z. B. my-managed-folder/.

REST APIs

JSON

  1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Verwenden Sie cURL, um die JSON API mit einer GET getIamPolicy-Anfrage aufzurufen:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://storage./storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"

    Ersetzen Sie Folgendes:

    • BUCKET_NAME: der Name des Buckets, der den verwalteten Ordner enthält, dessen IAM-Richtlinie Sie aufrufen möchten, z. B. my-bucket.

    • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, dessen IAM-Richtlinie Sie aufrufen möchten, z. B. my-managed-folder/.

Hauptkonten aus einer Richtlinie für verwaltete Ordner entfernen

Console

  1. Wechseln Sie in der Google Cloud Console unter „Cloud Storage“ zur Seite Buckets.

    Buckets aufrufen

  2. Klicken Sie in der Liste der Buckets auf den Namen des Buckets, der den verwalteten Ordner enthält, für den Sie IAM-Richtlinien aufrufen möchten.

  3. Klicken Sie auf der Seite Bucket-Details auf das Symbol Weitere Optionen im Bereich Ordnerbrowser neben dem verwalteten Ordner, für den Sie ein Hauptkonto entfernen möchten.

  4. Klicken Sie auf Zugriff bearbeiten.

  5. Geben Sie im Bereich Berechtigungen für FOLDER_NAME den Namen des Hauptkontos in das Feld Filter ein.

  6. Klicken Sie auf das Symbol Löschen, um den Bericht zu löschen.

Cloud Storage löscht das Hauptkonto aus Ihrem verwalteten Ordner.

Befehlszeile

Führen Sie den Befehl gcloud storage managed-folder remove-iam-policy-binding aus:

gcloud storage managed-folders remove-iam-policy-binding  gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE

Ersetzen Sie Folgendes:

  • BUCKET_NAME: der Name des Buckets, der den verwalteten Ordner enthält, für den Sie den Zugriff widerrufen, z. B. my-bucket.

  • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, dessen IAM-Richtlinie Sie entfernen möchten, z. B. my-managed-folder/.

  • PRINCIPAL_IDENTIFIER: Das Hauptkonto, dem Sie den Zugriff entziehen, z. B. user:example-service-account@example-project.. Eine Liste der Formate für Hauptkonto-IDs finden Sie unter Hauptkonto-Kennungen.

  • IAM_ROLE: die IAM-Rolle, die Sie widerrufen, z. B. roles/storage.objectViewer.

REST APIs

JSON

  1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Rufen Sie die vorhandene Richtlinie ab, die für Ihren verwalteten Ordner gilt. Verwenden Sie dazu cURL, um die JSON API mit einer GET getIamPolicy-Anfrage aufzurufen:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://storage./storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"

    Ersetzen Sie Folgendes:

    • BUCKET_NAME: der Name des Buckets, der den verwalteten Ordner enthält, für den Sie den Zugriff widerrufen, z. B. my-bucket.

    • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, dessen IAM-Richtlinie Sie entfernen möchten, z. B. my-managed-folder/.

  3. Erstellen Sie eine JSON-Datei mit der Richtlinie, die Sie im vorherigen Schritt abgerufen haben.

  4. Entfernen Sie in der JSON-Datei das gewünschte Mitglied aus der Richtlinie.

  5. Verwenden Sie cURL, um die JSON API mit einer PUT setIamPolicy-Anfrage aufzurufen:

    curl -X PUT --data-binary @JSON_FILE_NAME \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://storage./storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"

    Ersetzen Sie Folgendes:

    • JSON_FILE_NAME: der Pfad für die Datei, die Sie in Schritt 3 erstellt haben.

    • BUCKET_NAME: der Name des Buckets, der den verwalteten Ordner enthält, für den Sie den Zugriff widerrufen, z. B. my-bucket.

    • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, dessen IAM-Richtlinie Sie entfernen möchten, z. B. my-managed-folder/.

IAM-Bedingungen für verwaltete Ordner verwenden

In den folgenden Abschnitten wird gezeigt, wie Sie IAM-Bedingungen zu Ihren verwalteten Ordnern hinzufügen und daraus entfernen. Informationen zur Anzeige von IAM-Bedingungen für Ihre verwalteten Ordner finden Sie unter IAM-Richtlinie für einen verwalteten Ordner ansehen. Weitere Informationen zur Verwendung von IAM-Bedingungen mit Cloud Storage finden Sie unter Bedingungen.

Verwaltete Ordner können als Ressource in IAM-Zulassungsrichtlinienbedingungen angegeben werden, aber nicht als Ressource in IAM-Ablehnungsrichtlinienbedingungen. Ablehnungsbedingungen erkennen nur Ressourcen-Tag-Funktionen und Tags können nicht an verwaltete Ordner angehängt werden.

Bevor Sie verwalteten Ordnern Bedingungen hinzufügen, müssen Sie den einheitlichen Zugriff auf Bucket-Ebene für den Bucket aktivieren.

Neue Bedingung für einen verwalteten Ordner festlegen

Befehlszeile

  1. Erstellen Sie eine JSON- oder YAML-Datei, die die Bedingung definiert, einschließlich des title der Bedingung, der attributbasierten Logik expression für die Bedingung und optional eines description für die Bedingung.

    Beachten Sie, dass Cloud Storage in der expression nur die Attribute Datum/Uhrzeit, Ressourcentyp und Ressourcenname unterstützt.

  2. Führen Sie den Befehl gcloud storage managed-folders add-iam-policy-binding mit dem Flag --condition-from-file aus:

gcloud storage managed-folders add-iam-policy-binding  gs://BUCKET_NAME/MANAGED_FOLDER_NAME --member=PRINCIPAL_IDENTIFIER --role=IAM_ROLE --condition-from-file=CONDITION_FILE

Ersetzen Sie Folgendes:

  • BUCKET_NAME: der Name des Buckets, der den verwalteten Ordner enthält, auf den Sie dem Hauptkonto Zugriff gewähren, z. B. my-bucket.

  • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, auf den Sie dem Hauptkonto Zugriff gewähren, z. B. my-managed-folder/.

  • PRINCIPAL_IDENTIFIER: das Hauptkonto, für das die Bedingung gilt, z. B. user:example-service-account@example-project.. Eine Liste der Formate für Hauptkonto-IDs finden Sie unter Hauptkonto-Kennungen.

  • IAM_ROLE: die IAM-Rolle, die Sie dem Hauptkonto zuweisen, z. B. roles/storage.objectViewer.

  • CONDITION_FILE: die Datei, die Sie im vorherigen Schritt erstellt haben.

Alternativ können Sie die Bedingung direkt in den Befehl einfügen. Dazu nutzen Sie das Flag --condition anstelle des Flags --condition-from-file.

REST APIs

JSON

  1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Verwenden Sie eine GET getIamPolicy-Anfrage, um die IAM-Richtlinie des verwalteten Ordners in einer temporären JSON-Datei zu speichern:

    curl \
    'https://storage./storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \
    --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json

    Ersetzen Sie Folgendes:

    • BUCKET_NAME: der Name des Buckets, der den verwalteten Ordner enthält, für den Sie eine IAM-Bedingung festlegen möchten.

    • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, für den Sie eine IAM-Bedingung festlegen möchten.

  3. Bearbeiten Sie die Datei tmp-policy.json in einem Texteditor und fügen Sie den Bindungen in der IAM-Richtlinie neue Bedingungen hinzu:

    {
        "version": VERSION,
        "bindings": [
          {
            "role": "IAM_ROLE",
            "members": [
              "PRINCIPAL_IDENTIFIER"
            ],
            "condition": {
              "title": "TITLE",
              "description": "DESCRIPTION",
              "expression": "EXPRESSION"
            }
          }
        ],
        "etag": "ETAG"
    }

    Ersetzen Sie Folgendes:

    • VERSION: die Version der IAM-Richtlinie. Für verwaltete Ordner mit IAM-Bedingungen muss es die Version 3 sein.

    • IAM_ROLE: die Rolle, für die die Bedingung gilt, z. B. roles/storage.objectViewer.

    • PRINCIPAL_IDENTIFIER: das Hauptkonto, für das die Bedingung gilt, z. B. user:example-service-account@example-project.. Eine Liste der Formate für Hauptkonto-IDs finden Sie unter Hauptkonto-Kennungen.

    • TITLE: der Titel der Bedingung, z. B. expires in 2019.

    • DESCRIPTION: eine optionale Beschreibung der Bedingung, z. B. Permission revoked on New Year's.

    • EXPRESSION: ein attributbasierter logischer Ausdruck, z. B. request.time < timestamp(\"2019-01-01T00:00:00Z\"). Weitere Beispiele für Ausdrücke finden Sie in der Referenz zu Bedingungsattributen. Cloud Storage unterstützt nur die Attribute Datum/Uhrzeit, Ressourcentyp und Ressourcenname.

    Ändern Sie ETAG nicht.

  4. Legen Sie mit einer PUT setIamPolicy-Anfrage die geänderte IAM-Richtlinie für den Bucket fest:

    curl -X PUT --data-binary @tmp-policy.json \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://storage./storage/v1/b/BUCKET_NAME/managedFoldersMANAGED_FOLDER_NAME/iam"

    Ersetzen Sie Folgendes:

    • BUCKET_NAME: der Name des Buckets, der den verwalteten Ordner enthält, für den Sie eine IAM-Bedingung festlegen möchten.

    • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, für den Sie eine IAM-Bedingung festlegen möchten.

Bedingung aus einem verwalteten Ordner entfernen

Befehlszeile

  1. Geben Sie zum Speichern der IAM-Richtlinie des verwalteten Ordners den Befehl gcloud storage managed-folders get-iam-policy in einer temporären JSON-Datei ein:

    gcloud storage managed-folders get-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME > tmp-policy.json
  2. Bearbeiten Sie die Datei tmp-policy.json in einem Texteditor, um Bedingungen aus der IAM-Richtlinie zu entfernen.

  3. Legen Sie mit dem Befehl gcloud storage managed-folders set-iam-policy die geänderte IAM-Richtlinie für den verwalteten Ordner fest.

    gcloud storage managed-folders set-iam-policy gs://BUCKET_NAME/MANAGED_FOLDER_NAME tmp-policy.json

REST APIs

JSON

  1. Installieren und initialisieren Sie die gcloud CLI, um ein Zugriffstoken für den Authorization-Header zu generieren.

  2. Verwenden Sie eine GET getIamPolicy-Anfrage, um die IAM-Richtlinie des verwalteten Ordners in einer temporären JSON-Datei zu speichern:

    curl \
    'https://storage./storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \
    --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json

    Ersetzen Sie Folgendes:

    • BUCKET_NAME: der Name des Buckets, der den verwalteten Ordner enthält, für den Sie den Zugriff ändern, z. B. my-bucket.

    • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, für den Sie den Zugriff ändern, z. B. my-managed-folder/.

  3. Bearbeiten Sie die Datei tmp-policy.json in einem Texteditor, um Bedingungen aus der IAM-Richtlinie zu entfernen.

  4. Legen Sie mit einer PUT setIamPolicy-Anfrage die geänderte IAM-Richtlinie für den verwalteten Ordner fest:

    curl -X PUT --data-binary @tmp-policy.json \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    "https://storage./storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam"

    Ersetzen Sie Folgendes:

    • BUCKET_NAME: der Name des Buckets, der den verwalteten Ordner enthält, für den Sie den Zugriff ändern, z. B. my-bucket.

    • MANAGED_FOLDER_NAME: der Name des verwalteten Ordners, für den Sie den Zugriff ändern, z. B. my-managed-folder/.

IAM mit Projekten verwenden

Informationen zum Zuweisen und Widerrufen von IAM-Rollen auf Projektebene und höher finden Sie unter Zugriff auf Projekte, verwaltete Ordner und Organisationen verwalten.

Best Practices

Gewähren Sie immer nur die geringstmögliche Rolle, die das Hauptkonto für den Zugriff benötigt. Wenn ein Teammitglied beispielsweise nur die verwalteten Ordner in einem Bucket aufrufen muss, weisen Sie ihm die Rolle "Storage Object Admin" (roles/storage.objectAdmin) anstelle der Rolle "Storage Folder Admin" (roles/storage.folderAdmin) zu. Wenn das Teammitglied dagegen uneingeschränkten Zugriff auf die verwalteten Ordner in einem Bucket benötigt, weisen Sie ihm die Rolle "Storage Folder Admin" (roles/storage.folderAdmin) anstelle der Rolle "Storage Admin" (roles/storage.admin) zu.

Nächste Schritte