Désactiver l’authentification basée sur des clés avec Azure Cosmos DB for Table (préversion)
Cet article décrit le processus de désactivation de l’autorisation basée sur des clés (ou de l’authentification des informations d’identification de mot de passe du propriétaire de ressource) pour un compte Azure Cosmos DB for Table.
La désactivation de l’autorisation basée sur des clés empêche votre compte d’être utilisé sans la méthode d’authentification Microsoft Entra plus sécurisée. Cette procédure est une étape qui doit être effectuée sur les nouveaux comptes dans les charges de travail sécurisées. Vous pouvez également appliquer cette procédure aux comptes existants en cours de migration vers un modèle de charge de travail sécurisé.
Prérequis
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
- Si vous choisissez d’utiliser Azure PowerShell localement :
- Installez la dernière version du module Az PowerShell.
- Connectez-vous à votre compte Azure à l’aide de la cmdlet Connect-AzAccount.
- Si vous choisissez d’utiliser Azure Cloud Shell :
- Pour plus d’informations, consultez Vue d’ensemble d’Azure Cloud Shell.
Désactiver l’authentification basée sur une clé
Tout d’abord, désactivez l’authentification basée sur une clé pour votre compte existant afin que les applications soient obligées d’utiliser l’authentification Microsoft Entra. Utilisez az resource update
afin de modifier properties.disableLocalAuth
pour le compte existant.
az resource update \
--resource-group "<name-of-existing-resource-group>" \
--name "<name-of-existing-account>" \
--resource-type "Microsoft.DocumentDB/databaseAccounts" \
--set properties.disableLocalAuth=true
Tout d’abord, créez un compte pour lequel l’authentification basée sur une clé est désactivée pour obliger les applications à utiliser l’authentification Microsoft Entra.
Créez un fichier Bicep afin de déployer votre nouveau compte pour lequel l’authentification basée sur une clé est désactivée. Nommez le fichier deploy-new-account.bicep.
metadata description = 'Deploys a new Azure Cosmos DB account with key-based auth disabled.' @description('Name of the Azure Cosmos DB account.') param name string = 'csms-${uniqueString(resourceGroup().id)}' @description('Primary location for the Azure Cosmos DB account.') param location string = resourceGroup().location resource account 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = { name: name location: location kind: 'GlobalDocumentDB' properties: { databaseAccountOfferType: 'Standard' locations: [ { locationName: location } ] disableLocalAuth: true } }
Utilisez
az deployment group create
pour déployer le fichier Bicep avec le nouveau compte.az deployment group create \ --resource-group "<name-of-existing-resource-group>" \ --template-file deploy-new-account.bicep
Tout d’abord, désactivez l’authentification basée sur une clé pour votre compte existant afin que les applications soient obligées d’utiliser l’authentification Microsoft Entra. Utilisez Get-AzResource
et Set-AzResource
pour lire et mettre à jour respectivement le compte existant.
$parameters = @{
ResourceGroupName = "<name-of-existing-resource-group>"
ResourceName = "<name-of-existing-account>"
ResourceType = "Microsoft.DocumentDB/databaseAccounts"
}
$resource = Get-AzResource @parameters
$resource.Properties.DisableLocalAuth = $true
$resource | Set-AzResource -Force
Vérifier que l’authentification est désactivée
Tentez d’utiliser Azure SDK pour vous connecter à Azure Cosmos DB for Table en utilisant des informations d’identification par mot de passe du propriétaire de la ressource (ROPC). Cette tentative doit échouer. Si nécessaire, des exemples de code pour les langages de programmation courants sont fournis ici.
using Azure.Data.Tables;
using Azure.Core;
string connectionString = "AccountEndpoint=<table-endpoint>;AccountKey=<key>;";
TableServiceClient client = new(connectionString);
Important
Cet exemple de code utilise les bibliothèques Azure.Data.Tables
et Azure.Identity
de NuGet.