~~NOCACHE~~ ## マネージド型キーで暗号化されたAMIをアカウント間でコピー ### はじめに ・[マネージド型キー]で暗号化されたAMIをアカウント間でコピーする。 ・コピーする過程で作成するコピー元のアカウントの[カスタマー管理型のキー]が削除されても、コピー先のAMIは影響を受けないようにしたい。 ・コピー元:アカウントA、コピー先:アカウントBとして以下に説明する。 こんな感じでした。 {{:Aws:EC2:pasted:20210521-182442.png?direct 800x0}} ### アカウントAの手順 #### ①カスタマー管理型のキー作成 [[Aws:KMS:KeyCreation-SessionManager|Aws/KMS/キー作成-セッションマネージャ]]を参考に、[カスタマー管理型のキー]を作成します。 #### ②カスタマー管理型のキーにポリシーを追加 手順①で作成した[カスタマー管理型のキー]のキーポリシーに、以下の権限を追加する。 { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{アカウントBのID}:root" }, "Action": [ "kms:DescribeKey", "kms:CreateGrant", "kms:ReEncryptFrom" ], "Resource": "*" } #### ③AMIを作成 特段注意事項はありません、AMIを作成します。 #### ④AMIをコピー 手順①で作成した[カスタマー管理型のキー]を指定してコピーします。 ・送信先リージョン:コピー先のリージョン ・名前:好きな名前 ・暗号化:チェックする ・マスターキー:手順①で作成した[カスタマー管理型のキー] {{:Aws:EC2:pasted:20210521-182148.png?direct 400x0}} #### ⑤イメージパーミッションの変更 ・このイメージは現在:プライベートのまま ・AWSアカウント番号:アカウントBのアカウントIDを入力して、[アクセス許可の追加]をクリック ・パーミッションを作成するときは次の関連付けられたスナップショットに "ボリューム作成" パーミッションを追加する:チェックする {{:Aws:EC2:pasted:20210521-175309.png?direct 400x0}} ### アカウントBの手順 #### ⑥AMIをコピー アカウントBの[マネージド型キー]を指定してコピーします。 ・送信先リージョン:コピー先のリージョン ・名前:好きな名前 ・暗号化:チェックする ・マスターキー:(デフォルト)aws/ebs {{:Aws:EC2:pasted:20210521-182030.png?direct 400x0}} ### 手順①で作成した[カスタマー管理型のキー]を削除等した場合の挙動 #### イメージを共有(イメージパーミッションの変更)したAMI アカウントBでは ・EC2起動不可 ・AMIコピー不可 #### アカウントBの[マネージド型キー]でコピーしたAMI ・EC2起動可能 ・AMIコピー可能 {{tag>AWS AMI KMS}}