最終更新日: 2026-08-27
TOP(About this memo)) > 一覧(Google Cloud) > gcloud CLI
install.shを実行する方法と、Homebrewを使う方法がある。自分は前者を使っている(IME)。brew install --cask google-cloud-sdkgcloud beta --help / gcloud alpha --help を実行した際に未インストールであれば、インストールするか聞かれるのでYで進める。gcloud components update でアップデートする。gcloud --version。--project等で明示する。gcloud config configurations listgcloud config listgcloud auth loginでログインしたアカウントがオーナーであり、十分な権限を持っているからである。roles/secretmanager.adminのロールが付与されている必要がある。
--help--project [PROJECT_ID]--account
core/accountの値がデフォルトとなる。gcloud topic filters など、コマンドではなくトピック単位のヘルプが用意されている。--format=flattenと--filterを組み合わせる方法は使いづらい(IMO)。ドキュメントを見る限り表現力が低く、記法も分かりにくい。
--format=jsonとjqを組み合わせるのが扱いやすい(IMO)。
gcloud auth listgcloud auth login~/.config/gcloud/配下に保存される。gcloud auth login --cred-file=[KEY_FILE]gcloud auth activate-service-account 〜 という方法もある。gcloud auth revoke [ACCOUNTS ...]gcloud auth application-default logingcloud auth loginとまとめて実行したいときは gcloud auth login --update-adcgcloud auth application-default loginした時点のカレントプロジェクトが設定される。--projectで指定する場合)、以下のwarningが出るが気にしなくてよい。
WARNING: Cannot find a quota project to add to ADCgcloud auth application-default loginでログインしておくことで、Terraform側ではこのADCの認証情報にもとづいて操作できる。gcloud projects listecho ${DEVSHELL_PROJECT_ID} でカレントのプロジェクトIDが取れる。gcloud projects get-iam-policy [PROJECT_ID]gcloud projects create [PROJECT_ID] --organization=[ORGANIZATION_ID]gcloud projects delete [PROJECT_ID]gcloud initgcloud auth listで確認できるもの)とプロジェクトを選択する。gcloud config configurations listgcloud config listNAME IS_ACTIVE ACCOUNT PROJECT COMPUTE_DEFAULT_ZONE COMPUTE_DEFAULT_REGION
default False
test True user@example.com example-project
gcloud config configurations create testgcloud config configurations activate [CONFIGURATION_NAME]gcloud config configurations delete [CONFIGURATION_NAME]gcloud config set project [PROJECT_ID]gcloud config get-value projectgcloud config set account user@example.comgcloud auth login済みのアカウント(gcloud auth listで出てくるもの)のみが対象と思われる(?)。gcloud config set compute/zone asia-east1-agcloud config set compute/region asia-northeast1gcloud config unset ml_engine/local_pythongcloud services list --enabledgcloud services enable ml.googleapis.comgcloud services disable ml.googleapis.comgcloud services list --filter=NAME:iapgcloud services list --filter=NAME:computegcloud --project [PROJECT_ID] services enable run.googleapis.com cloudbuild.googleapis.com secretmanager.googleapis.com artifactregistry.googleapis.com sqladmin.googleapis.com
gcloud iam service-accounts create [SA_NAME] --display-name [DISPLAY_NAME] --description [DESCRIPTION]gcloud iam service-accounts delete [SA_NAME]@[PROJECT_ID].iam.gserviceaccount.comgcloud iam service-accounts keys create path/to/key.json --iam-account [SA_NAME]@[PROJECT_ID].iam.gserviceaccount.comgcloud auth activate-service-account [SA_NAME] --key-file [KEY_FILE]gcloud projects add-iam-policy-binding [PROJECT_ID] --member serviceAccount:[SA_NAME]@[PROJECT_ID].iam.gserviceaccount.com --role roles/storage.admingcloud organizations add-iam-policy-binding ORGANIZATION --member=MEMBER --role=ROLE
gcloud resource-manager folders add-iam-policy-binding FOLDER --member=MEMBER --role=ROLE
gcloud projects add-iam-policy-binding PROJECT --member=MEMBER --role=ROLE
gcloud secrets add-iam-policy-binding SECRET_NAME --member=MEMBER --role=ROLE
gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT --member=<Google Account> --role=ROLE
gcloud iam roles list --filter "name ~ tasks"gcloud iam roles describe roles/iam.serviceAccountUsergcloud compute networks create 〜gcloud compute networks subnets create 〜gcloud compute firewall-rules create 〜gcloud compute instances create 〜gcloud iamやgcloud iapにoauth-brands / oauth-clientsのコマンドは存在するが、これらのlistの出力がコンソールの表示内容と一致しなかった。# 前提:
## ブランドの設定: https://console.cloud.google.com/auth/branding
## OAuth 2.0クライアントの設定: https://console.cloud.google.com/auth/clients
# コンソール上ではクライアントが存在するにもかかわらず、結果は 0 items になる
gcloud iam oauth-clients list --location=global --project=[PROJECT_ID]
# iap.googleapis.com を有効にした上で以下を実行するとブランドは表示された
gcloud iap oauth-brands list --project=[PROJECT_ID]
# しかし以下を実行しても何も表示されない
gcloud iap oauth-clients list [上記のブランドのNameを指定] --project=[PROJECT_ID]