IAMポリシーARN — マネージドポリシーの参照
IAMポリシーARNを解析し、マネージドポリシーの識別方法を理解します。AWSマネージドポリシーとカスタマーマネージドポリシーの違い、ポリシーのバージョニングについて解説。
IAM
詳細な説明
IAMポリシーARNの構造
IAMマネージドポリシーのARNは、AWSマネージド(AWSが作成)かカスタマーマネージド(ユーザーが作成)かを示します。主な違いはアカウントIDフィールドです。
AWSマネージドポリシーの例
arn:aws:iam::aws:policy/ReadOnlyAccess
カスタマーマネージドポリシーの例
arn:aws:iam::123456789012:policy/custom/MyAppPolicy
解析されたコンポーネント(カスタマーマネージド)
| コンポーネント | 値 |
|---|---|
| Partition | aws |
| Service | iam |
| Region | (空) |
| Account ID | 123456789012 |
| Resource Type | policy |
| Resource ID | custom/MyAppPolicy |
AWSマネージドとカスタマーマネージドの比較
最も目に見える違いはアカウントIDフィールドです。AWSマネージドポリシーはアカウントIDとしてリテラル文字列awsを使用し、カスタマーマネージドポリシーは12桁のアカウント番号を使用します。AdministratorAccess、ReadOnlyAccess、PowerUserAccessなどのAWSマネージドポリシーはAWSによって管理され、すべてのアカウントで利用可能です。
ポリシーパス
ユーザーやロールと同様に、ポリシーもパスを持つことができます。例のcustom/MyAppPolicyでは、パスcustom/が関連するポリシーをグループ化します。アプリケーション、チーム、環境ごとにポリシーを整理するのに便利です。
ポリシーバージョン
ARNはポリシー自体を識別しますが、各ポリシーは最大5つのバージョンを持つことができます。ARNは常にポリシーを指し、特定のバージョンを参照するにはARNではなくAPI呼び出しでバージョンID(v1、v2など)を指定します。
ユースケース
CloudFormationやTerraformテンプレートでIAMロールにマネージドポリシーをアタッチする場合。ポリシーARNはAttachRolePolicy API呼び出しやインフラストラクチャ・アズ・コード定義のManagedPolicyArnsプロパティで使用される主要な参照です。