認証とアクセス制御

Identity and Access Management(IAM)は、 Google Cloud 環境で誰が何を実行できるかを制御できるツールです。

アクセスは IAM 権限で制御されます。これは、 Google Cloud 環境内のリソースを操作するために必要です。リソースを操作する権限が付与されると、そのリソースにアクセスする権限が付与されます。適切な認可がないと、 Google Cloudリソースにアクセスできません。

権限とロール

リソースを操作するには、ユーザー アカウントにそのリソースへのアクセス権が必要です。

通常、リソースへのアクセス制御は IAM 管理者が行います。管理者は、プロジェクト、フォルダ、組織内の単一のリソースまたはすべてのリソースにアクセスする権限を付与できます。管理者は、ロールと呼ばれるバンドルで、関連する権限をユーザー アカウントに付与します。ユーザー アカウントに適切な権限を持つロールが付与されている限り、そのロールを使用して Google Cloud リソースにアクセスできます。

通常、Google Cloud 環境内のリソースに対してアクションを実行するワークフローは次のようになります。

  1. リソースに対してアクション(Cloud Storage バケットへのオブジェクトのアップロードなど)を実行しようとしていますが、適切な権限がありません。権限がないと、操作を実行できません。
  2. 必要な権限は、リクエスト管理システムから IAM 管理者にリクエストするか、 Google Cloud コンソールの権限エラー メッセージから直接リクエストできます。
  3. IAM 管理者が、適切な権限を含むロールをユーザー アカウントに付与します。これで、アクションが実行可能になります。

管理者として IAM を使用する

通常、管理者はユーザーにロールを付与して、 Google Cloud リソースにアクセスできるようにします。ユーザーは、プリンシパルと呼ばれる認証済み ID で表されます。

リソースに対するプリンシパルにロールを付与するには、リソースに適用されている許可ポリシーを編集します。許可ポリシーには、リソースにアクセスできるプリンシパルと、そのプリンシパルがリソースに対して実行できるアクションが記述されています。IAM は、許可ポリシーを使用して、プリンシパルがリソースにアクセスするために必要な権限を持っているかどうかを判断します。したがって、特定のプリンシパルに特定のリソースへのアクセス権を付与するには、リソースの許可ポリシーを、付与するプリンシパルとロールで更新する必要があります。

管理者は、次のタイプのリソースのプリンシパルにロールを付与できます。

  • プロジェクト、フォルダ、組織: これらのリソースは、リソース階層の構造化に使用されるコンテナ リソースです。これらのコンテナ リソースに付与するロールは、それらに含まれるすべてのサービス固有のリソースに適用されます。
  • サービス固有のリソース: サービスによって提供される機能またはコンポーネントです。たとえば、Compute Engine には、インスタンス、ディスク、サブネットワークなどのリソースがあります。サービス固有のリソースにロールを付与すると、コンテナ リソースにロールを付与するよりもきめ細かいアクセス制御が可能になります。これは、ユーザーのアクセスがそのリソースのみに制限されるためです。

IAM による高度なアクセス制御

許可ポリシーは、IAM を使用してGoogle Cloud 環境へのアクセスを制御する最も一般的な方法です。ただし、IAM には、次のようなアクセス制御の高度なオプションもあります。

  • 拒否ポリシーやプリンシパル アクセス境界ポリシーなどの追加のポリシータイプ
  • 条件付きの属性ベースのアクセス制御
  • Privileged Access Manager(PAM)などの一時的なアクセス制御

その他の形式のアクセス制御

IAM はGoogle Cloudの主なアクセス制御方法ですが、ユーザーのリソースへのアクセスに影響を与える可能性のある他の Google Cloud サービスもあります。

ユーザーのアクセスに影響する可能性のある他のサービスの例を次に示します。

  • Access Context Manager: Access Context Manager を使用すると、 Google Cloudのプロジェクトとリソースに対してきめ細かい属性ベースのアクセス制御を定義できます。
  • Identity-Aware Proxy(IAP): IAP は、HTTPS によってアクセスされるアプリケーションの一元的な認可レイヤを確立するアプリケーション レベルのアクセス制御モデルを使用します。
  • 組織のポリシー サービス: 組織のポリシーを使用すると、リソース階層全体にわたる制約を構成して、組織のクラウド リソースをプログラムで一元管理できます。
  • VPC Service Controls: VPC Service Controls を使用すると、明示的に指定した Google Cloud サービスの Google Cloud リソースとデータを保護する境界を定義できます。

次のステップ