Auf dieser Seite erfahren Sie, wie Sie mit der Methode signBlob
von Google Cloud eine Signatur aus einem zu signierenden String oder einem Richtliniendokument erstellen. Signaturen werden in bestimmten Anfragen, z. B. signierten URLs, als Anmeldedaten verwendet. In dieser Anleitung werden RSA-Schlüssel zum Erstellen von Signaturen verwendet.
Hinweise
Sie benötigen die Berechtigung
iam.serviceAccounts.signBlob
für das Dienstkonto, das Sie in dieser Anleitung verwenden. Die Berechtigungiam.serviceAccounts.signBlob
ist in der Rolleroles/iam.serviceAccountTokenCreator
enthalten.Das in dieser Anleitung verwendete Dienstkonto muss die Berechtigung zum Ausführen der Anfrage haben, die in der Signatur codiert ist. Wenn die Signatur beispielsweise zum Lesen von Objektdaten aus einem Bucket verwendet wird, muss das Dienstkonto zum Lesen der Objektdaten berechtigt sein.
Signatur erstellen
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:
{ "payload": "REQUEST_INFORMATION" }
Dabei gilt:
REQUEST_INFORMATION
ist ein string-to-sign oder ein Richtliniendokument. Für beide muss der Inhalt base64-codiert sein.
Verwenden Sie
cURL
, um die IAM API mit einersignBlob
-Anfrage aufzurufen:curl -X POST --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT_EMAIL:signBlob"
Dabei gilt:
JSON_FILE_NAME
ist der Name der Datei, die Sie in Schritt 2 erstellt haben.SERVICE_ACCOUNT_EMAIL
ist die E-Mail-Adresse des Dienstkontos, das Sie zum Erstellen der Signatur verwenden möchten. Beispiel:service-7550275089395@my-pet-project.iam.gserviceaccount.com
Bei Erfolg wird die Signatur im Feld signedBlob
in der Antwort zurückgegeben.
Nächste Schritte
- Weitere Informationen finden Sie auf der Referenzseite zum Signieren von Blobs mit der Google Cloud CLI.
- Erstellen Sie eine signierte URL manuell mit der von Ihnen erstellten Signatur.
- Erstellen Sie eine signierte URL mit Google Cloud-Tools.
- Weitere Informationen zu Signaturen.