gcloudコマンドのアカウント管理について

Google Cloudにはユーザーアカウントとは別に、サービスアカウントというものを作成できる。サービスアカウントの認証情報はJSONとして定義され、そのファイルを用いて認証が可能。

サービス アカウントは、ユーザー アカウントと同様に、メールアドレスで表されます。ただし、ユーザー アカウントとは異なり、サービス アカウントは特定のアプリケーションのみに属するものであり、ある API のために作成されたサービス アカウントはその API へのアクセスにしか使用できません。

https://cloud.google.com/video-intelligence/docs/common/auth?hl=ja

コマンドラインからの扱い方

ユーザーアカウントでgcloudでログインする時は

gcloud auth list

で可能ですがサービスアカウントでログインする時は下記のようにします。

gcloud auth activate-service-account --key-file ./service.json

複数のアカウントでログインできるようになっており、下記のようにしてアカウントリストを確認できる。

$ gcloud auth list
               Credentialed Accounts
ACTIVE  ACCOUNT
        admin@example.com
*       service-a@user-p-99999.iam.gserviceaccount.com

To set the active account, run:
    $ gcloud config set account `ACCOUNT`

ログアウトについて

一時的に使う業務用の認証であるとき、そのままログインしているとよくないのでログアウトしてあげる。

gcloud auth revoke service-a@user-p-99999.iam.gserviceaccount.com

ちょっと個人用のファイルとかを謝ってGCSやGCPとかに入れそうに思ったけど、そもそもバケットやホストやパスが違うからエラー吐いて落ちるだけだから、中長期的に使うならログインしっぱなしでもいいかもしれない。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA