Google Cloud-P12에서 키 ID를 확인하는 방법은 무엇입니까?

Aug 18 2020

에서 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 호출, 문서화되지 않은 명령 또는 내가 놓친 명백한 것이 있습니까?

답변

Lacek Aug 18 2020 at 18:54

키 ID는 함께 제공되는 인증서의 SHA1 지문입니다. 다음 명령을 사용하여 pkcs12 파일에서 SHA1 지문을 추출 할 수 있습니다.

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