Google Cloud – Como determinar o ID da chave do P12?

Google Cloud – Como determinar o ID da chave do P12?

Dehttps://console.cloud.google.com/iam-admin/serviceaccounts?project=[id], um usuário com as permissões corretas poderá provisionar uma chave de conta de serviço. Hoje em dia eles entregam para você no formato JSON, mas davam a opção de receber um P12 (do qual o JSON é apenas o P12 base64, com metadados). Herdei um projeto mais antigo para manter e tenho um P12 para autenticar.

No entanto, existem vários IDs de chave listados para a conta de serviço fornecida. Gostaria de rotacioná-los e excluir tudo, exceto uma chave recém-provisionada. Não consigo criar um novo, pois o máximo já foi atingido (10). Mas não posso excluir aleatoriamente, porque o aplicativo ainda precisa funcionar sem impedimentos. Apenas uma é necessária e, sem a roleta, não consigo descobrir uma maneira de determinar QUAL chave eu possuo.

Eu sou capaz de autenticar:

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

e, em seguida, execute comandos. Mas não consigo encontrar uma maneira, seja por meio do Gcloud ou de truques, de fazer com que o Google me diga QUAL chave eu tenho. Eu tentei vários comandos gcloud. Há algo no registro do GCP, chamadas diretas de API, comandos não documentados ou algo óbvio que perdi?

Responder1

O ID da chave é a impressão digital SHA1 do certificado que o acompanha. Você pode extrair a impressão digital SHA1 do arquivo pkcs12 com o seguinte comando:

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

informação relacionada