Google Cloudサービスアカウントの秘密鍵を生成してダウンロードするコードを作成しています。IAMサービスアカウントの鍵とGoogle資格情報ファイル
IAM APIを使用すると、create a service accountにアクセスできました。generate a keyへの呼び出しが機能しているようです。私は
{
"privateKeyType": "TYPE_GOOGLE_CREDENTIALS_FILE",
"privateKeyData": "random-key-stringkajdkjakjfke", ...
}
のように、IAM API create key pageに記載されているように、私はJSONレスポンスとしてこのファイルをダウンロードしたバックサービスアカウントキーを取得し、それを使用して認証しようとしています:
gcloud auth activate-service-account --key-file=service-account-key-file.json
は、残念ながら、私はエラーを取得します The .json key file is not in a valid format.
を述べ、私はGoogleクラウドコンソールの流れかかわら行くと(IAM &管理 - >サービスアカウント - > ... - >キー作成 - >作成します)私が見えダウンロードJSONファイルを取得しますlike
{
"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を取得して、2番目の資格ファイルに変換したいと考えています。私はそれを変換するいくつかのコードを記述しようとしましたが、私が理解していない"auth_provider_x509_cert_url"
のようないくつかのフィールドがあります。
ファイルを変換するのは間違ったアプローチですか?より一般的には:
ファイルを生成してgcloudで認証するにはどうすればよいですか?
上記の両方のファイルをどのように記述/区別する必要がありますか?それぞれのタイプのファイルはなぜ有用なのですか?二つのファイルについて
ありがとうございます。これは知っておいて嬉しいです。 –