Signatur einer genehmigten Anfrage prüfen
Jede genehmigte Anfrage für die Zugriffsgenehmigung wird mit einer asymmetrischen kryptografischer Schlüssel zur Validierung der Genehmigung. Genehmigte Anfragen können mit einen von Google verwalteten Schlüssel oder einen vom Kunden bereitgestellten Cloud KMS-Schlüssel.
Wenn Sie eine Signatur validieren, können Sie sicher sein, dass der Bytestring der serialisierte genehmigte Anfrage gültig ist. Um die Validierung des Inhalts der müssen Sie die Nachricht deserialisieren und die deserialisierte mit dem Inhalt der genehmigten Anfrage.
Hinweise
Um sicherzustellen, dass das Zugriffsgenehmigungs-Dienstkonto für Ihr
Ressource über den erforderlichen
Berechtigungen zur Überprüfung genehmigter
Anfragesignaturen,
bitten Sie Ihren Administrator, das Dienstkonto für die Zugriffsgenehmigung für Ihr
Ressource
Die IAM-Rolle Cloud KMS CryptoKey-Signer/Prüffunktion (roles/cloudkms.signerVerifier
) für den Schlüssel, den Schlüsselbund oder das Schlüsselprojekt.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Ihr Administrator kann möglicherweise auch das Dienstkonto für die Zugriffsgenehmigung für Ihr Ressource die erforderlichen Berechtigungen durch benutzerdefinierte Rollen oder andere vordefinierte Rollen
Mit einem von Google verwalteten Schlüssel signierte Anfrage validieren
Rufen Sie in der Google Cloud Console die Seite Zugriffsgenehmigung auf.
Suchen Sie die genehmigte Anfrage für den Zugriff und wählen Sie sie aus. Die Seite Anfragedetails wird geöffnet.
Klicken Sie unter Von Google verwalteter öffentlicher Schlüssel auf content_copy Kopieren.
Öffnen Sie Cloud Shell und speichern Sie den öffentlichen Schlüssel als neue Datei mit dem Namen
public_key
:echo GOOGLE_MANAGED_PUBLIC_KEY > ./public_key
Ersetzen Sie
GOOGLE_MANAGED_PUBLIC_KEY
durch den Inhalt des Felds Von Google verwalteter öffentlicher Schlüssel.Klicken Sie in der Google Cloud Console auf der Seite Anfragedetails unter Signatur auf content_copy Kopieren.
Öffnen Sie Cloud Shell und speichern Sie die Signatur als neue Datei mit dem Namen
signature.txt
:echo SIGNATURE > ./signature.txt
Ersetzen Sie
SIGNATURE
durch den Inhalt der Signature. ein.Decodieren Sie die Signatur mit dem Befehl
base64
und speichern Sie das Ergebnis unterdecoded_signature
:base64 ./signature.txt -d > ./decoded_signature
Klicken Sie in der Google Cloud Console auf der Seite Anfragedetails unter Serialisierte Genehmigungsanfrage auf content_copy Kopieren.
Öffnen Sie Cloud Shell und speichern Sie die serialisierte Genehmigungsanfrage als neue Datei mit dem Namen
serialized_approval_request.txt
:echo SERIALIZED_APPROVAL_REQUEST > ./serialized_approval_request.txt
Ersetzen Sie
SERIALIZED_APPROVAL_REQUEST
durch den Inhalt des Felds Serialized Approval Request.Decodieren Sie die serialisierte Genehmigungsanfrage und speichern Sie das Ergebnis unter
decoded_serialized_approval_request
:base64 ./serialized_approval_request.txt -d > ./decoded_serialized_approval_request
Verwenden Sie
openssl
, um die Signatur zu überprüfen:openssl dgst \ -sha256 \ -verify ./public_key \ -signature ./decoded_signature \ ./decoded_serialized_approval_request
Wenn die Signatur gültig ist, sollte die Ausgabe
Verified OK
sein. Damit wird bestätigt, dass die serialisierte Genehmigungsanfrage gültig ist.
Eine Anfrage validieren, die mit einem vom Kunden bereitgestellten Schlüssel signiert wurde
Rufen Sie in der Google Cloud Console die Seite Zugriffsgenehmigung auf.
Suchen Sie die genehmigte Anfrage für die Zugriffsgenehmigung, die Sie die Sie validieren möchten. Die Seite Anfragedetails wird geöffnet.
Klicken Sie in der Google Cloud Console auf der Seite Anfragedetails unter Signatur auf content_copy Kopieren.
Öffnen Sie Cloud Shell und speichern Sie die Signatur als neue Datei mit dem Namen
signature.txt
:echo SIGNATURE > ./signature.txt
Ersetzen Sie
SIGNATURE
durch den Inhalt des Felds Signatur.Decodieren Sie die Signatur und speichern Sie das Ergebnis als
decoded_signature
:base64 ./signature.txt -d > ./decoded_signature
In der Google Cloud Console auf der Seite Anfragedetails unter Serialisierte Genehmigungsanfrage: Klicken Sie auf content_copy Kopieren:
Öffnen Sie Cloud Shell und speichern Sie die serialisierte Genehmigungsanfrage als neue Datei mit dem Namen
serialized_approval_request.txt
:echo SERIALIZED_APPROVAL_REQUEST > ./serialized_approval_request.txt
Ersetzen Sie
SERIALIZED_APPROVAL_REQUEST
durch den Inhalt des Felds Serialized Approval Request.Decodiere die serialisierte Genehmigungsanfrage und speichere das Ergebnis als
decoded_serialized_approval_request
:base64 ./serialized_approval_request.txt -d > ./decoded_serialized_approval_request
Notieren Sie sich unter Vom Kunden verwalteter Schlüssel die Ressourcen-ID des den Schlüssel.
Rufen Sie den öffentlichen Schlüssel für den Schlüssel ab, den Sie im vorherigen Schritt identifiziert haben. Speichern Sie den heruntergeladenen öffentlichen Schlüssel im PEM-Format als
./public_key
.Verwenden Sie
openssl
, um die Signatur zu überprüfen:openssl dgst \ -sha256 \ -verify ./public_key \ -signature ./decoded_signature \ ./decoded_serialized_approval_request
Wenn die Signatur gültig ist, sollte die Ausgabe
Verified OK
lauten. Dieses bestätigt, dass die serialisierte Genehmigungsanfrage gültig ist.