はじめに
AWS KMS で作成した CMK(Customer managed key) は、他の AWS アカウントに共有が出来ます。共有先の AWS アカウントでは、共有された CMK を使った EBS の暗号化などが可能です。また、Snapshot の共有など、CMK の共有が必要な状況もあります。
今回の記事では、CMK を共有した先で、どのように活用するのか不明だったので、簡単に検証してみました。
構成
ざっくりな構成図を載せます。以下の構成にしたときに、どんな操作で利用できるかを確かめていきます。
- 共有元 : KMS 上でキーを作成し、共有先へ共有する
- 共有先 : 共有元からキーを共有され、実際にキーを利用する
共有元
共有元の AWS アカウントでは、既に Customer managed keys を作成しています。
共有している CMK の ARN がわかるので、メモをしておきましょう。共有先で使います。
- ARN : arn:aws:kms:ap-northeast-1:xxxxxxxxxxx:key/4c9a6278-3e8c-4bfb-bc58-b150b3e6fb4d
このキーは、共有先の AWS アカウントにすでに共有しています。(AWS アカウント ID は白で塗りつぶしています)
共有設定をしたい場合は、Add other AWS accounts を押して、共有できます。
共有先
共有先の AWS アカウントで、KMS のマネージメントコンソールを見ても、共有されたキーが見えるわけではありません。
EC2 の構成
実際に共有されたキーを利用してみるため、EC2 を構成してみます。
Launch Instance を選択します。
- Encrypted を選択
- KMS key を選択する欄で、
Specify a custom value
を選択
ここが重要なポイントです。共有元の KMS 上の Customer managed key の ARN を指定する ことで、キーを利用できます。
指定が出来ました
Launch Instance を押して EC2 インスタンスを構成します
作成処理が成功
普通に作成完了できました。SSH 接続も可能です。
RDS の構成
同様に RDS も観てみましょう。Create database を押します。
Encryption の欄で、Enter a key/ARN を押します。
共有元の Key の ARN を直接指定します。
Create database を押します。
対象の RDS インスタンスが作成できました。
検証を通してわかったこと
- KMS の Customer managed key は、異なる AWS アカウントへ共有が可能
- 共有された key は、共有先の KMS の画面では見えない。key を利用するときに、直接 ARN を指定することで利用が可能