【新機能】KMSのカスタマーマスターキーを削除できるようになりました!

KMS

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、虎塚です。

2015年10月15日のAWSアップデートで、KMS (AWS Key Management Service) のカスタマーマスターキーをユーザが削除できるようになりました!

カスタマーマスターキーって何?

AWS上で、ユーザが作成管理できる暗号化鍵です。RDS、S3、Redshiftなどをサーバサイドで暗号化することや、クライアントサイド暗号化で利用するデータキーの生成や暗号化をおこなうことができます。詳しくは次の記事をどうぞ。

これまで

これまでは一度作成したカスタマーマスターキーを削除することはできませんでした。削除のAPIが提供されていなかったのです。そのため、検証やオペレーションミスで作成した不要になった鍵がずっとAWSアカウントに残り続けていました。

鍵を無効状態にすることで課金を免れることはできましたが(後述しますが、この料金設定は今回のアップデートにともない変わりました!)、気になっていた方も多いのではないでしょうか?

これから

カスタマーマスターキーを削除できるようになりました。カスタマーマスターキーの削除は、ドキュメントによると次のようなユースケースにフィットするようです。

  • カスタマーマスターキーのライフサイクルを完了させるとき
  • 使用しないカスタマーマスターキーの管理コストを避けたいとき
  • カスタマーマスターキーの作成数リミットに抵触しそうなとき

注意点

カスタマーマスターキーの削除は慎重に

カスタマーマスターキーの削除は慎重におこなってください。クライアントサイドで暗号化をおこなう場合、カスタマーマスターキーで暗号化したデータキーによってデータを暗号化します。カスタマーマスターキーを削除してしまうと、データキーを復号できなくなりますので、データを復号できなくなります

そのため、カスタマーマスターキーの削除を選択しても、キーが即座に削除されないようになっています。7〜30日間の削除保留期間をユーザはかならず設定する必要があります(システムによって強制されます)。

料金の変更

カスタマーマスターキーの削除機能がリリースされたことに伴い、無効化した状態のキーに利用費がかかるようになりました。2016年4月から、無効化した鍵1本につき$1/月の料金が発生します。

いらなくなった鍵を無効化して見ないフリをしていた方は、これを機に削除しておくとよいでしょう。

実践: カスタマーマスターキーの削除

AWS Management Consoleからカスタマーマスターキーを削除してみましょう。

カスタマーマスターキーの削除をスケジュールする

まず、KMSのキー一覧を表示します。削除対象のキーのチェックボックスをonにして、ドロップダウンリストから[Schedule key deletion]を選択します。

Schedule key deletionを選択

次に、削除保留期間を設定します。[Schedule key deletion]ダイアログが開きますので、[Waiting period]に保留期間の日数を設定します。デフォルトは30日で、7〜30日の期間で設定できます。

Waiting periodの設定

最後に、キー一覧で対象キーが「Pending Deletion」ステータスになったことを確認しておきましょう。なお、期間までの間であれば、削除保留を取り消すことができます。

Pending Deletion

削除保留を取り消す

対象のキーをのチェックボックスをonにして、ドロップダウンリストから[Cancel key deletion]を選択するだけです。

Cancel key deletion

AWS APIの更新

上記の手順をAWS CLIで実行する場合は、version 1.8.13以上を利用してください。

次の2つのAPIが新規に追加されました。

  • schedule-key-deletion
  • cansel-key-deletion

したがって、キーポリシーのallowアクションでKMS APIを一括許可していない場合は、上記のAPI実行の明示的な許可を追加する必要があります。

おわりに

慎重にも慎重を要する機能ですが、カスタマーマスターキーを削除できるようになったのは便利だと思います。これでキーが増えることを気にせずKMSの検証ができそうです。

それでは、また。