Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
GILT FÜR:
NoSQL
MongoDB
Cassandra
Gremlin
Tabelle
In diesem Artikel wird erläutert, wie Sie mithilfe einer Self-Service-API eine Mindestversion des TLS-Protokolls für Ihr Cosmos DB-Konto erzwingen.
Aufgrund der mehrinstanzenfähigen Natur von Cosmos DB ist der Dienst erforderlich, um die Zugriffs- und Sicherheitsanforderungen aller Benutzenden zu erfüllen. Um dies zu erreichen, erzwingt Cosmos DB TLS-Mindestprotokolle auf der Anwendungsebene und nicht auf niedrigeren Ebenen im Netzwerkstapel, in dem TLS betrieben wird. Diese Erzwingung erfolgt bei jeder authentifizierten Anforderung an ein bestimmtes Datenbankkonto gemäß den Einstellungen, die der Kunde für dieses Konto festgelegt hat.
Die dienstweit akzeptierte Mindestversion ist TLS 1.0. Diese Auswahl kann auf Kontobasis geändert werden, wie im folgenden Abschnitt erläutert.
Ab der API-Version 2022-11-15 der Azure Cosmos DB-Ressourcenanbieter-API wird eine neue Eigenschaft für jedes Cosmos DB-Datenbankkonto mit dem Namen minimalTlsVersion
verfügbar gemacht. Einer der folgenden Werte wird akzeptiert:
Tls
zum Festlegen der Mindestversion auf TLS 1.0.Tls11
zum Festlegen der Mindestversion auf TLS 1.1.Tls12
zum Festlegen der Mindestversion auf TLS 1.2.Der Standardwert für neue Konten lautet Tls12
.
Wichtig
Ab dem 31. August 2025 müssen alle Cosmos DB-Datenbankkonten TLS 1.2 (Transport Layer Security) oder höher verwenden, da die Unterstützung für TLS 1.0 und 1.1 eingestellt wird.
Dieses Self-Service-Feature ist im Portal beim Erstellen und Bearbeiten eines Kontos verfügbar. Azure Cosmos DB-Konten erzwingen das TLS 1.2-Protokoll. Azure Cosmos DB unterstützt jedoch je nach ausgewählter API-Art auch die folgenden TLS-Protokolle.
MongoDB: TLS 1.2
Cassandra: TLS 1.2
Tabelle, SQL und Graph: TLS 1.0, TLS 1.1 und TLS 1.2
Wenn Sie eine API-Art verwenden, die nur TLS 1.2 unterstützt, werden Sie auf der Registerkarte „Netzwerk“ unten das TLS-Protokoll deaktiviert sehen.
Wenn Sie eine API-Art verwenden, die mehrere TLS-Protokolle akzeptiert, können Sie zur Registerkarte „Netzwerk“ navigieren, und die Option „Minimum Transport Layer Security Protocol“ ist verfügbar. Sie können das ausgewählte Protokoll ändern, indem Sie einfach auf die Dropdownliste klicken und das gewünschte Protokoll auswählen.
Nachdem Sie Ihr Konto eingerichtet haben, können Sie auf der Registerkarte „Überprüfen + Erstellen“ unten im Abschnitt „Netzwerk“ überprüfen, dass das ausgewählte TLS-Protokoll wie angegeben festgelegt ist.
Navigieren Sie im Azure-Portal zu Ihrem Azure Cosmos DB-Konto.
Wählen Sie im linken Menü „Netzwerk“ und dann die Registerkarte „Konnektivität“ aus.
Sie sehen die Option „Minimum Transport Layer Security Protocol“. Wenn Sie eine API-Art verwenden, die nur TLS 1.2 unterstützt, werden Sie feststellen, dass diese Option deaktiviert ist. Andernfalls können Sie das gewünschte TLS-Protokoll auswählen, indem Sie einfach darauf klicken.
Verwenden Sie zum Festlegen über die Azure CLI den Befehl:
rg="myresourcegroup"
dbName="mycosmosdbaccount"
minimalTlsVersion="Tls12"
az cosmosdb update -n $dbName -g $rg --minimal-tls-version $minimalTlsVersion
Verwenden Sie zum Festlegen über Azure PowerShell den Befehl:
$minimalTlsVersion = "Tls12"
Update-AzCosmosDBAccount -ResourceGroupName myresourcegroup -Name mycosmosdbaccount -MinimalTlsVersion $minimalTlsVersion
Wenn Sie diese Eigenschaft mithilfe einer ARM-Vorlage festlegen möchten, aktualisieren Sie Ihre vorhandene Vorlage, oder exportieren Sie eine neue Vorlage für Ihre aktuelle Bereitstellung. Fügen Sie dann "minimalTlsVersion"
mit dem gewünschten Wert für die TLS-Mindestversion zu den Eigenschaften für die databaseAccounts
-Ressourcen hinzu. Hier sehen Sie ein einfaches Beispiel für eine Azure Resource Manager-Vorlage mit dieser Eigenschaftseinstellung, die einen Parameter verwendet.
{
{
"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')]",
}
}
}
Wichtig
Schließen Sie bei der erneuten Bereitstellung mit dieser Eigenschaft auch die anderen Eigenschaften für Ihr Konto und Ihre untergeordneten Ressourcen mit ein. Wenn Sie diese Vorlage unverändert bereitstellen, werden alle Ihre Kontoeigenschaften zurückgesetzt.
Sie können Konten erstellen, deren minimalTlsVersion
-Eigenschaft festgelegt ist, indem Sie die oben genannte ARM-Vorlage oder Azure PowerShell verwenden. Führen Sie den folgenden Befehl aus:
az cosmosdb create --name <CosmosDBAccountName> \
--resource-group <ResourceGroupName> \
--kind GlobalDocumentDB \
--locations regionName=<Region> \
--minimal-tls-version "Tls12"
Wichtig
Wenn das Konto vorhanden ist und die minimalTlsVersion
-Eigenschaft ausgelassen wird, wird die Eigenschaft auf ihren Standardwert zurückgesetzt, beginnend mit der API-Version 2022-11-15.
Da Cosmos DB die TLS-Mindestversion auf Anwendungsebene erzwingt, sind herkömmliche TLS-Scanner, die überprüfen, ob Handshakes vom Dienst für eine bestimmte TLS-Version akzeptiert werden, zum Testen der Erzwingung in Cosmos DB unzuverlässig. Informationen zum Überprüfen der Erzwingung finden Sie unter dem offiziellen Open-Source-Tool „cosmos-tls-scanner“.
Sie können den aktuellen Wert der minimalTlsVersion
-Eigenschaft auch mithilfe der Azure CLI oder mit Azure PowerShell abrufen.
Führen Sie den Befehl aus, um den aktuellen Wert der Eigenschaft mithilfe der Azure CLI abzurufen:
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
Führen Sie den Befehl aus, um den aktuellen Wert der Eigenschaft mithilfe von Azure PowerShell abzurufen:
Get-AzCosmosDBAccount -ResourceGroupName myresourcegroup -Name mycosmosdbaccount
Ereignisse
17. März, 21 Uhr - 21. März, 10 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrieren