Google Cloud - 如何決定 P12 的金鑰 ID?

Google Cloud - 如何決定 P12 的金鑰 ID?

https://console.cloud.google.com/iam-admin/serviceaccounts?project=[id],具有正確權限的使用者可以配置服務帳戶金鑰。如今,他們以 JSON 格式將其交給您,但過去他們為您提供接收 P12 的選項(其中 JSON 只是 P12 base64'd,帶有元資料)。我繼承了一個舊專案來維護,並且我有一個 P12 來進行身份驗證。

但是,給定服務帳戶列出了多個金鑰 ID。我想將它們全部輪換並刪除除新配置的密鑰之外的所有內容。我無法建立新的,因為已達到最大值 (10)。但我不能隨意刪除,因為應用程式仍然需要不受阻礙地運行。只需要一個,並且缺少輪盤賭,我無法找到一種方法來確定我擁有哪把鑰匙。

我能夠驗證:

[~/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]]

然後運行命令。但我找不到一種方法,無論是透過 Gcloud 還是欺騙,讓 Google 告訴我我擁有哪個金鑰。我嘗試了很多 gcloud 命令。 GCP 日誌記錄、直接 API 呼叫、未記錄的命令或我錯過的明顯內容中是否有任何內容?

答案1

金鑰 ID 是隨附憑證的 SHA1 指紋。您可以使用以下命令從 pkcs12 檔案中提取 SHA1 指紋:

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

相關內容