# Fonctionnalités de récupération d'Azure Key Vault

> Lorsque nous mettons en place des solutions cloud natives, l'usage d'un Azure Key Vault est essentiel pour gérer les clés, les secrets et les certificats.
> 
> Je vous propose dans cet article, de mettre en avant deux fonctionnalités importantes à mettre en oeuvre sur vos environnements afin d'être sûr de ne pas perdre ces données importantes.

# Qu'est-ce que le "Soft-delete" ?

Le "Soft-delete" ou la "suppression réversible" en français est une fonctionnalité d'Azure Key Vault qui nous permet de **récupérer votre coffre fort éléctronique** et ces données pendant une période de rétention. Celle-ci peut être configurée **entre 7 et 90 jours**.

Lors de la création d'un Key Vault cette option est **active par défaut** sur une valeur de **90 jours** de rétention et une fois qu'elle a été définie, elle **ne peut pas être modifié ou supprimé**.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1676626021224/cc171e43-ac6b-49bd-991a-4e4b7f5e9490.png align="center")

Comme vous pouvez le remarquer à ce niveau sur la capture d'écran nous pouvons y trouver la seconde fonctionnalité de rétention "**Purge protection**" dont je vais maintenant détailler.

> Vous ne pouvez pas réutiliser le nom d'un coffre de clés qui a été supprimé de manière réversible tant que la période de conservation n'est pas écoulée.

# Maximiser la sécurité en activant la "Purge Protection"

Lorsque la protection contre la purge est activée, les secrets ne peuvent pas être purgés par les utilisateurs ou par Microsoft. Une fois activée, la protection contre la purge **empêche la purge des coffres** de clés supprimés **tant que la période de rétention n'a pas été atteinte**.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1676628303217/ff42c827-9ae4-4722-8927-e88f900f5258.png align="center")

Cette sélection **ne peut pas être modifiée** une fois le coffre de clés créé. Si un coffre de clés est créé avec une protection contre la purge, vous pouvez toujours le supprimer, mais **vous ne pourrez pas le purger une fois supprimé**. Dans ce cas, les Key Vaults supprimés devront **attendre 90 jours pour être définitivement purgés**.

# Comment faire maintenant pour purger un Key Vault supprimer ?

## Quelles sont les permissions nécessaires ?

Lorsqu'il s'agit de gérer des coffres de clés pour n'importe quelle opération, il existe **deux modèles d'autorisation** qui peuvent être utilisés le **RBAC** ou l'**access policy**.

1. **RBAC** : Autorisations de ressource Azure régulières, telles que Contributeur, Lecteur, Propriétaire, Contributeur Key Vault, etc.  
    Ceci est nécessaire pour accéder et gérer la ressource Azure Key Vault.
    
    > Par défaut, les rôles intégrés « **Owner** », « **Contributor** » et « **Key Vault Contributor**» disposent de l'autorisation nécessaire pour effectuer une opération de purge .
    
2. **Access policy** : même si vous disposez de l'autorisation de propriétaire sur un coffre de clés, vous avez toujours besoin des autorisations de la politique d'accès pour chaque élément (par exemple, les clés, les secrets, etc.).  
    Chaque élément possède son propre ensemble d'autorisations définies dans la section Politique d'accès.
    

Au final, l’utilisateur doit disposer des autorisations suivantes (au niveau de l’abonnement) pour effectuer des opérations sur les coffres supprimés de manière réversible :

| Autorisation | Description |
| --- | --- |
| Microsoft.KeyVault/locations/deletedVaults/read | Afficher les propriétés d’un coffre Key Vault supprimé de manière réversible |
| Microsoft.KeyVault/locations/deletedVaults/purge/action | Vider un coffre Key Vault supprimé de manière réversible |
| Microsoft.KeyVault/locations/operationResults/read | Pour vérifier l’état de vidage du coffre |
| [Contributeur Key Vault](https://learn.microsoft.com/fr-fr/azure/role-based-access-control/built-in-roles#key-vault-contributor) | Pour récupérer un coffre supprimé de manière réversible |

## Purger ou restaurer le Key Vault via le portail ?

Pour visualiser les Key Vault supprimés, il vous suffit de vous rendre sur [cette page](https://portal.azure.com/#view/HubsExtension/BrowseResource/resourceType/Microsoft.KeyVault%2Fvaults) et de cliquer sur "**Manage deleted vaults**":

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1676629725485/2431b4ed-0025-46ad-afe0-ef9708ecf2c3.png align="center")

Une fênetre **en haut à droite** va s'ouvrir et vous pourrez **choisir la souscription puis le Key Vault** :

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1676630031808/7dd61e38-725f-4c97-8690-f315b59773b7.png align="center")

Une fois votre Key Vault séléctionné vous pourrez le **restaurer** ou le **supprimer définitivement**:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1676630135319/f1cfd099-1e5e-43b3-ad9a-f5f07c61748f.png align="center")

## Purger ou restaurer le Key Vault via un script ?

### Azure PowerShell

1. Purger le Key Vault définitivement
    
    ```csharp
    Remove-AzKeyVault -VaultName {VAULT_NAME} -InRemovedState -Force -Location 'West Europe'
    ```
    
2. Restaurer le Key Vault
    
    ```csharp
    Undo-AzKeyVaultRemoval -VaultName {VAULT_NAME} -ResourceGroupName {RG_NAME} -Location westus
    ```
    

### Azure Cli

1. Purger le Key Vault définitivement
    
    ```bash
    az keyvault recover --subscription {SUBSCRIPTION ID} -n {VAULT NAME}
    ```
    
2. Restaurer le Key Vault
    
    ```bash
    az keyvault recover --subscription {SUBSCRIPTION ID} -n {VAULT NAME}
    ```
