Traffine I/O

日本語

2022-07-09

Cloud IAM

Cloud IAMとは

Cloud IAM(Cloud Identity and Access Management)は、Google Cloud Platform(GCP)の重要な部分です。クラウド環境内でユーザーのアイデンティティと関連するアクセス制御を管理する役割を果たしています。Cloud IAMは、最小限の特権アクセスを付与するという原則に基づいており、ユーザーに役割を遂行するために必要な権限のみを提供します。

Google Cloud IAMは、管理者によるクラウドリソースの統合的な制御を提供し、適切なエンティティ(人間のユーザー、グループ、またはサービスアカウント)のみがこれらのリソースにアクセスできるようにします。

Cloud IAMの特徴は、その細かさと柔軟性です。IAMポリシーを使用することで、管理者はリソースに対して特定の権限を定義できます。例えば、あるユーザーはデータベースを表示する権限を持ち、別のユーザーは変更する権限を持つ可能性があります。特定の権限セットを含む役割を割り当てることで、誰(アイデンティティ)がどのデータ(リソース)にどのようなアクセス(ロール)を持つかを制御することができます。

アイデンティティ

Google Cloud IAMにおけるアイデンティティは、権限が付与されるエンティティを指します。これはアクセス制御モデルの基礎です。Google Cloudでは、アイデンティティはユーザーアカウント、Googleグループ、またはサービスアカウントになります。

ユーザーアカウント

ユーザーアカウントは個々のGoogleアカウントに関連しています。これらのアカウントは、Google Cloudリソースと対話する人間のユーザーを識別するために使用されます。ビジネスシナリオでは、ユーザーアカウントは通常、Google Cloud内のさまざまなリソースにアクセスする必要がある従業員やクライアントに関連付けられます。これらのアカウントは、Google WorkspaceまたはCloud Identityで管理されるドメインに属することがで可能であり、ユーザーに幅広いオプションを提供します。

ユーザーアカウントは、認証に使用されるアイデンティティの最初のレベルです。通常、パスワードによって保護され、ユーザーのアイデンティティを確認するための2要素認証などの追加のセキュリティ対策があります。認証が完了すると、ユーザーは権限が割り当てられたロールに基づいて特定のアクセス権限を与えられます。

Googleグループ

Googleグループは、Googleアカウントとサービスアカウントのコレクションです。これらは同時に複数のユーザーに権限を割り当てる便利な方法として機能します。各グループには固有のメールアドレスがあり、ユーザーアカウントをグループに追加するには、ユーザーのメールアドレスをそのグループに関連付けるだけです。

リソースへのアクセスを管理するためにGoogleグループを使用すると、権限をスケーリングできる効率的な方法です。各ユーザーに手動でロールを割り当てる代わりに、管理者は組織内のロールや機能に基づいてユーザーを異なるGoogleグループに分類し、そのグループ全体に権限を割り当てることができます。

サービスアカウント

サービスアカウントは、ユーザーアカウントやGoogleグループとは異なる目的で使用されます。これはアプリケーションや仮想マシンなど、Google Cloudサービスと対話する必要がある非人間のユーザーを対象としています。

これらのアカウントはクラウド上で実行されるサービスやアプリケーションを認証し、他のサービスに安全にアクセスし必要な操作を実行することができます。サービスアカウントも人間のユーザーと同様に特定のロールと権限が与えられ、Google Cloud環境で実行できるアクションが制御されます。

ロールと権限

ロールと権限は、ユーザーまたはサービスが特定のリソースに対するアクセスを制御するルールを形成します。

メンバー

Google Cloud IAMにおける「メンバー」という用語には、ロールと権限が割り当てられる任意のエンティティが含まれます。これらのメンバーには個々のユーザーアカウント、Googleグループ、サービスアカウント、またはG Suiteドメイン全体などが含まれます。メンバーにロールが割り当てられると、そのメンバーは権限に基づいて特定のアクションを実行できます。

ロール

ロールは、メンバーに割り当てられる権限のコレクションです。システム内のジョブの機能と考えることができます。ロールをメンバーに割り当てることにより、各メンバーがタスクを実行するために必要な権限を持ち、不要なデータの公開の可能性を最小限に抑えることができます。

Google Cloud IAMは、次の3種類のロールを提供しています。

  • プリミティブロール
    これらは、全てのGoogle Cloudサービスに適用される広範なロールです。OwnerEditorViewerのロールが含まれます。シンプルさを提供しますが、他のロールタイプと比較して細かな制御ができません。

  • 事前定義ロール
    これらは、特定のGoogle Cloudサービスに適用されるより細かなロールです。メンバーへのアクセス権限の割り当てにおいてより精度の高い制御が可能です。

  • カスタムロール
    名前の通り、組織が特定のニーズに合わせてカスタマイズできるロールです。カスタムロールは最大の柔軟性を提供し、管理者がジョブの機能の具体的なニーズに応じて権限を選択できます。

IAMポリシー

IAMポリシーは、ロールがメンバーに割り当てられる方法です。ポリシーはメンバーをロールにバインドし、メンバーが許可されるアクションを定義します。ポリシーはプロジェクトレベルで添付され、プロジェクト内の全てのリソースに対して適用されます。

各IAMポリシーには、1つ以上のバインディングが含まれます。各バインディングは1つ以上のメンバーを特定のロールに関連付けます。IAMポリシーが定義され、実装されると、権限はGoogle Cloud環境全体で一貫して適用され、リソースへの安全かつ制御されたアクセスが確保されます。

参考

https://cloud.google.com/iam/docs/roles-overview
https://cloud.google.com/identity

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!