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
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
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": "aaaaaaaa-bbbb-cccc-1111-222222222222", "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee", "type": "SystemAssigned" }
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.
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.)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.
Sélectionnez Ajouter pour ajouter la stratégie d’accès, puis sélectionnez Enregistrer.
Pour récupérer l’identificateur de clé, sélectionnez Clés, puis sélectionnez votre clé.
Sélectionnez la version actuelle.
Enregistrez l’identificateur de clé pour une utilisation ultérieure.
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 poursubnet
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