Help us understand the problem. What is going on with this article?

GCPのIAMロールまとめ

本記事の目的
GCPのIAMロールを理解しづらいだったため、自分の理解を整理する

GCPのサービス利用権限はIAMロールで決められる。
個別アカウントにロールを付与して、アクセス権限を管理する。

IAMロールは基本3つタイプがあります。

  • Primitive roles(基本の役割)
  • Predefined roles(事前定義された役割)
  • Custom roles(カスタムの役割)

各種のロールと付与方法は下記でまとめます。

1.  Primitive roles(基本の役割)

基本の役割を使ってアクセス権限管理は一番簡単です。
広い範囲の権限を付与することとなるので、広い範囲のユーザーに付与するのはあまりオススメない。

アカウントにロール付与方法

# 下記のコマンドを実施するため、オーナー権限必要
# 例:editor権限付与
gcloud projects add-iam-policy-binding [PROJECT_ID] \
  --member user:[USER_EMAIL] \
  --role roles/editor

# またはowner権限付与
gcloud projects add-iam-policy-binding [PROJECT_ID] \
  --member user:[USER_EMAIL] \
  --role roles/owner

2.  Predefined roles(事前定義された役割)

GCP中に各種サービスごとの事前定義されたロールを個別付与する方法。

必要なサービスを個別に付与する。
例えば、クラウドストレージを利用する場合、「storage.admin」ロールを付与します。

# storage.admin」ロール権限付与。下記のコマンドを実施するため、オーナー権限必要
gcloud projects add-iam-policy-binding [PROJECT_ID] \
  --member user:[USER_EMAIL] \
  --role roles/storage.admin

各種サービスごとの事前定義されたロールはここでご参考
https://cloud.google.com/iam/docs/understanding-roles

3.  Custom roles(カスタムの役割)

事前定義された役割の付与方法より、もっと細かい権限設定できます。
カスタムの役割を定義して、必要な権限のみを付与する。
権限追加は必要の時、ロール定義ファイルに追加して、カスタムの役割を更新する必要です。

必要な権限を "custom_role_define.yaml"のファイルをまとめます。

title: "My Custom Role"
description: "For Test User"
stage: "ALPHA"
includedPermissions:
- storage.buckets.create
- storage.buckets.update
- storage.buckets.delete
- storage.buckets.list
- storage.buckets.get
- storage.objects.list
- storage.objects.get

この定義はストレージのバケツ作成とobjects参照権限があるロールの定義です。
カスタムの役割を作成実施

# カスタムの役割を作成実施。下記のコマンドを実施するため、オーナー権限必要
gcloud iam roles create my_custom_role --project [PROJECT_ID] \
--file custom_role_define.yaml

# 作成できたカスタムの役割を確認
gcloud iam roles describe my_custom_role --project [PROJECT_ID]

権限を修正・追加する場合、カスタムの役割の更新を実行する必要です。

# カスタムの役割を更新実施。下記のコマンドを実施するため、オーナー権限必要
gcloud iam roles update my_custom_role --project [PROJECT_ID] \
--file custom_role_define.yaml

それから、ユーザーアカウントにロール付与

gcloud projects add-iam-policy-binding [PROJECT_ID] \
  --member user:[USER_EMAIL] \
  --role projects/[PROJECT_ID]/roles/my_custom_role



ご覧して頂き、どうも有難う御座います!
DevSamurai Ben

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした