AWS KMS リソースへのアクセスの管理の概要 - AWS Key Management Service

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

AWS KMS リソースへのアクセスの管理の概要

EVYAWSリソースは AWS アカウント リソースを作成またはアクセスするためのアクセス権限は、そのアカウントのアクセス権限ポリシーで定義されます。アカウント管理者は、アクセス権限ポリシーを IAM ID (ユーザー、グループ、ロール) および一部のサービス (AWS KMS) は、アクセス許可ポリシーを他の種類のリソースにアタッチすることができます。

注記

アカウント管理者 (または管理者ユーザー) は、管理者権限を持つユーザーです。詳細については、「」を参照してください。管理者のユーザーおよびグループの作成()IAM ユーザーガイド

アクセス権限を管理する場合、アクセス権限を取得するユーザー、そのユーザーがアクセス権限を取得するリソース、および許可される具体的なアクションを決定します。

AWS KMS リソースおよびオペレーション

AWS KMS では、プライマリリソースは カスタマーマスターキー (CMK) です。AWS KMS では、エイリアスもサポートしています。エイリアスは、CMK とは独立していますが、CMK と関連付けることができるフレンドリ名を提供します。一部の AWS KMS オペレーションでは、エイリアスを使用して CMK を識別できます。

CMK またはエイリアスの各インスタンスには、標準形式の一意の Amazon リソースネーム (ARN)があります。AWS KMS リソースの場合、AWS のサービス名は kms です。

  • カスタマーマスターキー (CMK)

    ARN 形式:

    arn:AWS partition name:AWS service name: AWS リージョン : AWS アカウント ID:key/CMK key ID

    ARN の例:

    arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab

  • エイリアス

    ARN 形式:

    arn:AWS partition name:AWS service name: AWS リージョン : AWS アカウント ID:alias/alias name

    ARN の例:

    arn:aws:kms:us-west-2:111122223333:alias/example-alias

AWS KMS には、AWS KMS リソースを操作するための一連の API オペレーションが用意されています。AWS Management Console および AWS KMS API オペレーションでの CMK の識別の詳細については、「キー識別子 (KeyId)」を参照してください。のリストAWS KMSオペレーションの詳細については、AWS Key Management ServiceAPI リファレンス

AWS KMS CMK へのアクセスの管理

AWS KMS CMK へのアクセスを管理する主な手段は、ポリシーです。ポリシーは、誰が何にアクセスできるかを説明するドキュメントです。IAM アイデンティティにアタッチされたポリシーは アイデンティティベースのポリシー (または IAM ポリシー)と呼ばれ、他の種類のリソースにアタッチされたポリシーは リソースベースのポリシーと呼ばれます。AWS KMS では、カスタマーマスターキー (CMK) にリソースベースのポリシーをアタッチする必要があります。これをキーポリシーと呼びます。すべての CMK にはキーポリシーがあります。

以下の方法で CMK へのアクセスを制御できます。

  • キーポリシーを使用する — CMK へのアクセスを制御するには、キーポリシーを使用する必要があります。キーポリシーを単独で使用してアクセスを制御できます。この場合、CMK へのアクセスの完全な範囲が 1 つのドキュメント (キーポリシー) で定義されます。

  • IAM ポリシーをキーポリシーと組み合わせて 使用する — IAM ポリシーをキーポリシーと組み合わせて使用して、CMK へのアクセスを制御できます。この方法でアクセスを制御すると、IAM の IAM ID に対するすべてのアクセス許可を管理できます。

  • キーポリシーと組み合わせて許可を使用する — 許可をキーポリシー と組み合わせて使用して、CMK へのアクセスを許可できます。この方法でアクセスを制御すると、キーポリシーで CMK へのアクセスを許可し、ユーザーが他のユーザーにアクセスを委任できるようになります。

ほとんどのAWSサービスで、IAM ポリシーがサービスのリソースへのアクセスを制御する唯一の方法です。一部のサービスでは、IAM ポリシーを補完するリソースベースのポリシーまたはその他のアクセスコントロールメカニズムが提供されますが、これらは一般的にオプションであり、IAM ポリシーだけでこれらのサービスのリソースへのアクセスを制御できます。ただし、AWS KMS については該当しません。CMK へのアクセスを許可するには、キーポリシーを単独で使用するか、IAM ポリシーまたは許可と組み合わせて使用する必要があります。IAM ポリシー自体では、CMK へのアクセスを許可するには十分ではありませんが、CMK のキーポリシーと組み合わせて使用できます。

キーポリシーの使用の詳細については、「キーポリシーの使用」を参照してください。

IAM ポリシーの使用の詳細については、「」を参照してください IAM ポリシーの使用

許可の使用の詳細については、「許可の使用」を参照してください。

ポリシーでのアクセス許可の指定

AWS KMS は一連の API オペレーションを提供します。これらの API オペレーションへのアクセスを制御するために、AWS KMS ではポリシーで指定できる一連のアクションが用意されています。詳細については、「AWS KMS API アクセス許可のリファレンス」を参照してください。

ポリシーは、一連のアクセス権限を記述したドキュメントです。以下に、ポリシーの基本的な要素を示します。

  • リソース — IAM ポリシーでは、Amazon リソースネーム(ARN)を使用して、ポリシーを適用するリソースを指定します。詳細については、「AWS KMS リソースおよびオペレーション」を参照してください。キーポリシーでは、リソースに "*" を使用します (実質的に「この CMK」を意味します)。キーポリシーは、それがアタッチされた CMK にのみ適用されます。

  • アクション — アクションを使用して、許可または拒否する API オペレーションを指定します。たとえば、kms:Encrypt アクションは AWS KMS の暗号化 オペレーションに対応します。

  • 効果 — この効果を使用して、アクセス許可を許可するか拒否するかを指定します。リソースへのアクセスを明示的に許可していない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。

  • プリンシパル— IAM ポリシーでは、AWSプリンシパル。代わりに、ポリシーがアタッチされている ID(IAM ユーザー、グループ、またはロール)が暗黙のプリンシパルになります。キーポリシーでは、アクセス権限を適用するプリンシパル (アイデンティティ) を指定する必要があります。以下の条件を指定できます。 AWS アカウント (ルート)、IAM ユーザー、IAM ロール、および一部のAWSサービスをキーポリシーでプリンシパルとして利用できます。IAM グループは、キーポリシー内の有効なプリンシパルではありません。

詳細については、「キーポリシーの使用」および「IAM ポリシーの使用」を参照してください。

ポリシーでの条件を指定する

という別のポリシー要素を使用することもできます。条件キーポリシーが有効になる状況を指定できます。たとえば、特定の日付の後にのみ適用されるポリシーステートメントが必要になる場合があります。または、特定の値が API リクエストに存在するかどうかに基づいて、ポリシーステートメントによるアクセスコントロールが必要になる場合があります。

条件を指定するには、あらかじめ定義された条件キーを使用します。通常、一部の条件キーは AWS に適用され、一部は AWS KMS に固有です。詳細については、「ポリシー条件の使用」を参照してください。

属性ベースのアクセスコントロール (ABAC) をサポートするには、AWS KMSは、タグとエイリアスに基づいてカスタマーマスターキー (CMK) へのアクセスを制御する条件キーを提供します。詳細については、「の ABAC の使用AWS KMS」を参照してください。