シンプルになると確信していましたが、ドキュメントや解決策は見つかりませんでした。 GCPインスタンスでいくつかの操作を実行するために、gcloudを使用してスクリプトを記述しようとしています。
コマンドラインのみでgcloudを使用してログイン/認証する方法はありますか?
ありがとう
ここには2つのオプションがあります(何をしようとしているのかによって異なります)。
最初のオプションは、--no-launch-browser
オプションを使用してログインすることです。これには依然として人間のユーザーの操作が必要ですが、使用しているマシンのブラウザは必要ありません。
> gcloud auth login --no-launch-browser
Go to the following link in your browser:
https://accounts.google.com/o/oauth2/auth?redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&Prompt=select_account&response_type=code&client_id=32555940559.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute&access_type=offline
Enter verification code: *********************************************
Saved Application Default Credentials.
You are now logged in as [[email protected]].
Your current project is [None]. You can change this setting by running:
$ gcloud config set project PROJECT_ID
非インタラクティブオプションには サービスアカウント が含まれます。リンクされたドキュメントはそれらを私よりもよく説明していますが、あなたがする必要があることの短いバージョンは次のとおりです:
Google Developers Console でサービスアカウントを作成します。適切な「スコープ」があることを確認してください(これらは、このサービスアカウントが実行できることを決定する権限です。対応するJSONキーファイルをダウンロードしてください。
gcloud auth activate-service-account --key-file <path to key file>
を実行します。
Google Compute Engine VMには少し異なるサービスアカウントが付属していることに注意してください。違いを説明します ここ 。