翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 KMSEncrypt
、キーに対してDecrypt
、、GenerateDataKey*
、、およびReEncrypt*
DescribeKey
オペレーションを実行するアクセス許可が含まれます。 -
Principal
要素で指定された IAM ID がCreateGrant
オペレーションを使用して、独自のアクセス許可のサブセットを AWS KMS または別のプリンシパルと統合された に委任 AWS のサービス する許可を生成できるようにするステートメント。これにより、それらのサービスはお客様に代わって、キーを使用して、暗号化されたリソースを作成できるようになります。
キーポリシーに新しいポリシーステートメントを追加するときに、ポリシー内の既存のステートメントを変更しないでください。
詳細については、以下を参照してください。
-
AWS CLI コマンドリファレンスの create-key
-
AWS CLI コマンドリファレンスの put-key-policy
-
AWS Key Management Service デベロッパーガイドのキー ID とキー ARN を検索する
-
Amazon EBS ユーザーガイドの「Amazon EBS 暗号化」
-
AWS Key Management Service 「 AWS Key Management Service デベロッパーガイド」の�
例 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 クラスターとは異なるアカウントにカスタマーマネージドキーを作成する場合は、キーポリシーと組み合わせて許可を使用して、キーへのクロスアカウントアクセスを許可する必要があります。
キーへのアクセスを許可するには
-
カスタマーマネージドキーのキーポリシーに次のポリシーステートメントを追加します。サンプル 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": "*" } -
PCS クラスターを作成するアカウントから、関連するアクセス許可を AWS PCS AWS サービスにリンクされたロールに委任する許可を作成します。の値は、サービスにリンクされたロールの ARN
grantee-principal
です。の値は、キーの ARNkey-id
です。次の create-grant CLI コマンドの例では、アカウント
111122223333
AWSServiceRoleForPCS
で という名前のサービスにリンクされたロールに、アカウント444455556666
でカスタマーマネージドキーを使用するためのアクセス許可を付与します。aws kms create-grant \ --region
us-west-2
\ --key-idarn: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
内でカスタマーマネージド型キーの付与を作成できるようにします。異なる 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 アカウント できなくなります。