AWS Identity and Access Management
ユーザーガイド

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

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

AWS 管理ポリシー

AWS 管理ポリシーは、AWS が作成および管理するスタンドアロンポリシーです。スタンドアロンポリシーとは、ポリシー名を含む独自の Amazon リソースネーム (ARN) の付いたポリシーです。たとえば、arn:aws:iam::aws:policy/IAMReadOnlyAccess は AWS 管理ポリシーです。ARN の詳細については、「Amazon リソースネーム (ARN) と AWS のサービスの名前空間」を参照してください。

AWS 管理ポリシーは、多くの一般的ユースケースでアクセス許可を提供できるように設計されています。フルアクセスの AWS 管理ポリシー (例: AmazonDynamoDBFullAccess および IAMFullAccess) では、フルアクセスをサービスに付与して、サービス管理者のアクセス許可を定義します。パワーユーザーの AWS 管理ポリシー (例: AWSCodeCommitPowerUser および AWSKeyManagementServicePowerUser) は、パワーユーザーを対象に設計されています。部分的なアクセスの AWS 管理ポリシー (例: AmazonMobileAnalyticsWriteOnlyAccess および AmazonEC2ReadOnlyAccess) では、アクセス許可管理のアクセス許可を付与せずに、特定のアクセスレベルを AWS サービスに付与することができます。AWS 管理ポリシーでは、ポリシーを自身で記述する場合よりも簡単に、適切なアクセス許可がユーザー、グループ、ロールに割り当てられます。

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

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 管理ポリシーをコピーして開始することです。この方法で、最初の段階でポリシーが正しいことがわかっていれば、ご使用の環境に合わせて必要なカスタマイズを行うことができます。

次の図は、カスタマー管理ポリシーを示しています。各ポリシーは、それぞれ独自の Amazon リソースネーム (ARN) (ポリシー名を含む) の付いた IAM エンティティです。同じポリシーを複数のプリンシパルエンティティにアタッチできること (たとえば、同じ 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 マネジメントコンソール を使用してプリンシパルエンティティを削除すると、そのプリンシパルエンティティに組み込まれたポリシーも削除されます。これは、プリンシパルエンティティの一部であるためです。