Share via


Clés gérées par le client dans Azure Managed Instance pour Apache Cassandra

Dans Azure Managed Instance pour Apache Cassandra, vous pouvez utiliser votre propre clé pour chiffrer les données sur le disque. Cet article explique comment implémenter des clés gérées par le client en utilisant Azure Key Vault.

Prérequis

  • Configurez un secret en utilisant Azure Key Vault. Pour plus d’informations, consultez À propos des secrets Azure Key Vault.

  • Déployez un réseau virtuel dans votre groupe de ressources.

  • Appliquez le rôle de contributeur réseau avec le principal du service Azure Cosmos DB en tant que membre. Utilisez la commande suivante :

        az role assignment create \
        --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \
        --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \
        --scope /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>
    

    L'application du rôle approprié à votre réseau virtuel vous permet d'éviter les échecs lors du déploiement d'un cluster Azure Managed Instance pour Apache Cassandra. Pour plus d’informations, consultez Créer une instance Azure Managed Instance pour Apache Cassandra en utilisant Azure CLI.

Cet article nécessite la version 2.30.0 ou ultérieure d'Azure CLI. Si vous utilisez Azure Cloud Shell, sachez que la version la plus récente est déjà installée.

Créer un cluster avec une identité affectée par le système

  1. Créez un cluster avec la commande suivante. Remplacez <subscriptionID>, <resourceGroupName>, <vnetName>, et <subnetName> par les valeurs appropriées.

    subnet="/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/<subnetName>"
    cluster="thvankra-cmk-test-wcus"
    group="thvankra-nova-cmk-test"
    region="westcentralus"
    password="PlaceholderPassword"
    
    az managed-cassandra cluster create \
        --identity-type SystemAssigned \
        --resource-group $group \
        --location $region \
        --cluster-name $cluster \
        --delegated-management-subnet-id $subnet \
        --initial-cassandra-admin-password $password
    
  2. Récupérer les informations d’identité du cluster créé :

    az managed-cassandra cluster show -c $cluster -g $group
    

    Le résultat comprend une section sur l'identité, comme dans l'exemple suivant. Copiez la valeur principalId en vue d'une utilisation ultérieure.

      "identity": {
        "principalId": "1aa51c7f-196a-4013-a656-1ccabfdc54e0",
        "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
        "type": "SystemAssigned"
      }
    
  3. Dans le Portail Microsoft Azure, accédez à votre coffre de clés et sélectionnez Accès partagé. Sélectionnez ensuite Ajouter une stratégie d’accès pour créer une stratégie d’accès pour vos clés.

    Screenshot that shows the pane for access policies in the Azure portal.

  4. Pour les Autorisations de clé, sélectionnez obtenir, inclure et ne pas inclure. Sélectionnez la zone Sélectionner le principal pour ouvrir le volet Principal. Entrez la valeur du cluster principalId que vous avez récupérée précédemment, puis sélectionnez le bouton Sélectionner. (Dans le portail, vous pouvez également rechercher l’identifiant de principal du cluster à l’aide du nom du cluster.)

    Screenshot that shows an example of adding a principal for an access policy.

    Avertissement

    Vérifiez que la protection contre la purge est activée dans le coffre de clés. Sinon, les déploiements de centre de données échouent.

  5. Sélectionnez Ajouter pour ajouter la stratégie d’accès, puis sélectionnez Enregistrer.

    Screenshot that shows the button for saving an access policy.

  6. Pour récupérer l’identificateur de clé, sélectionnez Clés, puis sélectionnez votre clé.

    Screenshot that shows the pane for selecting a key.

  7. Sélectionnez la version actuelle.

    Screenshot that shows the box for selecting the current version of a key.

  8. Enregistrez l’identificateur de clé pour une utilisation ultérieure.

    Screenshot that shows copying a key identifier to the clipboard.

  9. Créez le centre de données en remplaçant <key identifier> par la même clé (l’URI que vous avez copié à l’étape précédente) pour le chiffrement de disque managé (managed-disk-customer-key-uri) et de stockage de sauvegarde (backup-storage-customer-key-uri). Utilisez la même valeur pour subnet que celle utilisée précédemment.

    managedDiskKeyUri = "<key identifier>"
    backupStorageKeyUri = "<key identifier>"
    group="thvankra-nova-cmk-test"
    region="westcentralus"
    cluster="thvankra-cmk-test-2"
    dc="dc1"
    nodecount=3
    subnet="/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>/subnets/<subnetName>"
    
    az managed-cassandra datacenter create \
        --resource-group $group \
        --cluster-name $cluster \
        --data-center-name $dc \
        --managed-disk-customer-key-uri $managedDiskKeyUri \
        --backup-storage-customer-key-uri $backupStorageKeyUri \
        --node-count $nodecount \
        --delegated-subnet-id $subnet \
        --data-center-location $region \
        --sku Standard_DS14_v2
    

Vous pouvez également attribuer une identité à un cluster existant sans informations d’identité :

az managed-cassandra cluster update --identity-type SystemAssigned -g $group -c $cluster

Faire pivoter la clé

Pour mettre à jour la clé, utilisez cette commande :

managedDiskKeyUri = "<key identifier>"
backupStorageKeyUri = "<key identifier>"
    
az managed-cassandra datacenter update \
    --resource-group $group \
    --cluster-name $cluster \ 
    --data-center-name $dc \
    --managed-disk-customer-key-uri $managedDiskKeyUri \
    --backup-storage-customer-key-uri $backupStorageKeyUri