共有 Amazon EBS スナップショットの暗号化に使用される KMS キーを共有
暗号化されたスナップショットを共有する場合は、スナップショットの暗号化に使用するカスタマーマネージド型キーも共有する必要があります。カスタマーマネージド型キーを作成したとき、または後でカスタマーマネージド型キーにクロスアカウント権限を適用することができます。
暗号化されたスナップショットにアクセスしている共有のカスタマーマネージド型キーのユーザーには、そのキーに対して、次の操作を実行するためのアクセス許可が与えられている必要があります。
-
kms:DescribeKey
-
kms:CreateGrant
-
kms:GenerateDataKey
-
kms:GenerateDataKeyWithoutPlaintext
-
kms:ReEncrypt
-
kms:Decrypt
ヒント
最小権限のプリンシパルに従うには、kms:CreateGrant
へのフルアクセスを許可しないでください。代わりに、AWS のサービスによってユーザーに代わって許可が作成された場合にのみ、kms:GrantIsForAWSResource
コンディションキーを使用して、KMS キーに許可を作成できるようにします。
カスタマーマネージド型キーへのアクセスの制御方法については、AWS Key Management Service デベロッパーガイドのAWS KMS でのキーポリシーの使用を参照してください。
AWS KMS コンソールを使用してカスタマーマネージド型キーを共有するには
-
AWS KMS コンソール (https://console.aws.amazon.com/kms
) を開きます。 -
AWS リージョン を変更するには、ページの右上隅にあるリージョンセレクターを使用します。
-
ナビゲーションペインで、[カスタマー管理型のキー] を選択します。
-
[エイリアス] 列で、スナップショットの暗号化に使用したカスタマーマネージド型キーのエイリアス (テキストリンク) を選択します。キーの詳細が新しいページで開きます。
-
[キーポリシー] セクションに、ポリシービューまたはデフォルトビューのいずれかが表示されます。ポリシービューは、キーポリシードキュメントを表示します。デフォルトビューは、[キー管理者]、[キーの削除]、[キーの使用]、[その他の AWS アカウント] の各セクションを表示します。デフォルトビューは、コンソールでポリシーを作成し、それをカスタマイズしていない場合に表示されます。デフォルトビューが使用できない場合は、ポリシービューでポリシーを手動で編集する必要があります。詳細については、AWS Key Management Service デベロッパーガイドのキーポリシーの表示 (コンソール)を参照してください。
アクセスできるビューに応じて、ポリシービューまたはデフォルトビューのいずれかを使用し、次に示すように 1 つ以上の AWS アカウント ID をポリシーに追加します。
(ポリシービュー) [編集] を選択します。1 つ以上の AWS アカウント ID を
"Allow use of the key"
ステートメントと"Allow attachment of persistent resources"
ステートメントに追加します。[Save changes] を選択します。次の例では、AWS アカウント ID444455556666
をポリシーに追加します。{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::
111122223333
:user/KeyUser
", "arn:aws:iam::444455556666
:root" ]}, "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::111122223333
:user/KeyUser
", "arn:aws:iam::444455556666
:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} }-
(デフォルトビュー) [その他の AWS アカウント] まで下にスクロールします。[別の AWS アカウントを追加] を選択し、プロンプトに従って AWS アカウント ID を入力します。別のアカウントを追加するには、[別の AWS アカウントを追加] を選択し、AWS アカウント ID を入力します。すべての AWS アカウントを追加したら、[Save changes] (変更の保存) を選択します。