Partage 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.

  • Appliquer 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.

    Capture d’écran montrant le volet des stratégies d’accès dans le portail Azure.

  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.)

    Capture d’écran montrant un exemple d’ajout d’un principal pour une stratégie d’accès.

    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.

    Capture d’écran montrant le bouton permettant de sauvegarder une stratégie d’accès.

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

    Capture d’écran montrant le volet pour sélectionner une clé.

  7. Sélectionnez la version actuelle.

    Capture d’écran montrant la zone permettant de sélectionner la version actuelle d’une clé.

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

    Capture d’écran montrant la copie d’un identificateur de clé dans le presse-papiers.

  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