Google Cloud – Wie lässt sich die Schlüssel-ID aus P12 ermitteln?

Google Cloud – Wie lässt sich die Schlüssel-ID aus P12 ermitteln?

Aushttps://console.cloud.google.com/iam-admin/serviceaccounts?project=[id], ein Benutzer mit den richtigen Berechtigungen kann einen Dienstkontoschlüssel bereitstellen. Heutzutage wird er Ihnen im JSON-Format übergeben, aber früher gab es die Möglichkeit, ein P12 zu erhalten (wobei das JSON nur das P12 base64 mit Metadaten ist). Ich habe ein älteres Projekt geerbt, das ich pflegen muss, und habe ein P12 zur Authentifizierung.

Für das angegebene Servicekonto sind jedoch mehrere Schlüssel-IDs aufgeführt. Ich möchte sie alle austauschen und alles außer einem neu bereitgestellten Schlüssel löschen. Ich kann keinen neuen erstellen, da das Maximum (10) bereits erreicht ist. Aber ich kann nicht nach dem Zufallsprinzip löschen, da die Anwendung weiterhin ungehindert ausgeführt werden muss. Es wird nur einer benötigt, und ohne Roulette kann ich keine Möglichkeit finden, herauszufinden, WELCHEN Schlüssel ich habe.

Ich kann authentifizieren:

[~/scratch]$ gcloud auth activate-service-account [email protected] --key-file=x.p12 --prompt-for-password
Password:
WARNING: .p12 service account keys are not recomended unless it is necessary for backwards compatability. Please switch to a newer .json service account key for this account.
Activated service account credentials for: [[email protected]]

und dann Befehle ausführen. Aber ich kann weder über Gcloud noch durch Tricks einen Weg finden, Google dazu zu bringen, mir zu sagen, WELCHEN Schlüssel ich habe. Ich habe eine Reihe von Gcloud-Befehlen ausprobiert. Gibt es irgendetwas in der GCP-Protokollierung, direkte API-Aufrufe, nicht dokumentierte Befehle oder etwas Offensichtliches, das ich übersehen habe?

Antwort1

Die Schlüssel-ID ist der SHA1-Fingerabdruck des zugehörigen Zertifikats. Den SHA1-Fingerabdruck können Sie mit folgendem Befehl aus der pkcs12-Datei extrahieren:

openssl pkcs12 -in /your/pkcs12/file.p12 -nodes | openssl x509 -noout -fingerprint

verwandte Informationen