記事の概要
Google Cloud SDKの認証コマンド、`gcloud auth login` と `gcloud auth application-default login` の違いについてまとめた。
gcloud auth login
目的
`gcloud` コマンドラインツールを使用するユーザー自身を認証するためのコマンドになる。
用途
- 個人の開発マシンでの作業
- 手動での `gcloud` コマンドの実行
具体例
Google Cloud Platform上で仮想マシンを手動で作成したい場合、以下のコマンドを使用して自分自身を認証する。
gcloud auth login
その後、以下のようなコマンドで仮想マシンを作成することができる。
gcloud compute instances create INSTANCE_NAME
gcloud auth application-default login
概要
特定のアプリケーションがGoogle Cloudのリソースにアクセスできるかどうかを確認するための認証。アプリケーションは、バックエンドのサービスやスクリプトなど、人の介入なしに動作するものを指す。
具体例
- WebアプリケーションがCloud Storageから画像を取得: ユーザーにプロフィール画像を表示するWebアプリケーションが、Cloud Storageのバケットから画像を自動的に取得する場合。
- ログ処理スクリプト: 一日の終わりに、Compute EngineのインスタンスからログファイルをBigQueryに自動的にアップロードするスクリプト。
- 定期的なデータバックアップ: Cloud Schedulerを使用して、Cloud SQLのデータベースを定期的にバックアップするスクリプト。
- 自動的なリソースのスケーリング: Cloud Pub/Subのメッセージキューのサイズに基づいて、App Engineのインスタンス数を自動的にスケーリングするアプリケーション。
具体的なコマンド
gcloud auth application-default login
違い
- `gcloud auth login` はユーザーの認証のため、`gcloud auth application-default login` はアプリケーションの認証のために使用される。
- `gcloud auth login` は主に手動の操作のため、`gcloud auth application-default login` はアプリケーションの開発の際に使用される。