メニュー
AWS Identity and Access Management
ユーザーガイド

管理ポリシーとインラインポリシー

IAM の ID のアクセス権を設定する必要がある場合は、AWS 管理ポリシー、カスタマー管理ポリシー、またはインラインポリシーを使用するかどうかを決定する必要があります。以下のセクションでは、各種のアイデンティティベースのポリシーとそれぞれの用途について詳しく説明します。

AWS 管理ポリシー

AWS 管理ポリシーは、AWS が作成および管理するスタンドアロンポリシーです。スタンドアロンポリシーとは、ポリシー名を含む独自の Amazon リソースネーム (ARN) を持つポリシーを意味します。

AWS 管理ポリシーは、多くの一般的ユースケースでアクセス権限を提供できるように設計されています。AmazonDynamoDBFullAccessIAMFullAccess など、サービスの管理者の一般的なアクセス権限を定義し、サービスへのフルアクセス権限を付与する AWS 管理ポリシーがあります。一部の AWS 管理ポリシーは、AWSCodeCommitPowerUserAWSKeyManagementServicePowerUser などのパワーユーザーを対象に設計されており、これらのポリシーも IAM アクセス権限に依存しています。その他の AWS 管理ポリシーは、追加の関連サービスへのアクセスを提供する AmazonMobileAnalyticsWriteOnlyAccessAmazonEC2ReadOnlyAccess など、AWS のサービスへのさまざまなレベルのアクセスを提供します。AWS 管理ポリシーでは、ポリシーを自身で記述する場合よりも適切なアクセス権限をユーザー、グループ、およびロールにより簡単に割り当てられます。

AWS 管理ポリシーの中でも特に有用なカテゴリーは、職務機能用に設計されているものです。これらのポリシーは、IT 業界でよく使用される職務機能に密接に連携しています。この目的は、これらの一般的な職務機能への権限付与を簡単にすることです。職務機能ポリシーを使用する重要な利点としては、新しいサービスとして AWS によってこれらの保守や更新が行われ、API オペレーションが導入されることが 1 つ挙げられます。たとえば、AdministratorAccess ジョブ機能は、AWS の各サービスおよびリソースにフルアクセスとアクセス権限の委任を提供します。このポリシーは、アカウント管理者のみに使用することをお勧めします。IAM および 組織 への制限されたアクセスを除き、すべてのサービスへのフルアクセスを必要とするパワーユーザーの場合は、PowerUserAccess ジョブ関数を使用します。ジョブ関数ポリシーの一覧と説明については、「職務機能の AWS 管理ポリシー」を参照してください。

AWS 管理ポリシーで定義したアクセス権限は変更できません。AWS により、AWS 管理ポリシーで定義されたアクセス権限は不定期に更新されます。この場合、更新はポリシーがアタッチされているすべてのプリンシパルエンティティ(ユーザー、グループ、およびロール)に影響します。AWS は、新しい AWS サービスが開始されたときや既存のサービスで新しい API コールが利用可能になったときに、AWS 管理ポリシーを更新する可能性が最も高くなります。たとえば、ReadOnlyAccess という AWS 管理ポリシーでは、すべての AWS サービスおよびリソースへの読み取り専用アクセスが許可されます。AWS で新しいサービスが開始されると、AWS により ReadOnlyAccess ポリシーを更新して、新しいサービスに対する読み取り専用アクセス権限が追加されます。更新されたアクセス権限は、ポリシーがアタッチされているすべてのプリンシパルエンティティに適用されます。

次の図は AWS 管理ポリシーを示しています。図には、3 つの AWS 管理ポリシー(AdministratorAccessPowerUserAccessAWSCloudTrailReadOnlyAccess)が示されています。1 つの AWS 管理ポリシーを複数の AWS アカウントのプリンシパルエンティティに、また、1 つの AWS アカウントの複数のプリンシパルエンティティにアタッチできることに注意してください。

 AWS 管理ポリシーの図

カスタマー管理ポリシー

使用する AWS アカウントで管理できるスタンドアロンのポリシーを作成することができ、これはカスタマー管理ポリシーと呼ばれています。次に、AWS アカウントの複数のプリンシパルエンティティにポリシーをアタッチできます。ポリシーをプリンシパルエンティティにアタッチすると、ポリシーで定義されたアクセス権限がエンティティに付与されます。

お客様が管理するポリシーを作成する優れた方法は、既存の AWS 管理ポリシーをコピーして開始することです。この方法で、最初の段階でポリシーが正しいことがわかっていれば、ご使用の環境に合わせて必要なカスタマイズを行うことができます。

