Signaturen erstellen

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

  1. Enable the Service Account Credentials API.

    Enable the API

  2. Sie benötigen die Berechtigung iam.serviceAccounts.signBlob für das Dienstkonto, das Sie in dieser Anleitung verwenden. Die Berechtigung iam.serviceAccounts.signBlob ist in der Rolle roles/iam.serviceAccountTokenCreator enthalten.

  3. 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

  1. 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.

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

    {
      "payload": "REQUEST_INFORMATION"
    }

    Dabei gilt:

  3. Verwenden Sie cURL, um die IAM API mit einer signBlob-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