Azure Key Vaultを削除したのに、同じ名前で作り直せない。さらに完全削除(purge)を実行しても拒否される――この場合、Vaultが論理削除(soft-delete)状態で保持されており、消去保護(purge protection)が効いている可能性があります。
Key Vaultは削除すると即座に完全消去されるとは限りません。論理削除されたVaultは保持期間中に回復でき、その間は同じVault名を再利用できません。さらに消去保護が有効なら、管理者権限を持っていても保持期間終了前の完全消去はできません。([Microsoft Learn][1])
この状態になったときは、いきなり完全消去を試すのではなく、**「削除済みVaultの確認 → 必要なら回復 → 連携設定の復旧 → 本当に不要なら完全消去の可否を判断」**という順番で対応するのが安全です。
Key Vaultを削除しても同じ名前で作れない理由
Azure Key Vaultには、誤削除からVaultやキー、シークレット、証明書を保護する「論理削除」の仕組みがあります。
現在のKey Vaultでは、新しく作成したVaultで論理削除が既定で有効になっており、一度有効になった論理削除は無効化できません。削除されたVaultはすぐ消滅するのではなく、設定された保持期間のあいだ削除済みリソースとして残ります。([Microsoft Learn][1])
特に重要なのが、Vault名は論理削除中も予約された状態になることです。
Key Vaultの名前はグローバルで一意である必要があります。そのため、Azure Portal上で通常のリソース一覧からVaultが消えていても、論理削除状態で残っていれば、同じ名前を使って新しいVaultを作成できません。([Microsoft Learn][2])
状態を整理すると、次のようになります。
| Vaultの状態 | 回復 | 同名で新規作成 | 完全消去 |
|---|---|---|---|
| 通常状態 | 不要 | 不可 | まず削除が必要 |
| 論理削除状態 | 可能 | 不可 | 条件を満たせば可能 |
| 論理削除+消去保護あり | 可能 | 不可 | 保持期間終了まで不可 |
| 保持期間終了後に消去済み | 不可 | 再利用可能 | 完了済み |
つまり、「削除したのに名前が使用中になる」という場合は、まず削除済みVaultとして残っていないかを確認する必要があります。
最初に確認するのは「削除済みVault」「保持期間」「消去保護」
トラブル対応では、同名Vaultの作成を何度も試すより、現在の状態を確認する方が先です。
確認したいポイントは次の3つです。
- 対象Vaultが論理削除状態で残っているか
- いつまで保持される設定なのか
- 消去保護が有効になっているか
Azure Portalで削除済みVaultを確認する
Microsoft Learnでは、Azure PortalからKey Vaultサービスを開き、削除済みVaultを管理する画面から論理削除されたVaultを確認する手順が案内されています。
個別のVaultを探すのではなく、Key Vaultサービス全体から削除済みVaultを確認する点がポイントです。削除済みVaultが表示されれば、通常のリソース一覧から消えていても、Azure上ではまだ回復可能な状態です。([Microsoft Learn][3])
Azure CLIなら削除済みVaultを一覧確認できる
CLIを利用できる環境なら、次のコマンドで削除済みVaultを確認できます。
az keyvault list-deleted \
--subscription <SUBSCRIPTION_ID> \
--resource-type vault
特定のVaultを確認する場合は、show-deletedも利用できます。
az keyvault show-deleted \
--name <VAULT_NAME> \
--subscription <SUBSCRIPTION_ID>
az keyvault list-deletedはサブスクリプション内の削除済みVaultまたはManaged HSMの情報を取得するコマンドで、az keyvault show-deletedは削除済みリソースの詳細確認に利用できます。([Microsoft Learn][4])
実際の環境では、複数のサブスクリプションを使っているケースもあります。見つからない場合は、対象のサブスクリプションを間違えていないかも確認してください。
Key Vaultの保持期間は7~90日で、後から変更できない
論理削除されたVaultが保持される期間は、7~90日の範囲で設定されます。特に指定しなければ既定値は90日です。([Microsoft Learn][1])
ここで注意したいのが、保持期間は「削除した後に短くすればよい」という設定ではないことです。
Key Vaultの保持期間はVault作成時に設定され、保存後は変更できません。同じ保持期間が論理削除と消去保護に適用されます。([Microsoft Learn][1])
たとえば90日で作成したテスト用Vaultを削除した後に、
「テスト用途だから保持期間を7日に変更したい」
と考えても、そのVaultについて後から短縮することはできません。
テスト環境で頻繁にVaultを作成・削除する運用では、作成時点で保持期間をどう設定するかまで設計しておく必要があります。
誤削除なら「同名で再作成」ではなく「回復」する
必要なVaultを誤って削除しただけなら、新しいVaultを同じ名前で作り直す必要はありません。
論理削除の本来の目的は、削除したVaultを回復することです。
Azure CLIでは、たとえば次のように回復できます。
az keyvault recover \
--subscription <SUBSCRIPTION_ID> \
--name <VAULT_NAME>
Microsoft Learnでも、論理削除されたVaultに対してaz keyvault recoverを使用する手順が案内されています。([Microsoft Learn][3])
ここで重要なのは、「新規作成」と「回復」は別の操作だという点です。
論理削除されたVaultが残っている状態で、
az keyvault create ...
のように新規作成しようとしても、同名Vaultが論理削除状態で予約されているため解決しません。
元のVaultを引き続き利用したいのであれば、まず回復を検討します。
Vaultを回復してもRBACやEvent Gridまで元通りとは限らない
Key Vaultの回復で特に見落としやすいのが、Vaultそのものを回復すれば周辺設定もすべて戻るとは限らないことです。
Microsoft Learnでは、Key Vaultが論理削除されると、Key Vaultと統合されていたサービスの一部も削除されると説明されています。具体例として挙げられているのが次の2つです。
- Azure RBACのロール割り当て
- Event Gridのサブスクリプション
これらはVaultを回復しただけでは自動復元されず、必要に応じて再作成する必要があります。([Microsoft Learn][1])
したがって、回復後は「Vaultが表示されたから復旧完了」と判断せず、少なくとも次の点を確認します。
| 確認項目 | 確認する理由 |
|---|---|
| Vaultが正常に参照できるか | Vault自体の回復確認 |
| 必要なキー・シークレット・証明書 | アプリケーションが必要な情報を利用できるか確認 |
| Azure RBACのロール割り当て | 削除前のアクセス権が失われていないか確認 |
| Event Gridサブスクリプション | Key Vaultイベントを利用する処理が停止していないか確認 |
| Key Vaultを利用するアプリやAzureサービス | 回復後に実際の接続・処理が成立するか確認 |
特にRBACの再設定漏れは、「Vaultは戻ったのにアプリからアクセスできない」という別の障害につながります。
完全消去が拒否されるなら消去保護を確認する
論理削除されたVaultは、条件を満たせば保持期間中でも完全消去できます。
ただし、消去保護(purge protection)が有効な場合は別です。
消去保護が有効になっているVaultやVault内オブジェクトは、保持期間が終了するまでpurgeできません。論理削除された状態から回復することはできますが、保持期間を無視して完全削除することはできません。([Microsoft Learn][1])
これは単純な権限不足とは異なります。
Microsoft Learnでは、消去保護が有効な場合、管理者ロールや権限によってこの保護を上書き・無効化・回避することはできないと説明されています。([Microsoft Learn][2])
そのため、
「Ownerにすれば消せるのではないか」
「さらに強い権限を付ければpurgeできるのではないか」
と権限を増やし続けても、消去保護そのものが原因なら解決しません。
消去保護が有効なら、同じ名前を使うには待つ必要がある
消去保護が有効なVaultを削除してしまい、そのVaultはもう不要だが名前だけ再利用したい場合、選択肢は限られます。
元のVaultが必要なら回復できます。
一方、完全に不要で、なおかつ消去保護が有効なら、保持期間が終了してVaultが消去されるまで待つ必要があります。その期間中は同じVault名を再利用できません。([Microsoft Learn][1])
開発や検証を止められないのであれば、別のグローバル一意なVault名を採用して新しいVaultを作成する方法もあります。
たとえば、
app-test-kv
が使用できない場合に、
app-test-kv-02
のような別名を採用する方法です。
ただし名前を変更すると、アプリケーション、Infrastructure as Code、CI/CD、環境変数など、Vault名を参照している設定も変更対象になる可能性があります。単に「別名なら作れる」だけでなく、参照先の変更範囲を確認してから判断してください。
消去保護が無効でも、purgeを最初の解決策にしない
消去保護が無効で、必要な権限を持っていれば、論理削除されたVaultを完全消去できる場合があります。
Azure CLIには次のpurgeコマンドがあります。
az keyvault purge \
--subscription <SUBSCRIPTION_ID> \
--name <VAULT_NAME>
ただし、「同じ名前を早く使いたい」という理由だけで、最初にpurgeを実行するのは避けるべきです。
purgeは回復ではありません。完全かつ復旧不能な削除です。Microsoft Learnでも、論理削除状態からのpurgeには特別な権限が必要で、実行するとVaultが不可逆に削除されることが説明されています。([Microsoft Learn][1])
実行前には最低でも次を確認します。
- 本当に回復する必要がないVaultか
- 必要なキー、シークレット、証明書が残っていないか
- 他のAzureサービスやアプリケーションから参照されていないか
- キーがデータ暗号化に利用されていないか
- purgeを実行する権限が適切に付与されているか
- 消去保護が有効になっていないか
特に、Key Vault内のキーが他サービスの暗号化に使われている環境では注意が必要です。
Microsoftは、暗号化キーを利用する場合のデータ損失防止策として消去保護を推奨しており、Key Vaultと連携するAzureサービスの多くでは消去保護が要求される場合があります。([Microsoft Learn][1])
名前を空けることよりも、まず暗号化されたデータへ与える影響を確認してください。
状況別にどう対応するか
判断に迷ったら、次の順番で整理すると対応しやすくなります。
| 状況 | 基本的な対応 |
|---|---|
| 削除したVaultを引き続き使いたい | 論理削除されたVaultを回復する |
| 誤削除かどうか分からない | 依存関係を確認してから回復・消去を判断する |
| 同じ名前で作れず原因が分からない | 削除済みVault一覧を確認する |
| purgeが権限エラーになる | purge権限を確認する |
| purge権限があるのに消去できない | 消去保護の有無と保持期間を確認する |
| 消去保護が有効 | 回復するか、保持期間終了まで待つ |
| Vaultは不要だが開発を継続したい | 別のVault名を使うことも検討する |
| 回復が完了した | RBACとEvent Gridなど周辺設定を再確認する |
ポイントは、「同名で作れない=すぐpurge」ではないことです。
よくある勘違い
リソース一覧から消えたので完全削除されたと思う
通常の一覧から見えなくなっても、論理削除状態で保持されている可能性があります。
削除済みVaultとして確認してください。
管理者なら消去保護を突破できると思う
消去保護が有効な場合、保持期間が終了するまでpurgeできません。
権限を強くすれば回避できる仕組みではありません。([Microsoft Learn][2])
保持期間を後から短くできると思う
保持期間は7~90日の範囲でVault作成時に設定され、保存後は変更できません。([Microsoft Learn][1])
テスト環境では特に、作成時の設定が後々のVault名再利用に影響します。
Vaultを回復すればアクセス権もすべて戻ると思う
Azure RBACのロール割り当てやEvent Gridサブスクリプションなど、回復だけでは元に戻らない設定があります。([Microsoft Learn][1])
回復後の動作確認までを復旧作業として扱うのが安全です。
Key Vaultを削除した後に同名で作れないときの確認順序
Azure Key Vaultを削除したのに同じ名前で再作成できない場合は、次の順番で確認してください。
- 削除済みVaultに対象名が残っていないか確認する
- 論理削除の保持期間を確認する
- 消去保護が有効か確認する
- 誤削除なら新規作成ではなく回復する
- 回復後にRBACやEvent Gridなどの連携設定を確認する
- 本当に不要な場合だけpurgeの可否と影響を確認する
- 消去保護が有効なら保持期間終了を待つか、別名Vaultを検討する
Key Vaultの論理削除は、「削除したのに消えない不具合」ではなく、キーやシークレットの誤削除からシステムを守るための仕組みです。
テスト用Vaultであっても、purgeには復旧不能な影響があります。名前を再利用することを優先して完全消去するのではなく、まず削除済み状態・保持期間・消去保護・依存関係を確認することが、最も安全な切り分け方法です。
[1]: https://learn.microsoft.com/en-gb/%20azure/key-vault/general/soft-delete-overview “Azure Key Vault soft-delete | Microsoft Learn”
[2]: https://learn.microsoft.com/en-us/azure/key-vault/general/key-vault-recovery?tabs=azure-powershell&utm_source=chatgpt.com “Azure Key Vault recovery overview | Microsoft Learn”
[3]: https://learn.microsoft.com/en-us/azure/key-vault/general/key-vault-recovery?utm_source=chatgpt.com “Azure Key Vault recovery overview | Microsoft Learn”
[4]: https://learn.microsoft.com/en-us/cli/azure/keyvault?view=azure-cli-latest&utm_source=chatgpt.com “az keyvault | Microsoft Learn”

コメント