翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 account111122223333use 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 account111122223333", "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 コマンドの例では、アカウント
111122223333AWSServiceRoleForPCSで という名前のサービスにリンクされたロールに、アカウント444455556666でカスタマーマネージドキーを使用するためのアクセス許可を付与します。aws kms create-grant \ --regionus-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 Key Management Service デベロッパーガイド」の「Grants in AWS KMS」を参照してください。
重要
被付与者のプリンシパルとして指定されたサービスにリンクされたロール名は、既存のロールの名前でなければなりません。許可を作成した後、その許可によって AWS PCS が指定された KMS キーを使用できるように、サービスにリンクされたロールを削除して再作成しないでください。
AWS KMS コンソールでキーポリシーを編集する
以前のセクションの例では、キーポリシーにステートメントを追加する方法のみを示しています。これは、キーポリシーを変更する 1 つの方法にすぎません。キーポリシーを変更する最も簡単な方法は、キーポリシーに AWS KMS コンソールのデフォルトビューを使用し、IAM ID (ユーザーまたはロール) を適切なキーポリシーのキーユーザーの 1 つにすることです。詳細については、「 AWS Key Management Service デベロッパーガイド」の AWS マネジメントコンソール 「デフォルトビューの使用」を参照してください。
警告
コンソールのデフォルトのビューポリシーステートメントには、カスタマーマネージドキーでオペレーションを実行する AWS KMS Revokeアクセス許可が含まれています。アカウントのカスタマーマネージドキー AWS アカウント へのアクセス権を付与する権限を取り消すと、 のユーザーは暗号化されたデータとキーにアクセス AWS アカウント できなくなります。