IAM(アイアム)
IAM(アイアム)とは、「Identity and Access Management(アイデンティティとアクセス管理)」の略で、Google Cloud(Google Workspaceとは異なる、主にシステム開発やインフラ構築に利用されるクラウドサービス)において、誰が(ID)、どのリソースに(アクセス対象)、どのような権限で(アクセスレベル)アクセスできるかを管理する仕組みです。
例えるなら、会社で社員一人ひとりに「入館証(ID)」と「部署や役職に応じた鍵(権限)」を渡し、どの部屋(リソース)に入れるかを厳密に管理する「セキュリティシステム」のようなものです。これにより、許可された人のみが、許可された範囲で、必要なリソースにアクセスできるようになります。
IAMの3つの主要な要素
IAMは、主に以下の3つの要素で構成されます。
- 誰が(Who: Identity / ユーザー、グループ、サービスアカウントなど):
- メンバー(Members): アクセスを許可する対象です。個々のユーザー(Googleアカウント)、Googleグループ、特定のドメイン内の全ユーザー、またはプログラムがアクセスする「サービスアカウント」などがあります。
- メンバー(Members): アクセスを許可する対象です。個々のユーザー(Googleアカウント)、Googleグループ、特定のドメイン内の全ユーザー、またはプログラムがアクセスする「サービスアカウント」などがあります。
- どのリソースに(What: Resource / プロジェクト、仮想マシン、データベースなど):
- アクセスを管理したい対象物です。Google Cloudでは、プロジェクト全体、特定の仮想マシン、ストレージバケット、データベース、ネットワークなど、様々なリソースに対して権限を設定できます。
- アクセスを管理したい対象物です。Google Cloudでは、プロジェクト全体、特定の仮想マシン、ストレージバケット、データベース、ネットワークなど、様々なリソースに対して権限を設定できます。
- どのような権限で(Can do What: Role / ロール):
- メンバーがリソースに対してどのような操作を許可されるかを示す「権限の集合体」です。権限は「ロール(役割)」として定義され、複数の権限がセットになっています。
- プリセットロール(定義済みロール): Google Cloudが事前に用意している一般的なロール(例: オーナー、編集者、閲覧者、Compute Engine管理者など)。
- カスタムロール: 特定のニーズに合わせて、必要な権限だけを組み合わせて作成する独自のロール。
- メンバーがリソースに対してどのような操作を許可されるかを示す「権限の集合体」です。権限は「ロール(役割)」として定義され、複数の権限がセットになっています。
IAMの仕組み
IAMでは、「誰が、どのリソースに対して、どのような権限を持つか」というポリシー(規則)を設定します。このポリシーは、リソースの階層(組織、フォルダ、プロジェクト、リソース)に沿って継承されるため、例えばプロジェクト全体に設定したポリシーは、そのプロジェクト内のすべてのリソースに自動的に適用されます。
IAMの重要性とメリット
- セキュリティの強化: 最小権限の原則(必要最小限のアクセス権のみを与える)を徹底することで、不正アクセスや情報漏洩のリスクを最小限に抑えます。
- コンプライアンスの遵守: アクセス制御を厳密に行うことで、企業や業界のセキュリティポリシー、規制要件に準拠しやすくなります。
- 運用効率の向上: 多数のユーザーやリソースに対するアクセス権限を効率的に管理できます。特に大規模な組織では、手動での管理は非現実的です。
- 監査性と透明性: 誰がいつ、どのリソースに対してどのような操作を行ったか、すべてのアクセスログが記録されるため、監査や問題発生時の原因究明に役立ちます。
IAMは、Google Cloud環境のセキュリティと管理の基盤となる非常に重要な要素であり、クラウドの安全な利用には欠かせない知識です。