次の図は、カスタマー管理ポリシーを示しています。各ポリシーは、IAM 内の独自の Amazon リソースネーム (ARN)(ポリシー名を含む)を持つエンティティです。同じポリシーを複数のプリンシパルエンティティにアタッチできること(たとえば、同じ DynamoDB-books-app ポリシーが異なる 2 つの IAM ロールにアタッチされていること)に注意してください。

 カスタマー管理ポリシーの図

インラインポリシー

インラインポリシーは、1 つのプリンシパルエンティティ(ユーザー、グループ、またはロール)に埋め込まれたポリシーで、つまり、本質的にプリンシパルエンティティの一部です。プリンシパルエンティティの作成時、またはそれ以降で、ポリシーを作成してプリンシパルエンティティに埋め込むことができます。

次の図はインラインポリシーを示しています。各ポリシーは本質的にユーザー、グループ、またはロールの一部です。2 つのロールに同じポリシー(DynamoDB-books-app ポリシー)が含まれているが、1 つのポリシーを共有していないことに注意してください。各ロールにはポリシーの独自のコピーが含まれています。

 インラインポリシーの図

管理ポリシーとインラインポリシーの比較

各用途向けにさまざまなポリシーが用意されています。通常、インラインポリシーではなく、管理ポリシーを使用することをお勧めします。

管理ポリシーは次の機能を備えています。

再利用可能性

1 つの管理ポリシーを複数のプリンシパルエンティティ (ユーザー、グループ、ロール) にアタッチすることができます。実際には、AWS アカウントにとって有用なアクセス権限を定義するポリシーのライブラリを作成し、これらのポリシーを必要に応じてプリンシパルエンティティにアタッチできます。

一元化された変更管理

管理ポリシーを変更すると、変更はポリシーがアタッチされているすべてのプリンシパルエンティティに適用されます。たとえば、新しい AWS API のアクセス権限を追加する場合、管理されたポリシーをアクセス権限を追加するように更新できます。(AWS 管理ポリシーを使用している場合は、AWS がポリシーを更新します)。ポリシーが更新されると、変更はポリシーがアタッチされているすべてのプリンシパルエンティティに適用されます。これに対して、インラインポリシーを変更するには、ポリシーを含む各プリンシパルエンティティを個別に編集する必要があります。たとえば、グループとロールの両方に同じインラインポリシーがある場合、ポリシーを変更するには、両方のプリンシパルエンティティを個別に編集する必要があります。

バージョニングとロールバック

カスタマー管理ポリシーを変更しても、変更されたポリシーによって既存のポリシーが上書きされることはありません。代わりに、IAM は管理ポリシーの新しいバージョンを作成します。IAM では、最大 5 つのバージョンのカスタマー管理ポリシーが保存されます。ポリシーバージョンを使用して、必要に応じてポリシーを以前のバージョンに戻すことができます。

ポリシーのバージョンは、Version ポリシーの要素とは異なります。Version ポリシー要素は、ポリシー内で使用され、ポリシー言語のバージョンを定義します。ポリシーのバージョンの詳細については、「IAM ポリシーのバージョニング」を参照してください。Version ポリシー要素の詳細については、「IAM JSON ポリシーエレメント: Version」を参照してください。

アクセス権限管理の委任

ポリシーで定義されたアクセス権限を制御しながら、AWS アカウントのユーザーにポリシーのアタッチとデタッチを許可できます。実際には、フルアクセス可能な管理者(つまり、ポリシーを作成、更新、および削除できる管理者)としてユーザーを指定できます。また、その他のユーザーを制限付き管理者 (アタッチすることを許可したポリシーしか他のプリンシパルエンティティにアタッチできない管理者) として指定することもできます。

アクセス権限の委任の詳細については、「ポリシーへのアクセスの制御」を参照してください。

AWS 管理ポリシーの自動更新

AWS では、新しい AWS サービスのアクセス権限を追加するなどの必要に応じて、AWS 管理ポリシーと更新を変更を加えることなく維持できます。更新は、AWS 管理ポリシーをアタッチしているプリンシパルエンティティに自動的に適用されます。

インラインポリシーの使用

インラインポリシーは、ポリシーとそれが適用されているプリンシパルエンティティとの厳密な 1 対 1 の関係を維持する必要がある場合に便利です。たとえば、ポリシー内のアクセス権限が意図したプリンシパルエンティティ以外のエンティティに間違って割り当てられないようにする必要がある場合などです。インラインポリシーを使用すると、ポリシーのアクセス権限が間違ったプリンシパルエンティティにアタッチされることはありません。また、AWS マネジメントコンソール を使用してプリンシパルエンティティを削除すると、そのプリンシパルエンティティに組み込まれたポリシーも削除されます。これは、プリンシパルエンティティの一部であるためです。