

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

# 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 をサポートします。グラントは、アクセス許可付与のためのフレキシブルかつ強力な手法です。権限を使用して、アカウントまたは他の AWS アカウントの IAM プリンシパルに時間制限付き KMS キーアクセスを発行できます AWS 。ポリシーの作成時にプリンシパルの名前がわからない場合、あるいはアクセスを必要とするプリンシパルが頻繁に変更される場合は、時間制限付きアクセスを発行することをお勧めします。[グラント対象のプリンシパル](grants.md#terms-grantee-principal)は、KMS キーと同じアカウントにあっても、あるいは別のアカウントにあっても良いです。プリンシパルキーと KMS キーが異なるアカウントにある場合は、グラントに加えて IAM ポリシーを指定する必要があります。グラントを作成するには API を呼び出し、不要になったグラントを廃止または取り消す必要があるため、グラントには追加の管理が必要です。