

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# KMS キーのアクセスとアクセス許可
<a name="control-access"></a>

を使用するには AWS KMS、 がリクエストの認証 AWS に使用できる認証情報が必要です。認証情報には、 AWS リソース AWS KMS keys と[エイリアス](kms-alias.md)にアクセスするためのアクセス許可が含まれている必要があります。アクセス許可が明示的に提供され、拒否されていない限り、KMS キーに対するアクセス許可を持つ AWS プリンシパルはありません。KMS キーを使用または管理するための暗黙的または自動的な権限はありません。

KMS キーへのアクセスを制御するには、次のポリシーメカニズムを使用できます。
+ [キーポリシー](key-policies.md) — すべての KMS キーにはキーポリシーがあります。これは、KMS キーへのアクセスを制御するための主要メカニズムです。キーポリシーを単独で使用してアクセスを制御できます。この場合、KMS キーへのアクセスの完全な範囲が 1 つのドキュメント (キーポリシー) で定義されます。キーポリシーの使用の詳細については、「[キーポリシー](key-policies.md)」を参照してください。
+ [IAM ポリシー](iam-policies.md) — IAM ポリシーをキーポリシーと組み合わせて使用し、KMS キーへのアクセスを制御できるように許可を付与します。この方法でアクセスを制御すると、IAM の IAM ID に対するすべてのアクセス許可を管理できます。IAM ポリシーを使用して KMS キーへのアクセスを許可するには、キーポリシーで明示的に許可する必要があります。IAM ポリシーの使用の詳細については、「[IAM ポリシー](iam-policies.md)」を参照してください。
+ [グラント](grants.md) — グラントをキーポリシーおよび IAM ポリシーと組み合わせて使用し、KMS キーへのアクセスを許可します。この方法でアクセスを制御すると、キーポリシーで KMS キーへのアクセスを許可し、アイデンティティが他のユーザーにアクセスを委任できるようになります。グラントの使用の詳細については、「[での許可 AWS KMS](grants.md)」を参照してください。

## KMS キーポリシー
<a name="intro-key-policy"></a>

 AWS KMS リソースへのアクセスを管理する主な方法は、 *ポリシー*を使用することです。ポリシーは、どのプリンシパルがどのリソースにアクセスできるかを記述するドキュメントです。IAM アイデンティティにアタッチされたポリシーは*アイデンティティベースのポリシー* (IAM *ポリシー*) と呼ばれ、他の種類のリソースにアタッチされたポリシーは*リソースポリシー*と呼ばれます。KMS キーの AWS KMS リソースポリシーは*キーポリシー*と呼ばれます。

すべての KMS キーにはキーポリシーがあります。指定しない場合、 によって AWS KMS 自動的に作成されます。が AWS KMS 使用する[デフォルトのキーポリシー](key-policy-default.md)は、 AWS KMS コンソールでキーを作成するか AWS KMS API を使用するかによって異なります。デフォルトのキーポリシーを編集して、[最小特権のアクセス許可](least-privilege.md)に関する組織の要件に合わせることをお勧めします。

キーと IAM プリンシパルが同じ AWS アカウントにある場合、キーポリシーのみを使用してアクセスを制御できます。つまり、KMS キーへのアクセスの全範囲は 1 つのドキュメント (キーポリシー) で定義されます。ただし、あるアカウントの発信者が別のアカウントのキーにアクセスする場合には、キーポリシーのみでアクセスを許可することはできません。複数アカウントにまたがるシナリオにおいては、呼び出し元が API コールを行うことを明示的に許可する IAM ポリシーを呼び出し元のユーザーまたはロールにアタッチする必要があります。

また、IAM ポリシーをキーポリシーと組み合わせて使用して、KMS キーへのアクセス制御を許可することもできます。IAM ポリシーを使用して KMS キーへのアクセスを制御するには、IAM ポリシーを使用するアクセス許可を、キーポリシーによりアカウントに付与する必要があります。[IAM ポリシー を有効にするキーポリシーステートメント](key-policy-default.md#key-policy-default-allow-root-enable-iam)を指定するか、もしくはキーポリシー内で[許可対象のプリンシパルを明示的に指定](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html#Principal_specifying)できます。

ポリシーを作成するユーザーは、次のアクションをどのユーザーが実行できるかを制限できる十分なコントロールを備えている必要があります。
+ IAM および KMS キーポリシーの更新、作成、削除
+ ユーザー、ロール、およびグループからの IAM ポリシーのアタッチおよびデタッチ
+ KMS キーからの KMS キーポリシーのアタッチとデタッチ

## KMS キー向けグラント
<a name="intro-kms-grants"></a>

IAM ポリシーとキーポリシーに加えて、 は[許可](grants.md) AWS KMS をサポートします。権限は、どの IAM プリンシパルまたは AWS サービスプリンシパルがキーポリシーを変更せずにキーにアクセスできるかを管理するための柔軟で強力な方法を提供します。これには、他のジョブまたはリソースの期間中のみアクセス許可が必要なユースケースが含まれます。API を呼び出してグラントを作成し、不要になったグラントを廃止または取り消します。

詳細については、「[での許可 AWS KMS](grants.md)」を参照してください。