https://docs.aws.amazon.com/ja_jp/kms/latest/developerguide/multi-region-keys-create.html
https://dev.classmethod.jp/articles/kms-multi-region-keys/
マルチリージョンキーはグローバルではありません。
マルチリージョンのプライマリキーを作成し、そのキーを AWS パーティション内で選択するリージョンにレプリケートします。
-- 1. コマンド等のインストール
-- 1.1 aws cli version 2 インストール
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
-- 1.2 jqインストール
sudo yum -y install jq
-- 2. マルチリージョンのプライマリキーを作成する
aws kms create-key --multi-region
aws kms describe-key \
--key-id arn:aws:kms:ap-northeast-1:999999999999:key/mrk-11111111111111111111111111111111
-- 3. マルチリージョンのプライマリキーを作成する
aws kms replicate-key \
--key-id arn:aws:kms:ap-northeast-1:999999999999:key/mrk-11111111111111111111111111111111 \
--replica-region ap-northeast-3
aws kms describe-key \
--key-id arn:aws:kms:ap-northeast-1:999999999999:key/mrk-11111111111111111111111111111111
-- 4. 動作確認
echo test20220320_ap-northeast-1 > a.txt
echo test20220320_ap-northeast-3 > b.txt
aws kms encrypt \
--region ap-northeast-1 \
--key-id mrk-11111111111111111111111111111111 \
--encryption-algorithm SYMMETRIC_DEFAULT \
--plaintext fileb://a.txt \
--output text \
--query CiphertextBlob | base64 --decode > a.enc
aws kms encrypt \
--region ap-northeast-3 \
--key-id mrk-11111111111111111111111111111111 \
--encryption-algorithm SYMMETRIC_DEFAULT \
--plaintext fileb://b.txt \
--output text \
--query CiphertextBlob | base64 --decode > b.enc
aws kms decrypt \
--region ap-northeast-1 \
--key-id mrk-11111111111111111111111111111111 \
--encryption-algorithm SYMMETRIC_DEFAULT \
--ciphertext-blob fileb://a.enc \
--output text \
--query Plaintext | base64 --decode
aws kms decrypt \
--region ap-northeast-1 \
--key-id mrk-11111111111111111111111111111111 \
--encryption-algorithm SYMMETRIC_DEFAULT \
--ciphertext-blob fileb://b.enc \
--output text \
--query Plaintext | base64 --decode
aws kms decrypt \
--region ap-northeast-3 \
--key-id mrk-11111111111111111111111111111111 \
--encryption-algorithm SYMMETRIC_DEFAULT \
--ciphertext-blob fileb://a.enc \
--output text \
--query Plaintext | base64 --decode
aws kms decrypt \
--region ap-northeast-3 \
--key-id mrk-11111111111111111111111111111111 \
--encryption-algorithm SYMMETRIC_DEFAULT \
--ciphertext-blob fileb://b.enc \
--output text \
--query Plaintext | base64 --decode
-- 5. クリーンアップ
-- レプリカキーの削除
aws kms describe-key \
--key-id mrk-11111111111111111111111111111111
aws kms schedule-key-deletion \
--key-id mrk-11111111111111111111111111111111 \
--pending-window-in-days 7 \
--region ap-northeast-3
-- プライマリキーの削除
aws kms describe-key \
--key-id mrk-11111111111111111111111111111111
aws kms schedule-key-deletion \
--key-id mrk-11111111111111111111111111111111 \
--pending-window-in-days 7
※プライマリキーとすべてのレプリカキーの削除の待機期間を 7 日間にスケジュールすると、
レプリカキーは 7 日後に削除されます。プライマリキーは 14 日後に削除されます。