我正在編寫代碼以生成並下載Google Cloud服務帳戶的私鑰。IAM服務帳戶密鑰vs Google憑證文件
使用IAM API,我能夠create a service account,並且我呼叫generate a key似乎正在工作。我得到一個服務帳戶Key作爲對IAM API create key page描述,像
{
"privateKeyType": "TYPE_GOOGLE_CREDENTIALS_FILE",
"privateKeyData": "random-key-stringkajdkjakjfke", ...
}
我下載此文件作爲一個JSON響應,我試圖用它來驗證:
gcloud auth activate-service-account --key-file=service-account-key-file.json
不幸的是,我得到一個錯誤聲明 The .json key file is not in a valid format.
當我去雖然谷歌雲端控制檯流(IAM &管理 - >服務賬戶 - > - >創建密鑰 - >創建)我得到一個下載的JSON文件,看起來像
{
"type": "service_account",
"private_key": "----BEGIN-PRIVATE-KEY-----",
"auth_uri": "https://gaiastaging.corp.google.com/o/oauth2/auth",
}
該文件看起來與來自IAM API的響應完全不同。解釋我的錯誤!不幸的是,這種格式似乎沒有描述任何地方。它在一些docs中簡要提及。它是Google Credentials文件嗎?
我想採用IAM響應文件/ JSON並將其轉換爲第二個憑據文件。我試過編寫一些代碼來轉換它,但有一些字段,如"auth_provider_x509_cert_url"
,我不明白。
也許轉換文件也是錯誤的方法?更一般地說:
我該如何生成一個文件然後用它來驗證gcloud?
我應該如何描述/區分上述兩個文件?爲什麼每種類型的文件都有用?
謝謝,這是偉大的知道,並沒有在任何地方上線。 –