Die V4-Signatur ist ein Prozess, mit dem Sie Signaturen für die Authentifizierung in Cloud Storage XML API-Anfragen generieren können. Auf dieser Seite wird beschrieben, wie Sie mit gsutil und Cloud Storage-Clientbibliotheken signierte URLs erstellen. Signierte URLs ermöglichen zeitlich begrenzten Lese- oder Schreibzugriff auf eine bestimmte Cloud Storage-Ressource. Wenn Sie ein eigenes Programm zum Erstellen signierter URLs erstellen möchten, lesen Sie sich V4-Signaturprozess mit einem eigenen Programm durch.
Signierte URL zum Herunterladen eines Objekts erstellen
Führen Sie die folgenden Schritte aus, um eine signierte URL zu erstellen, mit der ein Objekt aus einem Bucket abgerufen werden kann:
gsutil
Generieren Sie einen neuen privaten Schlüssel oder verwenden Sie einen vorhandenen privaten Schlüssel für ein Dienstkonto. Der Schlüssel kann entweder im JSON- oder im PKCS12-Format vorliegen.
Weitere Informationen zu privaten Schlüsseln und Dienstkonten finden Sie unter Dienstkonten.
Verwenden Sie den Befehl
gsutil signurl
und übergeben Sie dabei den Pfad zum privaten Schlüssel aus dem vorherigen Schritt sowie den Bucket- und Objektnamen.Zum Beispiel wird durch den folgenden Befehl mithilfe eines Schlüssels im Ordner
Desktop
eine signierte URL generiert, mit der sich Nutzer das Objektcat.jpeg
zehn Minuten lang ansehen können.gsutil signurl -d 10m Desktop/private-key.json gs://example-bucket/cat.jpeg
Wenn der Vorgang erfolgreich ist, wird Ihnen in etwa folgende Antwort angezeigt:
URL HTTP Method Expiration Signed URL gs://example-bucket/cat.jpeg GET 2018-10-26 15:19:52 https://storage.googleapis. com/example-bucket/cat.jpeg?x-goog-signature=2d2a6f5055eb004b8690b9479883292ae74 50cdc15f17d7f99bc49b916f9e7429106ed7e5858ae6b4ab0bbbdb1a8ccc364dad3a0da2caebd308 87a70c5b2569d089ceb8afbde3eed4dff5116f0db5483998c175980991fe899fbd2cd8cb813b0016 5e8d56e0a8aa7b3d7a12ee1baa8400611040f05b50a1a8eab5ba223fe5375747748de950ec7a4dc5 0f8382a6ffd49941c42498d7daa703d9a414d4475154d0e7edaa92d4f2507d92c1f7e811a7cab64d f68b5df4857589259d8d0bdb5dc752bdf07bd162d98ff2924f2e4a26fa6b3cede73ad5333c47d146 a21c2ab2d97115986a12c28ff37346d6c2ca83e5618ec8ad95632710b489b75c35697d781c38e& x-goog-algorithm=GOOG4-RSA-SHA256&x-goog-credential=example%40example-project. iam.gserviceaccount.com%2F20181026%2Fus%2Fstorage%2Fgoog4_request&x-goog-date= 20201026T211942Z&x-goog-expires=3600&x-goog-signedheaders=host
Die signierte URL ist der String, der mit
https://storage.googleapis.com
beginnt. Sie erstreckt sich in der Regel über mehrere Zeilen. Diese URL kann von jeder Person für den angegebenen Zeitraum (in diesem Fall zehn Minuten) verwendet werden, um auf die zugehörige Ressource (hiercat.jpeg
) zuzugreifen.
Clientbibliotheken
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.
Signierte URL zum Hochladen eines Objekts erstellen
Führen Sie die folgenden Schritte aus, um eine signierte URL zu erstellen, mit der ein Objekt in einen Bucket hochgeladen werden kann:
gsutil
Generieren Sie einen neuen privaten Schlüssel oder verwenden Sie einen vorhandenen privaten Schlüssel für ein Dienstkonto. Der Schlüssel kann entweder im JSON- oder im PKCS12-Format vorliegen.
Weitere Informationen zu privaten Schlüsseln und Dienstkonten finden Sie unter Dienstkonten.
Verwenden Sie
gcloud auth activate-service-account
, um sich mit dem Dienstkonto zu authentifizieren:gcloud auth activate-service-account --key-file KEY_FILE_LOCATION/KEY_FILE_NAME
Wobei:
KEY_FILE_LOCATION
ist der lokale Pfad zu der Datei, die die Datei mit Ihren Anmeldedaten für das Dienstkonto enthält. Beispiel:Desktop
KEY_FILE_NAME
ist der Name der Datei, die Ihre Dienstkonto-Anmeldedaten enthält. Beispiel:key.txt
Verwenden Sie den Befehl
gsutil signurl
mit der Option-u
, um auf die Anmeldedaten des Dienstkontos zu verweisen.Mit dem folgenden Befehl wird beispielsweise eine signierte URL erstellt, mit der Nutzer eine Bilddatei hochladen können:
gsutil signurl -m PUT -d 1h -c CONTENT_TYPE -u gs://BUCKET_NAME/OBJECT_NAME
Wobei:
CONTENT_TYPE
ist der Inhaltstyp des Objekts. Beispiel:image/png
BUCKET_NAME
ist der Name des Buckets, in den das Objekt hochgeladen wird. Beispiel:example-bucket
OBJECT_NAME
ist der Name, der dem hochgeladenen Objekt zugewiesen werden soll. Beispiel:cat.png
Wenn der Vorgang erfolgreich ist, wird Ihnen in etwa folgende Antwort angezeigt:
URL HTTP Method Expiration Signed URL gs://example-bucket/cat.png PUT 2021-01-09 00:28:11 https://storage.googleapis. com/example-bucket/cat.png?x-goog-signature=2d2a6f5055eb004b8690b9479883292ae74 50cdc15f17d7f99bc49b916f9e7429106ed7e5858ae6b4ab0bbbdb1a8ccc364dad3a0da2caebd308 87a70c5b2569d089ceb8afbde3eed4dff5086f0db5483998c175980991fe899fbd2cd8cb813b0016 5e8d56e0a8aa7b3d7215ee1baa8400611040f05b50a1a8eab5ba223fe1375747748de950ec7i6dc5 0f8382a6ffd4994ac42498d7daa703d9a414d4475154d0e7edaa92d4f2507d92c1f7e8efa7cab64d f68b5df48575b9259d8d0bdb5dc752bdf07bd162d98ff2924f2p4a26fa6b3cede73ad5333c47d146 a21c2ab2d97b15986a12c68ff3734696c2ca83e56b8ec8ad95632710b488b75c35697d781c38e& x-goog-algorithm=GOOG4-RSA-SHA256&x-goog-credential=example%40example-project. iam.gserviceaccount.com%2F20181026%2Fus%2Fstorage%2Fgoog4_request&x-goog-date= 20201026T211942Z&x-goog-expires=3600&x-goog-signedheaders=host
Die signierte URL ist der String, der mit
https://storage.googleapis.com
beginnt. Sie erstreckt sich in der Regel über mehrere Zeilen. Diese URL kann von jeder Person verwendet werden, um eine Ressource (in diesem Fallcat.png
) in den angegebenen Cloud Storage-Bucket für den angegebenen Zeitraum (in diesem Fall 1 Stunde) hochzuladen.
Clientbibliotheken
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.
Nächste Schritte
- Weitere Informationen zum Signieren von URLs mit Ihrem eigenen Programm
- Verfügbare Optionen für signierte URLs
- Weitere Informationen zu signierten URLs
- Objekt mit der XML API hochladen
- Objekte hochladen