【新機能】KMSのカスタマーマスターキーを削除できるようになりました!
こんにちは、虎塚です。
2015年10月15日のAWSアップデートで、KMS (AWS Key Management Service) のカスタマーマスターキーをユーザが削除できるようになりました!
カスタマーマスターキーって何?
AWS上で、ユーザが作成管理できる暗号化鍵です。RDS、S3、Redshiftなどをサーバサイドで暗号化することや、クライアントサイド暗号化で利用するデータキーの生成や暗号化をおこなうことができます。詳しくは次の記事をどうぞ。
これまで
これまでは一度作成したカスタマーマスターキーを削除することはできませんでした。削除のAPIが提供されていなかったのです。そのため、検証やオペレーションミスで作成した不要になった鍵がずっとAWSアカウントに残り続けていました。
鍵を無効状態にすることで課金を免れることはできましたが(後述しますが、この料金設定は今回のアップデートにともない変わりました!)、気になっていた方も多いのではないでしょうか?
これから
カスタマーマスターキーを削除できるようになりました。カスタマーマスターキーの削除は、ドキュメントによると次のようなユースケースにフィットするようです。
- カスタマーマスターキーのライフサイクルを完了させるとき
- 使用しないカスタマーマスターキーの管理コストを避けたいとき
- カスタマーマスターキーの作成数リミットに抵触しそうなとき
- キーの上限はリージョンごとに100個までです
- 参考: Limits - AWS Key Management Service
注意点
カスタマーマスターキーの削除は慎重に
カスタマーマスターキーの削除は慎重におこなってください。クライアントサイドで暗号化をおこなう場合、カスタマーマスターキーで暗号化したデータキーによってデータを暗号化します。カスタマーマスターキーを削除してしまうと、データキーを復号できなくなりますので、データを復号できなくなります。
そのため、カスタマーマスターキーの削除を選択しても、キーが即座に削除されないようになっています。7〜30日間の削除保留期間をユーザはかならず設定する必要があります(システムによって強制されます)。
料金の変更
カスタマーマスターキーの削除機能がリリースされたことに伴い、無効化した状態のキーに利用費がかかるようになりました。2016年4月から、無効化した鍵1本につき$1/月の料金が発生します。
いらなくなった鍵を無効化して見ないフリをしていた方は、これを機に削除しておくとよいでしょう。
実践: カスタマーマスターキーの削除
AWS Management Consoleからカスタマーマスターキーを削除してみましょう。
カスタマーマスターキーの削除をスケジュールする
まず、KMSのキー一覧を表示します。削除対象のキーのチェックボックスをonにして、ドロップダウンリストから[Schedule key deletion]を選択します。
次に、削除保留期間を設定します。[Schedule key deletion]ダイアログが開きますので、[Waiting period]に保留期間の日数を設定します。デフォルトは30日で、7〜30日の期間で設定できます。
最後に、キー一覧で対象キーが「Pending Deletion」ステータスになったことを確認しておきましょう。なお、期間までの間であれば、削除保留を取り消すことができます。
削除保留を取り消す
対象のキーをのチェックボックスをonにして、ドロップダウンリストから[Cancel key deletion]を選択するだけです。
AWS APIの更新
上記の手順をAWS CLIで実行する場合は、version 1.8.13以上を利用してください。
次の2つのAPIが新規に追加されました。
- schedule-key-deletion
- cansel-key-deletion
したがって、キーポリシーのallowアクションでKMS APIを一括許可していない場合は、上記のAPI実行の明示的な許可を追加する必要があります。
おわりに
慎重にも慎重を要する機能ですが、カスタマーマスターキーを削除できるようになったのは便利だと思います。これでキーが増えることを気にせずKMSの検証ができそうです。
それでは、また。