Azure Key Vault のキー コンテナーを完全に削除する

このエントリは2020/08/29現在の情報に基づいています。将来の機能追加や変更に伴い、記載内容との乖離が発生する可能性があります。

Azure Key Vaultは暗号化キーやシークレットと呼ばれるデータベース接続情報などの機密情報、そして証明書などを管理するためのPaaSコンポーネントであるが、キー コンテナーの削除は論理削除 (soft delete) として扱われるという仕様変更がロールアウトされている。詳細は以下。

すべてのキー コンテナーでの論理的な削除の有効化
Soft-delete will be enabled on all key vaults
https://docs.microsoft.com/azure/key-vault/general/soft-delete-change

Portalの作成画面を見るとこんな感じ。デフォルトでは消去保護は有効にはなっていない。

リテンション(保持)期間はデフォルトでは90日なので、90日間は論理削除の状態で保持される。そのため、論理的に削除されたキー コンテナーの名前を再利用できず、同じ名前でキー コンテナーを作成しようとするとエラーが発生する。

完全に消去するには

パージの操作が許可されているのはサブスクリプションの所有者、もしくは消去アクセス ポリシー アクセス許可が付与されたサービスプリンシパル。サブスクリプション所有者以外に付与する場合は、Portalからキー、シークレット、証明書の特権操作の削除をチェックする。

論理削除されたキー コンテナーをCLIでパージする場合は以下のコマンドを実行する。

# If soft-delete is enabled, purge operation should be performed.
az keyvault purge -n $KV_NAME

az keyvault purge
https://docs.microsoft.com/cli/azure/keyvault?view=azure-cli-latest#az-keyvault-purge

消去保護

消去保護を有効にすると、「削除されたコンテナーを保持する日数」で指定された期間はパージ操作を許可されているサービスプリンシパルでも削除できない。リテンション期間を満了すると自動的にパージされる。

消去保護 / Purge protection
https://docs.microsoft.com/azure/key-vault/general/soft-delete-overview#purge-protection

CLIでキー コンテナー作成時に消去保護を有効化する場合には、--enable-purge-protection を指定する。

消去保護が有効消去保護が無効
リテンション期間のパージ不可サブスクリプション所有者もしくは消去アクセス ポリシー アクセス許可が付与されたサービスプリンシパルでのみ可能
リテンション期間後自動的にパージ自動的にパージ

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください