PCS の暗号化された EBS ボリュームで使用するために必要な KMS AWS キーポリシー - AWS PCS

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

PCS の暗号化された EBS ボリュームで使用するために必要な KMS AWS キーポリシー

AWS PCS は、サービスにリンクされたロールを使用してアクセス許可を他の に委任します AWS のサービス。 AWS PCS サービスにリンクされたロールは事前定義されており、PCS AWS が AWS のサービス ユーザーに代わって他の を呼び出すために必要なアクセス許可が含まれています。事前定義されたアクセス許可には、 へのアクセスも含まれます AWS マネージドキー が、カスタマーマネージドキーへのアクセスは含まれません。

このトピックでは、Amazon EBS 暗号化のカスタマーマネージドキーを指定するときにインスタンスを起動するために必要なキーポリシーを設定する方法について説明します。

注記

AWS PCS では、アカウントの暗号化されたボリュームを保護するためにデフォルトを使用する AWS マネージドキー ための追加の認可は必要ありません。

概要

PCS がインスタンスを起動するときに、Amazon EBS AWS 暗号化 AWS KMS keys に以下を使用できます。

  • AWS マネージドキー – Amazon EBS によって作成、所有、および管理されるアカウント内の暗号化キー。これは、新しいアカウントのデフォルトの暗号化キーです。Amazon EBS は、カスタマーマネージドキーを指定しない限り、暗号化 AWS マネージドキー に を使用します。

  • カスタマーマネージド型キー – お客様が作成、所有、および管理するカスタム暗号化キー。詳細については、「 デベロッパーガイド」の「KMS キーの作成」を参照してください。 AWS Key Management Service

    注記

    KMS キーは対称である必要があります。Amazon EBS は、非対称カスタマーマネージドキーをサポートしていません。

暗号化されたスナップショットまたは暗号化されたボリュームを指定する起動テンプレートを作成するとき、またはデフォルトで暗号化を有効にするときに、カスタマーマネージドキーを設定します。

キーポリシーを設定する

KMS キーには、PCS AWS がカスタマーマネージドキーで暗号化された Amazon EBS ボリュームを使用してインスタンスを起動できるようにするキーポリシーが必要です。

このページの例を使用して、PCS AWS にカスタマーマネージドキーへのアクセスを許可するキーポリシーを設定します。カスタマーマネージドキーのキーポリシーは、キーの作成時または後で変更できます。

キーポリシーには、次のステートメントが必要です。

  • Principal 要素で指定された IAM ID がカスタマーマネージドキーを直接使用できるようにするステートメント。これには AWS KMS Encrypt、キーに対して Decrypt、、GenerateDataKey*、、および ReEncrypt*DescribeKeyオペレーションを実行するアクセス許可が含まれます。

  • Principal 要素で指定された IAM ID が CreateGrantオペレーションを使用して、独自のアクセス許可のサブセットを AWS KMS または別のプリンシパルと統合された に委任 AWS のサービス する許可を生成できるようにするステートメント。これにより、それらのサービスはお客様に代わって、キーを使用して、暗号化されたリソースを作成できるようになります。

キーポリシーに新しいポリシーステートメントを追加するときに、ポリシー内の既存のステートメントを変更しないでください。

詳細については、以下を参照してください。

例 1: カスタマー管理キーへのアクセスを許可するキーポリシーセクション

カスタマーマネージドキーのキーポリシーに次のポリシーステートメントを追加します。サンプル ARN をAWSServiceRoleForPCSサービスにリンクされたロールの ARN に置き換えます。このポリシー例では、 AWS PCS サービスにリンクされたロール (AWSServiceRoleForPCS) に、カスタマーマネージドキーを使用するためのアクセス許可を付与します。

{ "Sid": "Allow service-linked role use of the customer managed key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id:role/aws-service-role/pcs.amazonaws.com/AWSServiceRoleForPCS" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }
{ "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id:role/aws-service-role/pcs.amazonaws.com/AWSServiceRoleForPCS" ] }, "Action": [ "kms:CreateGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } }

例 2: カスタマー管理キーへのクロスアカウントアクセスを許可するキーポリシーセクション

AWS PCS クラスターとは異なるアカウントにカスタマーマネージドキーを作成する場合は、キーポリシーと組み合わせて許可を使用して、キーへのクロスアカウントアクセスを許可する必要があります。

キーへのアクセスを許可するには
  1. カスタマーマネージドキーのキーポリシーに次のポリシーステートメントを追加します。サンプル ARN を他のアカウントの ARN に置き換えます。111122223333 を、PCS クラスター AWS アカウント を作成する の実際のアカウント ID AWS に置き換えます。そうすることで、次の CLI コマンドを使用して、指定されたアカウント内の IAM ユーザーまたはロールに、キーに対するグラントを作成する許可を提供できます。デフォルトでは、ユーザーは キーにアクセスできません。

    {. "Sid": "Allow external account 111122223333 use of the customer managed key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }
    { "Sid": "Allow attachment of persistent resources in external account 111122223333", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333:root" ] }, "Action": [ "kms:CreateGrant" ], "Resource": "*" }
  2. PCS クラスターを作成するアカウントから、関連するアクセス許可を AWS PCS AWS サービスにリンクされたロールに委任する許可を作成します。の値は、サービスにリンクされたロールの ARN grantee-principalです。の値は、キーの ARN key-idです。

    次の create-grant CLI コマンドの例では、アカウント 111122223333 AWSServiceRoleForPCSで という名前のサービスにリンクされたロールに、アカウント 444455556666 でカスタマーマネージドキーを使用するためのアクセス許可を付与します。

    aws kms create-grant \ --region us-west-2 \ --key-id arn:aws:kms:us-west-2:444455556666:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d \ --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/pcs.amazonaws.com/AWSServiceRoleForPCS \ --operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant"
    注記

    リクエストを行うユーザーには、 kms:CreateGrantアクションを使用するためのアクセス許可が必要です。

    次の IAM ポリシーの例では、アカウント 111122223333 内の IAM アイデンティティ (ユーザーまたはロール) がアカウント 444455556666 内でカスタマーマネージド型キーの付与を作成できるようにします。

    JSON
    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreationOfGrantForTheKMSKeyinExternalAccount444455556666", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:us-west-2:444455556666:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d" } ] }

    異なる AWS アカウント内での KMS キーに対するグラントの作成に関する詳細については、「 デベロッパーガイド」の「 AWS KMSでの権限」を参照してください。

    重要

    被付与者のプリンシパルとして指定されたサービスにリンクされたロール名は、既存のロールの名前でなければなりません。権限を作成した後、その権限で PCS AWS が指定された KMS キーを使用できるように、サービスにリンクされたロールを削除して再作成しないでください。

AWS KMS コンソールでキーポリシーを編集する

以前のセクションの例では、キーポリシーにステートメントを追加する方法のみを示しています。これは、キーポリシーを変更する 1 つの方法にすぎません。キーポリシーを変更する最も簡単な方法は、キーポリシーに AWS KMS コンソールのデフォルトビューを使用し、IAM ID (ユーザーまたはロール) を適切なキーポリシーのキーユーザーの 1 つにすることです。詳細については、「 AWS Key Management Service デベロッパーガイド」の AWS Management Console 「デフォルトビューの使用」を参照してください。

警告

コンソールのデフォルトのビューポリシーステートメントには、カスタマーマネージドキーでオペレーションを実行する AWS KMS Revokeアクセス許可が含まれています。アカウントのカスタマーマネージドキー AWS アカウント へのアクセス権を付与する権限を取り消すと、 のユーザーは暗号化されたデータとキーにアクセス AWS アカウント できなくなります。