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:
Informationen zum Steuern des Zugriffs auf ganze Buckets und die darin enthaltenen Objekte finden Sie unter IAM-Richtlinien für Buckets festlegen und verwalten.
Eine alternative Möglichkeit, den Zugriff auf einzelne Objekte in Ihren Buckets zu steuern, finden Sie unter Access Control Lists.
Weitere Informationen zur Steuerung des Zugriffs auf Cloud Storage-Ressourcen finden Sie unter Übersicht über die Zugriffssteuerung.
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
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
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.
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 der Ordner, für den Sie den Zugriff steuern möchten, ein simulierter Ordner ist, führen Sie die Schritte unter Verwalteten Ordner erstellen aus, um zuerst den simulierten Ordner in einen verwalteten Ordner zu konvertieren.
Klicken Sie auf Zugriff bearbeiten.
Klicken Sie im Bereich Berechtigungen für
MANAGED_FOLDER_NAME
auf Hauptkonto hinzufügen .Geben Sie im Feld Neue Hauptkonten das Hauptkonto ein, dem Sie Zugriff gewähren möchten. Weitere Informationen zu Hauptkonten, die Sie einschließen können, finden Sie unter Hauptkonto-Kennungen.
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.
Klicken Sie auf Speichern.
Befehlszeile
Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Dabei gilt:
IAM_ROLE
ist die IAM-Rolle, die Sie zuweisen. Beispiel:roles/storage.objectViewer
PRINCIPAL_IDENTIFIER
gibt an, wem Sie den Zugriff auf verwaltete Ordner gewähren. Beispiel:user:jane@gmail.com
Eine Liste der Formate für Hauptkonto-IDs finden Sie unter Hauptkonto-Kennungen.
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
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets mit dem verwalteten Ordner, auf den Sie die IAM-Richtlinie anwenden möchten. Beispiel:my-bucket
.MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, auf den Sie die IAM-Richtlinie anwenden möchten. Beispiel:my-managed-folder/
POLICY_FILE
ist der Pfad zur JSON-Datei, die Sie in Schritt 1 erstellt haben.
REST APIs
JSON
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "bindings":[ { "role": "IAM_ROLE", "members":[ "PRINCIPAL_IDENTIFIER" ] } ] }
Dabei gilt:
IAM_ROLE
ist die IAM-Rolle, die Sie zuweisen. Beispiel:roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
gibt an, wem Sie den Zugriff auf verwaltete Ordner gewähren. Beispiel:user:jane@gmail.com
Eine Liste der Formate für Hauptkonto-IDs finden Sie unter Hauptkonto-Kennungen.
Verwenden Sie
cURL
, um die JSON API mit einerPUT 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.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dabei gilt:
POLICY_FILE
ist der Pfad zur JSON-Richtliniendatei, die Sie im vorherigen Schritt erstellt haben.BUCKET_NAME
ist der Name des Buckets mit dem verwalteten Ordner, auf den Sie die IAM-Richtlinie anwenden möchten. Beispiel:my-bucket
.MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, auf den Sie dem Hauptkonto Zugriff gewähren möchten. Beispiel:my-managed-folder/
.
IAM-Richtlinie für einen verwalteten Ordner aufrufen
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets mit dem verwalteten Ordner, für den Sie IAM-Richtlinien aufrufen möchten.
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.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
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, dessen IAM-Richtlinie Sie aufrufen möchten. Beispiel:my-bucket
MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, dessen IAM-Richtlinie Sie aufrufen möchten. Beispiel:my-managed-folder/
REST APIs
JSON
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Verwenden Sie
cURL
, um die JSON API mit einerGET getIamPolicy
-Anfrage aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, dessen IAM-Richtlinie Sie aufrufen möchten. Beispiel:my-bucket
.MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, dessen IAM-Richtlinie Sie aufrufen möchten. Beispiel:my-managed-folder/
Hauptkonten aus einer Richtlinie für verwaltete Ordner entfernen
Console
- Wechseln Sie in der Cloud Console zur Seite Cloud Storage-Buckets.
Klicken Sie in der Liste der Buckets auf den Namen des Buckets mit dem verwalteten Ordner, für den Sie IAM-Richtlinien aufrufen möchten.
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.Klicken Sie auf Zugriff bearbeiten.
Geben Sie im Bereich Berechtigungen für
FOLDER_NAME
den Namen des Hauptkontos in das Feld Filter ein.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
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, für den Sie den Zugriff widerrufen möchten. Beispiel:my-bucket
MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, dessen IAM-Richtlinie Sie entfernen möchten. Beispiel:my-managed-folder/
PRINCIPAL_IDENTIFIER
gibt an, wem Sie den Zugriff entziehen möchten. Beispiel:user:jane@gmail.com
Eine Liste der Formate für Hauptkonto-IDs finden Sie unter Hauptkonto-Kennungen.IAM_ROLE
ist die IAM-Rolle, die Sie widerrufen. Beispiel:roles/storage.objectViewer
REST APIs
JSON
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Rufen Sie die vorhandene Richtlinie ab, die für Ihren verwalteten Ordner gilt. Verwenden Sie dazu
cURL
, um die JSON API mit einerGET getIamPolicy
-Anfrage aufzurufen:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, für den Sie den Zugriff widerrufen möchten. Beispiel:my-bucket
MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, dessen IAM-Richtlinie Sie entfernen möchten. Beispiel:my-managed-folder/
Erstellen Sie eine JSON-Datei mit der Richtlinie, die Sie im vorherigen Schritt abgerufen haben.
Entfernen Sie in der JSON-Datei das gewünschte Mitglied aus der Richtlinie.
Verwenden Sie
cURL
, um die JSON API mit einerPUT 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.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAME/iam"
Dabei gilt:
JSON_FILE_NAME
ist der Pfad für die Datei, die Sie in Schritt 3 erstellt haben.BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, für den Sie den Zugriff widerrufen möchten. Beispiel:my-bucket
MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, dessen IAM-Richtlinie Sie entfernen möchten. Beispiel:my-managed-folder/
.
IAM Conditions 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.
Bevor Sie verwalteten Ordnern Bedingungen hinzufügen, müssen Sie den einheitlichen Bucket-Zugriff für den Bucket aktivieren.
Neue Bedingung für einen verwalteten Ordner festlegen
Befehlszeile
Erstellen Sie eine JSON- oder YAML-Datei, die die Bedingung definiert, einschließlich des
title
der Bedingung, der attributbasierten Logikexpression
für die Bedingung und optional einesdescription
für die Bedingung.Beachten Sie, dass Cloud Storage in der
expression
nur die Attribute Datum/Uhrzeit, Ressourcentyp und Ressourcenname unterstützt.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
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, auf den Sie dem Hauptkonto Zugriff gewähren. Beispiel:my-bucket
MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, auf den Sie dem Hauptkonto Zugriff gewähren. Beispiel:my-managed-folder/
PRINCIPAL_IDENTIFIER
gibt an, für wen die Bedingung gilt. Beispiel:user:jane@gmail.com
Eine Liste der Formate für Hauptkonto-IDs finden Sie unter Hauptkonto-Kennungen.IAM_ROLE
ist die IAM-Rolle, die Sie dem Hauptkonto zuweisen. Beispiel:roles/storage.objectViewer
.CONDITION_FILE
ist 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
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Verwenden Sie eine
GET getIamPolicy
-Anfrage, um die IAM-Richtlinie des verwalteten Ordners in einer temporären JSON-Datei zu speichern:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, für den Sie eine IAM-Bedingung festlegen möchten.MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, für den Sie eine IAM-Bedingung festlegen möchten.
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" }
Dabei gilt:
VERSION
ist die Version der IAM-Richtlinie. Für verwaltete Ordner mit IAM-Bedingungen muss es die Version 3 sein.IAM_ROLE
ist die Rolle, für die die Bedingung gilt. Beispiel:roles/storage.objectViewer
.PRINCIPAL_IDENTIFIER
gibt an, für wen die Bedingung gilt. Beispiel:user:jane@gmail.com
. Eine Liste der Formate für Hauptkonto-IDs finden Sie unter Hauptkonto-Kennungen.TITLE
ist der Titel der Bedingung. Beispiel:expires in 2019
DESCRIPTION
ist eine optionale Beschreibung der Bedingung. Beispiel:Permission revoked on New Year's
EXPRESSION
ist ein attributbasierter logischer Ausdruck. Beispiel: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.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.googleapis.com/storage/v1/b/BUCKET_NAME/managedFoldersMANAGED_FOLDER_NAME/iam"
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, für den Sie eine IAM-Bedingung festlegen möchten.MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, für den Sie eine IAM-Bedingung festlegen möchten.
Bedingung aus einem verwalteten Ordner entfernen
Befehlszeile
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
Bearbeiten Sie die Datei
tmp-policy.json
in einem Texteditor, um Bedingungen aus der IAM-Richtlinie zu entfernen.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
Die gcloud CLI installieren und initialisieren, um ein Zugriffstoken für den Header
Authorization
zu generieren.Alternativ können Sie mit dem OAuth 2.0 Playground ein Zugriffstoken erstellen und in den Header
Authorization
einfügen.Verwenden Sie eine
GET getIamPolicy
-Anfrage, um die IAM-Richtlinie des verwalteten Ordners in einer temporären JSON-Datei zu speichern:curl \ 'https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' > tmp-policy.json
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, auf den Sie den Zugriff ändern. Beispiel:my-bucket
MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, für den Sie den Zugriff ändern. Beispiel:my-managed-folder/
Bearbeiten Sie die Datei
tmp-policy.json
in einem Texteditor, um Bedingungen aus der IAM-Richtlinie zu entfernen.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.googleapis.com/storage/v1/b/BUCKET_NAME/managedFolders/MANAGED_FOLDER_NAMEiam"
Dabei gilt:
BUCKET_NAME
ist der Name des Buckets, der den verwalteten Ordner enthält, auf den Sie den Zugriff ändern. Beispiel:my-bucket
MANAGED_FOLDER_NAME
ist der Name des verwalteten Ordners, für den Sie den Zugriff ändern. Beispiel: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
Weitere Informationen zum Veröffentlichen von Daten
Informationen zur Fehlerbehebung bei fehlgeschlagenen Vorgängen im Zusammenhang mit IAM-Rollen und -Berechtigungen finden Sie unter Fehlerbehebung.