Application de la version TLS minimale en libre-service dans Azure Cosmos DB
S’APPLIQUE À : NoSQL MongoDB Cassandra Gremlin Table
Cet article explique comment appliquer une version minimale du protocole TLS pour votre compte Cosmos DB à l’aide d’une API libre-service.
Fonctionnement de l’application de la version TLS minimale dans Azure Cosmos DB
En raison de la nature mutualisée de Cosmos DB, le service est requis pour répondre aux besoins d’accès et de sécurité de chaque utilisateur. Pour ce faire, Cosmos DB applique les protocoles TLS minimaux au niveau de la couche application, et non des couches inférieures dans la pile réseau où TLS fonctionne. Cette application se produit sur toute demande authentifiée adressée à un compte de base de données spécifique, en fonction des paramètres définis sur ce compte par le client.
La version minimale acceptée à l’échelle du service est TLS 1.0. Cette sélection peut être modifiée pour chaque compte, comme indiqué dans la section suivante.
Comment définir la version TLS minimale pour mon compte de base de données Cosmos DB
À compter de la version 2022-11-15 de l’API fournisseur de ressources Azure Cosmos DB, une nouvelle propriété est exposée pour chaque compte de base de données Cosmos DB, appelée minimalTlsVersion
. L’une des valeurs suivantes est acceptée :
Tls
pour définir la version minimale sur TLS 1.0.Tls11
pour définir la version minimale sur TLS 1.1.Tls12
pour définir la version minimale sur TLS 1.2.
La valeur par défaut pour les nouveaux comptes est Tls12
.
Important
À compter du 31 août 2025, tous les comptes de base de données Cosmos DB devront utiliser le protocole TLS (Transport Layer Security) version 1.2 ou ultérieure, car la prise en charge de TLS 1.0 et 1.1 ne sera plus disponible.
Définissez le protocole minimal TLS dans Azure Cosmos DB à l’aide du portail
Cette fonctionnalité libre-service est disponible dans le portail lors de la création et modification d’un compte. Les comptes Azure Cosmos DB appliquent le protocole TLS 1.2. Toutefois, Azure Cosmos DB prend également en charge les protocoles TLS suivants selon le type d’API sélectionné.
MongoDB : TLS 1.2
Cassandra : TLS 1.2
Table, SQL and Graph : TLS 1.0, TLS 1.1 and TLS 1.2
Étapes pour définir le protocole minimal TLS lors de la création d’un compte
Si vous utilisez un type d’API prenant en charge uniquement TLS 1.2, vous notez dans l’onglet en bas Mise en réseau, un protocole TLS désactivé.
Si vous utilisez un type d’API acceptant plusieurs protocoles TLS, vous pouvez accéder à l’onglet Mise en réseau, et l’option minimale du protocole TLS sera disponible. Pour modifier le protocole sélectionné, cliquez tout simplement sur la liste déroulante et sélectionnez le protocole souhaité.
Une fois votre compte configuré, vous pouvez vérifier sous l’onglet Vérifier + créer, en bas dans la section Mise en réseau, que le protocole TLS sélectionné est défini comme spécifié.
Étapes pour définir le protocole minimal TLS lors de la modification d’un compte
Dans le portail Azure, accédez à votre compte Azure Cosmos DB.
Depuis le menu de gauche, sélectionnez Mise en réseau, puis l’onglet Connectivité.
Vous y trouverez l’option minimale du protocole TLS. Si vous utilisez un type d’API prenant en charge uniquement TLS 1.2, notez que cette option est désactivée. Sinon, vous pourrez sélectionner le protocole TLS souhaité en cliquant tout simplement dessus.
- Cliquez sur Enregistrer une fois le protocole TLS modifié.
- Une fois enregistré, vous recevez une notification de réussite. Toutefois, cette modification peut prendre jusqu’à 15 minutes une fois la mise à jour de la configuration terminée.
Définition au moyen d’Azure CLI
Pour la définir à l’aide d’Azure CLI, exécutez la commande :
rg="myresourcegroup"
dbName="mycosmosdbaccount"
minimalTlsVersion="Tls12"
az cosmosdb update -n $dbName -g $rg --minimal-tls-version $minimalTlsVersion
Définir avec Azure PowerShell
Pour définir à l’aide d’Azure PowerShell, exécutez la commande :
$minimalTlsVersion = 'Tls12'
$patchParameters = @{
ResourceGroupName = 'myresourcegroup'
Name = 'mycosmosdbaccount'
ResourceProviderName = 'Microsoft.DocumentDB'
ResourceType = 'databaseaccounts'
ApiVersion = '2022-11-15'
Payload = "{ 'properties': {
'minimalTlsVersion': '$minimalTlsVersion'
} }"
Method = 'PATCH'
}
Invoke-AzRestMethod @patchParameters
Définition au moyen d’un modèle ARM
Pour définir cette propriété à l’aide d’un modèle ARM, mettez à jour votre modèle ou exportez-en un nouveau pour votre déploiement actuel, puis ajoutez "minimalTlsVersion"
aux propriétés des ressources databaseAccounts
, avec la valeur de version TLS minimum désirée. Voici un exemple de base d’un modèle Azure Resource Manager de base avec ce paramètre de propriété, utilisant un paramètre.
{
{
"type": "Microsoft.DocumentDB/databaseAccounts",
"name": "mycosmosdbaccount",
"apiVersion": "2022-11-15",
"location": "[parameters('location')]",
"kind": "GlobalDocumentDB",
"properties": {
"consistencyPolicy": {
"defaultConsistencyLevel": "[parameters('defaultConsistencyLevel')]",
"maxStalenessPrefix": 1,
"maxIntervalInSeconds": 5
},
"locations": [
{
"locationName": "[parameters('location')]",
"failoverPriority": 0
}
],
"locations": "[variable('locations')]",
"databaseAccountOfferType": "Standard",
"minimalTlsVersion": "[parameters('minimalTlsVersion')]",
}
}
}
Important
Veillez à inclure les autres propriétés de votre compte et de vos ressources enfants lors du redéploiement avec cette propriété. Ne déployez pas ce modèle tel quel, car toutes les propriétés de votre compte seraient réinitialisées.
Pour les nouveaux comptes
Vous pouvez créer des comptes avec la propriété minimalTlsVersion
définie à l’aide du modèle ARM ci-dessus ou en remplaçant la méthode PATCH par un PUT sur Azure CLI ou Azure PowerShell. Veillez à inclure les autres propriétés de votre compte.
Important
Si le compte existe et que la propriété minimalTlsVersion
est annulée dans une requête PUT, la propriété est réinitialisée à sa valeur par défaut, à compter de la version de l’API 2022-11-15.
Comment vérifier l’application minimale de la version TLS
Étant donné que Cosmos DB applique la version TLS minimale au niveau de la couche application, les scanneurs TLS conventionnels qui vérifient si les liaisons sont acceptées par le service pour une version TLS spécifique ne sont pas fiables pour tester l’application dans Cosmos DB. Pour vérifier l’application, reportez-vous à l’outil cosmos-tls-scanneur open source officiel.
Vous pouvez également obtenir la valeur actuelle de la propriété minimalTlsVersion
à l’aide d’Azure CLI ou de Azure PowerShell.
Obtenir la valeur actuelle via Azure CLI
Pour obtenir la valeur actuelle de la propriété à l’aide d’Azure CLI, exécutez la commande :
subId=$(az account show --query id -o tsv)
rg="myresourcegroup"
dbName="mycosmosdbaccount"
az rest --uri "/subscriptions/$subId/resourceGroups/$rg/providers/Microsoft.DocumentDB/databaseAccounts/$dbName?api-version=2022-11-15" --method GET
Obtenir la valeur actuelle via Azure PowerShell
Pour obtenir la valeur actuelle de la propriété à l’aide d’Azure PowerShell, exécutez la commande :
$getParameters = @{
ResourceGroupName = 'myresourcegroup'
Name = 'mycosmosdbaccount'
ResourceProviderName = 'Microsoft.DocumentDB'
ResourceType = 'databaseaccounts'
ApiVersion = '2022-11-15'
Method = 'GET'
}
Invoke-AzRestMethod @getParameters