Auf dieser Seite erfahren Sie, wie Sie den einheitlichen Zugriff auf Bucket-Ebene für einen Bucket in Cloud Storage aktivieren, deaktivieren und prüfen.
Vorbereitung
Bevor Sie dieses Feature in Cloud Storage verwenden:
Achten Sie darauf, dass Sie ausreichende Berechtigungen zum Aufrufen und Aktualisieren von Buckets in Cloud Storage haben:
Wenn Sie der Inhaber des Projekts sind, zu dem der Bucket gehört, haben Sie wahrscheinlich die erforderlichen Berechtigungen.
Sie benötigen die IAM-Berechtigungen
storage.buckets.update
undstorage.buckets.get
für den relevanten Bucket. Unter IAM-Berechtigungen verwenden wird gezeigt, wie eine Rolle wie Storage-Administrator zugewiesen wird, die diese Berechtigungen enthält.
Auf ACL-Nutzung prüfen
Bevor Sie den einheitlichen Zugriff auf Bucket-Ebene aktivieren, sollten Sie mit Cloud Monitoring prüfen, ob Ihr Bucket ACLs für Workflows verwendet. Weitere Informationen finden Sie unter Nutzung von Objekt-ACLs prüfen.
Console
So rufen Sie mit dem Metrics Explorer die Messwerte für eine überwachte Ressource auf:
- Rufen Sie in der Google Cloud Console unter „Monitoring“ die Seite „Metrics Explorer” auf.
- Wählen Sie in der Symbolleiste den Tab Explorer aus.
- Wählen Sie den Tab Konfiguration aus.
- Maximieren Sie das Menü Messwert auswählen, geben Sie
ACLs usage
in die Filterleiste ein und wählen Sie dann über die Untermenüs einen bestimmten Ressourcentyp und Messwert aus:- Wählen Sie im Menü Aktive Ressourcen die Option GCS-Bucket aus.
- Wählen Sie im Menü Aktive Messwertkategorien die Option Authz aus.
- Wählen Sie im Menü Aktive Messwerte die Option Nutzung von ACLs aus.
- Klicken Sie auf Anwenden.
- Optional: Konfigurieren Sie die Daten, fügen Sie Filter hinzu und verwenden Sie die Menüs Gruppieren nach, Aggregator und Diagrammtyp. Wählen Sie acl_operation für Gruppieren nach und sum für Aggregator aus, um die Daten nach Bucket und ACL-Vorgang zu gruppieren. Weitere Informationen finden Sie unter Messwerte bei Verwendung von Metrics Explorer auswählen.
- Optional: Ändern Sie die Diagrammeinstellungen:
- Legen Sie für Kontingente und andere Messwerte, die eine Stichprobe pro Tag melden, den Zeitraum auf mindestens eine Woche fest und geben Sie als Darstellungstyp Übereinander angeordnetes Balkendiagramm an.
- Stellen Sie für Verteilungsmesswerte die Darstellung auf Heatmap-Diagramm ein.
Eine vollständige Liste der verfügbaren Messwerte für Cloud Storage finden Sie unter storage
. Informationen zu Zeitachsen finden Sie unter Messwerte, Zeitachsen und Ressourcen.
JSON API
- Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden. Eine Anleitung finden Sie unter API-Authentifizierung.
Verwenden Sie
cURL
zum Aufrufen der Monitoring JSON API:curl \ 'https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%20%3D%20%22storage.googleapis.com%2Fauthz%2Facl_operations_count%22&interval.endTime=END_TIME&interval.startTime=START_TIME' \ --header 'Authorization: Bearer OAUTH2_TOKEN' \ --header 'Accept: application/json'
Dabei gilt:
PROJECT_ID
ist die Projekt-ID oder Nummer, für die Sie die ACL-Nutzung aufrufen möchten. Beispiel:my-project
END_TIME
ist das Ende des Zeitraums, für den Sie die ACL-Nutzung aufrufen möchten. Beispiel:2019-11-02T15:01:23.045123456Z
START_TIME
ist der Beginn des Zeitraums, für den Sie die ACL-Nutzung aufrufen möchten. Beispiel:2016-10-02T15:01:23.045123456Z
OAUTH2_TOKEN
ist das Zugriffstoken, das Sie in Schritt 1 generiert haben.
Wenn die Anfrage ein leeres Objekt {}
zurückgibt, gibt es keine aktuelle ACL-Nutzung für Ihr Projekt.
Einheitlichen Zugriff auf Bucket-Ebene festlegen
So aktivieren oder deaktivieren Sie den einheitlichen Zugriff auf Bucket-Ebene für Ihren Bucket:
Console
- Wechseln Sie in der Cloud Console zum Cloud Storage-Browser.
Klicken Sie in der Bucket-Liste auf den Namen des gewünschten Buckets.
Wählen Sie oben auf der Seite den Tab Berechtigungen aus.
Klicken Sie im Textfeld Zugriffssteuerung auf den Link Wechsel zu. Beachten Sie, dass das Textfeld 90 Tage nach der Aktivierung des einheitlichen Zugriffs auf Bucket-Ebene nicht mehr angezeigt wird.
Wählen Sie im Pop-up-Menü die Option Einheitlich oder Detailgenau aus.
Klicken Sie auf Speichern.
Informationen zum Abrufen detaillierter Fehlerinformationen zu fehlgeschlagenen Vorgängen im Cloud Storage-Browser finden Sie unter Fehlerbehebung.
gsutil
Führen Sie den Befehl uniformbucketlevelaccess set
aus:
gsutil uniformbucketlevelaccess set STATE gs://BUCKET_NAME
Dabei gilt:
STATE
ist entwederon
oderoff
.BUCKET_NAME
ist der Name des entsprechenden Buckets. Beispiel:my-bucket
Wenn der Vorgang erfolgreich ausgeführt wurde, sieht die Antwort in etwa so aus:
Enabling uniform bucket-level access for gs://test-bucket/...
Codebeispiele
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket aktiviert:
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket deaktiviert:
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket aktiviert:
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket deaktiviert:
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket aktiviert:
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket deaktiviert:
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket aktiviert:
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket deaktiviert:
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket aktiviert:
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket deaktiviert:
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket aktiviert:
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket deaktiviert:
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket aktiviert:
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket deaktiviert:
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket aktiviert:
Im folgenden Beispiel wird der einheitliche Zugriff auf Bucket-Ebene für einen Bucket deaktiviert:
REST APIs
JSON API
- Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden. Eine Anleitung finden Sie unter API-Authentifizierung.
Erstellen Sie eine JSON-Datei, die folgende Informationen enthält:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": STATE } } }
Dabei ist STATE entweder
true
oderfalse
.Verwenden Sie
cURL
, um die JSON API mit einerPATCH
-Bucket-Anfrage aufzurufen:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Wobei:
JSON_FILE_NAME
ist der Pfad für die Datei, die Sie in Schritt 2 erstellt haben.OAUTH2_TOKEN
ist das Zugriffstoken, das Sie in Schritt 1 generiert haben.BUCKET_NAME
ist der Name des entsprechenden Buckets. Beispiel:my-bucket
.
XML API
Die XML API kann nicht für den einheitlichen Zugriff auf Bucket-Ebene verwendet werden. Verwenden Sie stattdessen eines der anderen Cloud Storage-Tools, z. B. gsutil.
Status für einheitlichen Zugriff auf Bucket-Ebene ansehen
Console
- Wechseln Sie in der Cloud Console zum Cloud Storage-Browser.
Prüfen Sie im Menü mit den Spaltenanzeigeoptionen (
), ob Zugriffssteuerung aktiviert ist.
Der Status der einzelnen Buckets für den einheitlichen Zugriff auf Bucket-Ebene wird in der Bucket-Liste in der Spalte Zugriffssteuerung angezeigt.
Informationen zum Abrufen detaillierter Fehlerinformationen zu fehlgeschlagenen Vorgängen im Cloud Storage-Browser finden Sie unter Fehlerbehebung.
gsutil
Führen Sie den Befehl uniformbucketlevelaccess get
aus:
gsutil uniformbucketlevelaccess get gs://BUCKET_NAME
Dabei ist BUCKET_NAME
der Name des entsprechenden Buckets. Beispiel: my-bucket
Wenn der einheitliche Zugriff auf Bucket-Ebene aktiviert ist, sieht die Antwort so aus:
Uniform bucket-level access setting for gs://my-bucket/: Enabled: True LockedTime: LOCK_DATE
Codebeispiele
C++
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C++ API.
C#
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage C# API.
Go
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Go API.
Java
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Java API.
Node.js
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Node.js API.
PHP
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage PHP API.
Python
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Python API.
Ruby
Weitere Informationen finden Sie in der Referenzdokumentation zur Cloud Storage Ruby API.
REST APIs
JSON API
- Rufen Sie ein Zugriffstoken für die Autorisierung aus dem OAuth 2.0 Playground ab. Konfigurieren Sie den Playground so, dass Ihre eigenen OAuth-Anmeldedaten verwendet werden. Eine Anleitung finden Sie unter API-Authentifizierung.
Verwenden Sie
cURL
, um die JSON API mit einerGET
-Bucket-Anfrage aufzurufen, die den gewünschtenfields
enthält:curl -X GET -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Dabei gilt:
OAUTH2_TOKEN
ist das Zugriffstoken, das Sie in Schritt 1 generiert haben.BUCKET_NAME
ist der Name des entsprechenden Buckets. Beispiel:my-bucket
Wenn für den Bucket der einheitliche Zugriff auf Bucket-Ebene aktiviert ist, sieht die Antwort in etwa so aus:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true, "lockedTime": "LOCK_DATE" } } }
XML API
Die XML API kann nicht für den einheitlichen Zugriff auf Bucket-Ebene verwendet werden. Verwenden Sie stattdessen eines der anderen Cloud Storage-Tools, z. B. gsutil.