

# 管理ポリシーとインラインポリシーのいずれかを選択する
<a name="access_policies-choosing-managed-or-inline"></a>

管理ポリシーとインラインポリシーのどちらを選ぶかは、ユースケースを考慮して決定します。通常、インラインポリシーではなく、管理ポリシーを使用することをお勧めします。

**注記**  
管理ポリシーとインラインポリシーの両方を併用して、プリンシパルエンティティに共通および固有のアクセス許可を定義することができます。

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

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

**一元化された変更管理**  
管理ポリシーを変更すると、変更はポリシーがアタッチされているすべてのプリンシパルエンティティに適用されます。例えば、新しい AWS API のアクセス許可を追加する場合、カスタマー管理ポリシーを更新するか、AWS 管理ポリシーを関連付けてアクセス許可を追加します。AWS 管理ポリシーを使用している場合は、AWS がポリシーを更新します。管理ポリシーが更新されると、変更はその管理ポリシーがアタッチされているすべてのプリンシパルエンティティに適用されます。一方、インラインポリシーを変更するには、そのインラインポリシーを含む各アイデンティティを個別に編集する必要があります。たとえば、グループとロールの両方に同じインラインポリシーがある場合、両方のプリンシパルエンティティを個別に編集して、ポリシーを変更する必要があります。

**バージョニングとロールバック**  
カスタマー管理ポリシーを変更しても、変更されたポリシーによって既存のポリシーが上書きされることはありません。代わりに、IAM は管理ポリシーの新しいバージョンを作成します。IAM は、最大 5 つのバージョンのカスタマー管理ポリシーを保存します。ポリシーバージョンを使用し、必要に応じてポリシーを以前のバージョンに戻すことができます。  
ポリシーのバージョンは、`Version` ポリシーの要素とは異なります。`Version` ポリシー要素は、ポリシー内で使用され、ポリシー言語のバージョンを定義します。ポリシーのバージョンの詳細については、「[IAM ポリシーのバージョニング](access_policies_managed-versioning.md)」を参照してください。`Version` ポリシー要素の詳細については、「[IAM JSON ポリシー要素Version](reference_policies_elements_version.md)」を参照してください。

**アクセス許可管理の委任**  
ポリシーで定義されたアクセス許可を制御しながら、AWS アカウント のユーザーにポリシーのアタッチとデタッチを許可できます。これを行うには、一部のユーザーを完全な権限を持つ管理者 (ポリシーの作成、更新、削除が可能な管理者) として指定します。次に、権限が制限された管理者として他のユーザーを指定できます。他のプリンシパルエンティティにポリシーをアタッチできる限定管理者ですが、アタッチを許可したポリシーに限ります。  
アクセス許可の委任の詳細については、「[ポリシーへのアクセスの制御](access_controlling.md#access_controlling-policies)」を参照してください。

**より大きいポリシー文字制限**  
管理ポリシーの最大文字サイズ制限は、グループインラインポリシーの文字制限よりも大きいです。インラインポリシーの文字サイズの上限に達した場合は、さらに IAM グループを作成し、管理ポリシーをそのグループにアタッチできます。  
クォータと制限の詳細については、「[IAM と AWS STSクォータ](reference_iam-quotas.md)」を参照してください。

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

## 管理ポリシーで開始する
<a name="access_policies-get-started-managed-policy"></a>

[最小権限を付与する](access_policies.md#grant-least-priv)ポリシーを使用するか、タスクの実行に必要なアクセス許可のみを付与することをお勧めします。最小特権を付与する最も安全な方法は、チームに必要な権限のみを使用してカスタマー管理ポリシーを作成することです。必要に応じて、チームがより多くの権限を要求できるようにプロセスを作成する必要があります。チームに必要な権限のみを提供する [IAM カスタマーマネージドポリシーを作成する](access_policies_create-console.md)には時間と専門知識が必要です。

IAM ID (ユーザー、ユーザーのグループ、およびロール) にアクセス許可を追加するために、[AWS マネージドポリシー](access_policies_managed-vs-inline.md#aws-managed-policies) を使用できます。AWS 管理ポリシーは、最小特権のアクセス許可を付与しません。プリンシパルにジョブに必要な以上のアクセス許可を付与すると、セキュリティ上のリスクを考慮する必要があります。

ジョブ機能を含む AWS 管理ポリシーを任意の IAM ID にアタッチできます。詳細については、「[IAM ID のアクセス許可の追加および削除](access_policies_manage-attach-detach.md)」を参照してください。

最小特権のアクセス許可に切り替えるには、AWS Identity and Access Management and Access Analyzer を実行して、AWS マネージドポリシーでプリンシパルをモニタリングします。どのアクセス許可を使用しているかを学習したら、チームに必要なアクセス許可のみを持つカスタマー管理ポリシーを作成または生成することができます。これは安全性が低くなりますが、チームが AWS をどのように使用しているかを学習するにつれて柔軟性が高まります。詳細については、「[IAM Access Analyzer ポリシーの生成](access-analyzer-policy-generation.md)」を参照してください。

AWS 管理ポリシーは、多くの一般的ユースケースでアクセス許可を提供できるように設計されています。特定のジョブ機能用に設計された AWS 管理ポリシーの詳細については、[AWSジョブ機能の 管理ポリシー](access_policies_job-functions.md) を参照してください。

AWS 管理ポリシーの一覧については、「[AWS 管理ポリシーリファレンスガイド](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/about-managed-policy-reference.html)」を参照してください。

## インラインポリシーの使用
<a name="policies-using-inline-policies"></a>

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