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

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

IAM を使用して、ポリシーを作成することで、アクセス権限を IAM ユーザー、グループ、およびロール(プリンシパルエンティティと呼びます)に適用します。次の 2 種類の IAM または ID ベースのポリシーを作成できます。

  • 管理ポリシー – AWS アカウント内の複数のユーザー、グループ、およびロールにアタッチできるスタンドアロンポリシーです。管理されたポリシーは、リソースではなく ID(ユーザー、グループ、およびロール)にのみ適用されます。次の 2 種類の管理ポリシーを使用できます。

    • AWS 管理ポリシー – AWS が作成および管理する管理ポリシー。ポリシーを初めて利用する場合は、AWS 管理ポリシーから開始することをお勧めします。

    • カスタマー管理ポリシー – AWS アカウントで作成および管理する管理ポリシー。カスタマー管理ポリシーは、AWS 管理ポリシーに比べ、より正確にポリシーを管理できます。

  • インラインポリシー – 自身で作成および管理するポリシーで、単一のユーザー、グループ、またはロールに直接埋め込まれています。リソースベースのポリシーは、別の形式のインラインポリシーです。リソースベースのポリシーについては、ここでは説明しません。リソースベースのポリシーの詳細については、「ID ベース(IAM)のアクセス権限およびリソースベースのアクセス権限」を参照してください。

ID ベース(IAM)のポリシーは、インラインポリシーまたは管理ポリシーのいずれかとすることができます。リソースベースのポリシーはリソース(インライン)にのみアタッチされ、管理されません。

一般的に、ポリシーの内容はいずれの場合も同じで、各種のポリシーで共通の構造および構文を使用して、一連のアクセス権限が定義されます。

注記

AWS 管理ポリシーおよびカスタマー管理ポリシーでは、ポリシーの Version 要素は 2012-10-17 に設定する必要があります。インラインポリシーでは、ポリシーの Version 要素は 2012-10-17 または 2008-10-17 に設定できます。すべてのポリシーで Version 要素を 2012-10-17 に設定することをお勧めします。

Version 要素の詳細については、ガイドの「ポリシー要素リファレンス」の「Version」を参照してください。

異なる種類のポリシーを併用できます。使用するポリシーの種類は 1 種類に制限されていません。

以下のセクションでは、各種のポリシーとそれぞれの用途について詳しく説明します。

AWS 管理ポリシー

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

AWS 管理ポリシーは、多くの一般的ユースケースでアクセス権限を提供できるように設計されています。たとえば、管理者用(すべてのアクセス)、パワーユーザー用(IAM を除くすべてのアクセス)、および AWS サービスへのその他のさまざまなレベルアクセス用の一般的なアクセス権限を定義する AWS 管理ポリシーが用意されています。AWS 管理ポリシーでは、ポリシーを自身で記述する場合よりも適切なアクセス権限をユーザー、グループ、およびロールにより簡単に割り当てられます。

AWS 管理ポリシーの中でも特に有用なカテゴリーは、職務機能用に設計されているものです。これらのポリシーは、IT 業界でよく使用される職務機能に密接に連携しています。この目的は、これらの一般的な職務機能への権限付与を簡単にすることです。職務機能ポリシーを使用する重要な利点としては、新しいサービスとして AWS によってこれらの保守や更新が行われ、APIが導入されることが 1 つ挙げられます。職務機能ポリシーのリストと説明については、職務機能の AWS 管理ポリシー を参照してください。

AWS 管理ポリシーで定義したアクセス権限は変更できません。AWS により、AWS 管理ポリシーで定義されたアクセス権限は不定期に更新されます。この場合、更新はポリシーがアタッチされているすべてのプリンシパルエンティティ(ユーザー、グループ、およびロール)に影響します。AWS では、新しい AWS サービスが起動したり、既存のサービスで新しい API が利用できるようになったり、ポリシーに新しいサービスまたは 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 がポリシーを更新します)。ポリシーが更新されると、変更はポリシーがアタッチされているすべてのプリンシパルエンティティに適用されます。これに対して、インラインポリシーを変更するには、ポリシーを含む各プリンシパルエンティティを個別に編集する必要があります。たとえば、グループとロールの両方に同じインラインポリシーがある場合、ポリシーを変更するには、両方のプリンシパルエンティティを個別に編集する必要があります。

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

管理ポリシーへの変更はバージョンとして実装されます。管理ポリシーを変更すると、新しいバージョンのポリシーが新しいバージョン ID とともに作成されます。ポリシーバージョンを使用して、必要に応じてポリシーを以前のバージョンに戻すことができます。

ポリシーのバージョンの詳細については、「管理ポリシーのバージョニング」を参照してください。

アクセス権限管理の委任

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

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

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

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

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

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