🗂
Google Cloud Platformの権限周りの基礎的な解説と簡単な実行例
用語集
メンバー
メンバーの種類にはサービスアカウント、ユーザー、グループの3つがある。メンバー一覧はここで見る。
プロジェクト内のメンバーを一意に識別するためのID。ユーザー(=人間)の場合は自然にEmailになる。サービスアカウントの場合は、gcloud iam service-accounts list
等で一覧を取得できる。
IAMポリシー
- Google Cloudにはプロジェクト用とサービスアカウント用のIAMポリシーがある。
- 他にも組織のポリシーもある。
サービスアカウントのIAMポリシー
以下で確認可能
gcloud iam service-accounts get-iam-policy ${EMAIL}
プロジェクトのIAMポリシー
サービスアカウントがプロジェクト内でできることを定める。
ロールから選んだロールを、メンバーに付与することができる。
以下で確認可能
gcloud projects get-iam-policy ${PROJECT_ID}
実行例1
プロジェクトにサービスアカウントを作成し、プロジェクトのIAMポリシーを付与する。
サービスアカウントの作成
gcloud iam service-accounts create ${NAME} --display-name="${DISPLAY_NAME}" --description="${DESCRITION}"
作成したサービスアカウントは、プロジェクトのメンバーがアクセス可能になる。
権限の付与
gcloud projects add-iam-policy-binding ${PROJECT_ID} \
--member=serviceAccount:${EMAIL} --role=roles/bigquery.dataViewer
memberに付与する場合は、 --member=user:${EMAIL}
とする
キーの作成
gcloud iam service-accounts keys create key.json --iam-account=${EMAIL}
参考
連絡先
不備、誤記などあれば
Twitter: @_kentrino
Discussion