Azure Key Vault est un service de gestion des secrets qui permet de stocker et de gérer en toute sécurité les clés de chiffrement, les secrets, les certificats et autres informations sensibles. Il offre des fonctionnalités avancées pour le chiffrement, la gestion des accès et l'audit des secrets. Azure Key Vault est particulièrement utile pour les équipes de développement et de sécurité qui souhaitent centraliser et sécuriser la gestion des secrets.
Présentation de Azure Key Vault
Qu'est-ce que Azure Key Vault ?
Azure Key Vault est un service qui vous permet de :
- Stocker des secrets : Stocker des informations sensibles comme les mots de passe, les clés API, les certificats, etc.
- Gérer les accès : Contrôler l'accès aux secrets avec des politiques et des rôles.
- Chiffrer les données : Utiliser des clés de chiffrement pour protéger les données.
- Auditer les accès : Suivre et auditer l'accès aux secrets.
Exemples de Ligne de Commande
Pour interagir avec Azure Key Vault via la ligne de commande, vous pouvez utiliser l'Azure Command Line Interface (CLI). Voici quelques exemples de commandes avancées pour créer, gérer et récupérer des secrets dans Azure Key Vault.
Prérequis
Avant de commencer, assurez-vous que l'Azure CLI est installé et configuré sur votre machine. Vous pouvez configurer l'Azure CLI avec la commande suivante :
az login
Vous devrez fournir vos informations d'identification Azure.
Créer un Key Vault
Pour créer un Key Vault :
az keyvault create --name my-key-vault --resource-group my-resource-group --location eastus
Créer un Secret
Pour créer un secret dans un Key Vault :
az keyvault secret set --vault-name my-key-vault --name my-secret --value my-secret-value
Récupérer un Secret
Pour récupérer un secret dans un Key Vault :
az keyvault secret show --vault-name my-key-vault --name my-secret
Supprimer un Secret
Pour supprimer un secret dans un Key Vault :
az keyvault secret delete --vault-name my-key-vault --name my-secret
Créer une Clé de Chiffrement
Pour créer une clé de chiffrement dans un Key Vault :
az keyvault key create --vault-name my-key-vault --name my-key --size 2048
Récupérer une Clé de Chiffrement
Pour récupérer une clé de chiffrement dans un Key Vault :
az keyvault key show --vault-name my-key-vault --name my-key
Supprimer une Clé de Chiffrement
Pour supprimer une clé de chiffrement dans un Key Vault :
az keyvault key delete --vault-name my-key-vault --name my-key
Créer un Certificat
Pour créer un certificat dans un Key Vault :
az keyvault certificate create --vault-name my-key-vault --name my-certificate --policy @policy.json
Le fichier policy.json
pourrait ressembler à ceci :
{ "issuerParameters": { "name": "Self" }, "keyProperties": { "exportable": true, "keyType": "RSA", "keySize": 2048, "reuseKey": false }, "secretProperties": { "contentType": "application/x-pkcs12" }, "x509CertificateProperties": { "subject": "CN=my-certificate", "validityInMonths": 12 }, "lifetimeActions": [ { "trigger": { "daysBeforeExpiry": 30 }, "action": { "actionType": "AutoRenew" } } ] }
Récupérer un Certificat
Pour récupérer un certificat dans un Key Vault :
az keyvault certificate show --vault-name my-key-vault --name my-certificate
Supprimer un Certificat
Pour supprimer un certificat dans un Key Vault :
az keyvault certificate delete --vault-name my-key-vault --name my-certificate
Attribuer une Politique d'Accès
Pour attribuer une politique d'accès à un utilisateur ou à une application :
az keyvault set-policy --name my-key-vault --object-id <user-or-app-object-id> --secret-permissions get list --key-permissions get list --certificate-permissions get list
Lister les Politiques d'Accès
Pour lister les politiques d'accès d'un Key Vault :
az keyvault get-policy --name my-key-vault
Intégrer Azure Key Vault dans un Pipeline CI/CD
Pour intégrer Azure Key Vault dans un pipeline CI/CD, vous pouvez ajouter une étape de récupération des secrets dans votre fichier de configuration CI/CD. Par exemple, pour GitHub Actions, vous pouvez ajouter une étape comme suit :
name: Azure Key Vault Secrets Retrieval on: [push, pull_request] jobs: keyvault: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Azure CLI run: | curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash - name: Log in to Azure run: | az login --service-principal -u ${{ secrets.AZURE_CLIENT_ID }} -p ${{ secrets.AZURE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }} - name: Retrieve Secrets from Key Vault run: | az keyvault secret show --vault-name my-key-vault --name my-secret --query value -o tsv
Conclusion
Azure Key Vault est un outil puissant pour stocker et gérer en toute sécurité les clés de chiffrement, les secrets, les certificats et autres informations sensibles. En utilisant l'Azure CLI, vous pouvez automatiser et simplifier la création, la gestion et la récupération des secrets dans Azure Key Vault. Ces exemples de commandes et de configurations vous donnent un bon point de départ pour commencer à utiliser Azure Key Vault.