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.


Mise en garde concernant l'utilisation des outils de cybersécurité

L'utilisation des outils de cybersécurité présentés sur ce site est soumise à des considérations légales et éthiques importantes. Avant d'utiliser ces outils, nous vous encourageons à prendre en compte les points suivants :

- Cadre légal : L'utilisation de certains outils de cybersécurité peut être réglementée par la loi dans votre pays ou région. Il est de votre responsabilité de vous informer sur les lois en vigueur concernant la cybersécurité, la protection des données et la vie privée. L'utilisation non autorisée de ces outils peut entraîner des poursuites judiciaires et des sanctions pénales.

- Consentement : Assurez-vous d'obtenir le consentement explicite des parties concernées avant d'utiliser des outils qui pourraient intercepter, surveiller ou analyser des données. Le respect de la vie privée des individus est primordial.

- Utilisation éthique : Les outils de cybersécurité doivent être utilisés de manière éthique et responsable. Ils ne doivent pas être employés à des fins malveillantes, telles que le piratage, le vol de données ou toute autre activité illégale.

- Responsabilité : En utilisant ces outils, vous reconnaissez que vous le faites à vos propres risques. Nous ne saurions être tenus responsables des conséquences résultant de l'utilisation de ces outils, y compris, mais sans s'y limiter, les dommages matériels, les pertes de données ou les poursuites judiciaires.

- Formation et expertise : Il est recommandé de suivre une formation adéquate et de posséder les compétences nécessaires avant d'utiliser des outils de cybersécurité. Une mauvaise utilisation peut entraîner des résultats indésirables et des risques pour la sécurité.

En utilisant ce site et les outils qui y sont présentés, vous acceptez de respecter ces conditions et de vous conformer à toutes les lois applicables.

Formateur

Bertrand LECLERCQ

Consultant DevSecOps & Data Engineer


Avec 25 ans d'expérience dans le développement logiciel et une certification en Data Engineering de l'École des Mines Paris - PSL, je suis passionné par la cybersécurité, le big data et le DevOps. J'aime partager mes connaissances et aider la communauté à renforcer sa posture de sécurité.

J'ai créé une base de vulnérabilités librement accessible et je me forme en continu sur des plateformes comme TryHackMe. Mon objectif ? Démocratiser la cybersécurité et permettre à chacun de mieux comprendre les enjeux.

J'ai une solide expertise dans la conception et le déploiement de solutions sécurisées, ainsi qu'une expérience éprouvée dans la gestion de projets complexes. Maîtrisant un large éventail de technologies (Python, Go, Java, Docker, Kubernetes, etc.), je suis convaincu que la sécurité doit être intégrée dès le début du cycle de développement.

Le projet NoHackMe vous permet d'effectuer une veille Cyber, vous permet de découvrir le monde de la Cybersécurité ainsi qu'une section formation Cyber

Soutenez No Hack Me sur Tipeee