Google Cloud - P12에서 키 ID를 확인하는 방법은 무엇인가요?

Google Cloud - P12에서 키 ID를 확인하는 방법은 무엇인가요?

에서https://console.cloud.google.com/iam-admin/serviceaccounts?project=[id], 적절한 권한이 있는 사용자는 서비스 계정 키를 프로비저닝할 수 있습니다. 요즘에는 JSON 형식으로 제공하지만 P12를 받을 수 있는 옵션을 제공했습니다(JSON은 메타데이터가 포함된 P12 base64일 뿐입니다). 유지 관리할 이전 프로젝트를 상속받았으며 인증할 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

관련 정보