Signaturen erstellen

Auf dieser Seite erfahren Sie, wie Sie mit der MethodeTrusted Cloud signBlob 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.

  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.s3ns-system.iam.gserviceaccount.com

    Bei Erfolg wird in der Antwort im Feld signedBlob ein Message Digest zurückgegeben, der Base64-codiert ist.

  4. Zum Fertigstellen der Signatur muss der Nachrichten-Digest Base64-decodiert und dann hex-codiert werden.

Nächste Schritte