A TLS-verziók önkiszolgáló minimális kényszerítése az Azure Cosmos DB-ben
A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat
Ez a cikk azt ismerteti, hogyan kényszerítheti ki a TLS-protokoll minimális verzióját a Cosmos DB-fiókhoz egy önkiszolgáló API használatával.
A TLS-verziók minimális kényszerítése az Azure Cosmos DB-ben
A Cosmos DB több-bérlős jellege miatt a szolgáltatás minden felhasználó hozzáférési és biztonsági igényeinek kielégítéséhez szükséges. Ennek érdekében a Cosmos DB minimális TLS-protokollokat kényszerít ki az alkalmazásrétegen, és nem alacsonyabb rétegeket abban a hálózati veremben, ahol a TLS működik. Ez a kényszerítés egy adott adatbázisfiókra irányuló hitelesített kérés esetén történik, az ügyfél által a fiókon beállított beállításoknak megfelelően.
A szolgáltatásszintű minimálisan elfogadott verzió a TLS 1.0. Ez a kijelölés fiókonként módosítható a következő szakaszban leírtak szerint.
A Cosmos DB-adatbázisfiók minimális TLS-verziójának beállítása
Az Azure Cosmos DB erőforrás-szolgáltató API 2022-11-15 API-verziójától kezdve minden Cosmos DB-adatbázisfiókhoz egy új tulajdonság lesz elérhetővé téve.minimalTlsVersion
A következő értékek egyikét fogadja el:
Tls
a minimális verzió TLS 1.0-ra való beállításához.Tls11
a minimális verzió TLS 1.1-es értékre állításához.Tls12
a minimális verzió TLS 1.2-es értékre állításához.
Az új és a meglévő fiókok alapértelmezett értéke a .Tls
Fontos
2023. április 1-jén az új fiókok alapértelmezett értéke a következőre változik Tls12
: .
Minimális TLS-protokoll beállítása az Azure Cosmos DB-ben a Portál használatával
Ez az önkiszolgáló funkció a portálon érhető el fiók létrehozásakor és szerkesztésekor. Az Azure Cosmos DB-fiókok kényszerítik a TLS 1.2 protokollt. Az Azure Cosmos DB azonban a kiválasztott API-típustól függően a következő TLS-protokollokat is támogatja.
MongoDB: TLS 1.2
Cassandra: TLS 1.2
Table, SQL és Graph: TLS 1.0, TLS 1.1 és TLS 1.2
A minimális TLS-protokoll beállításának lépései fiók létrehozásakor
Ha olyan API-típust használ, amely csak a TLS 1.2-t támogatja, a hálózatkezelés lap alján a TLS protokoll le van tiltva.
Ha olyan API-típust használ, amely több TLS-protokollt is elfogad, lépjen a Hálózat lapra, és elérhető a Minimális átviteli réteg biztonsági protokollja beállítás. A kiválasztott protokollt a legördülő menüre kattintva és a kívánt protokoll kiválasztásával módosíthatja.
A fiók beállítása után a Felülvizsgálat + létrehozás lapon, a Hálózat szakasz alján áttekintheti, hogy a kiválasztott TLS-protokoll a megadott módon van-e beállítva.
A minimális TLS-protokoll beállításának lépései fiók szerkesztésekor
Lépjen az Azure Cosmos DB-fiókjához a Azure Portal.
Válassza a bal oldali menü Hálózatkezelés elemét, majd a Kapcsolatok lapot.
Ekkor megjelenik a Minimum Transport Layer Security Protocol (Minimális átviteli réteg biztonsági protokollja) lehetőség. Ha olyan API-típust használ, amely csak a TLS 1.2-t támogatja, ez a beállítás le van tiltva. Ellenkező esetben egyszerűen rákattintva kiválaszthatja a kívánt TLS-protokollt.
- A TLS protokoll módosítása után kattintson a Mentés gombra.
- A mentést követően egy sikeres értesítést fog kapni. A módosítás érvénybe lépése azonban akár 15 percet is igénybe vehet a konfigurációs frissítés befejezése után.
Beállítás az Azure CLI-vel
Az Azure CLI használatával történő beállításhoz használja a következő parancsot:
rg="myresourcegroup"
dbName="mycosmosdbaccount"
minimalTlsVersion="Tls12"
az cosmosdb update -n $dbName -g $rg --minimal-tls-version $minimalTlsVersion
Beállítás Azure PowerShell
A Azure PowerShell használatával történő beállításhoz használja a következő parancsot:
$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
Beállítás ARM-sablonnal
Ha ezt a tulajdonságot ARM-sablonnal szeretné beállítani, frissítse a meglévő sablont, vagy exportáljon egy új sablont az aktuális üzembe helyezéshez, majd adja hozzá "minimalTlsVersion"
az databaseAccounts
erőforrások tulajdonságait a kívánt minimális TLS-verzióértékkel. Itt egy alapszintű példa látható egy Azure Resource Manager-sablonra, amely ezt a tulajdonságbeállítást használja egy paraméter használatával.
{
{
"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')]",
}
}
}
Fontos
A tulajdonság ismételt üzembe helyezésekor mindenképpen adja meg a fiók és a gyermekerőforrások egyéb tulajdonságait. Ne helyezze üzembe a sablont úgy, ahogy van, vagy alaphelyzetbe állítja az összes fióktulajdonságát.
Új fiókok esetén
A fenti ARM-sablonnal létrehozhat fiókokat a minimalTlsVersion
beállított tulajdonsággal, vagy ha a PATCH metódust PUT-ra módosítja az Azure CLI-n vagy Azure PowerShell. Ügyeljen arra, hogy a fiók többi tulajdonságát is tartalmazza.
Fontos
Ha a fiók létezik, és a minimalTlsVersion
tulajdonság ki van küldve egy PUT-kérelemben, akkor a tulajdonság a 2022-11-15 API-verziótól kezdve alaphelyzetbe áll az alapértelmezett értékre.
A TLS-verziók minimális kényszerítési módjának ellenőrzése
Mivel a Cosmos DB a minimális TLS-verziót kényszeríti ki az alkalmazásrétegben, a hagyományos TLS-szkennerek, amelyek ellenőrzik, hogy a szolgáltatás elfogadja-e a kézfogásokat egy adott TLS-verzióhoz, nem alkalmasak a Cosmos DB-ben a kényszerítés tesztelésére. A kényszerítés ellenőrzéséhez tekintse meg a hivatalos nyílt forráskódú cosmos-tls-scanner eszközt.
A tulajdonság aktuális értékét az Azure CLI vagy a minimalTlsVersion
Azure PowerShell használatával is lekérheti.
Aktuális érték lekérése az Azure CLI-vel
A tulajdonság aktuális értékének az Azure CLI használatával történő lekéréséhez futtassa a következő parancsot:
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
Aktuális érték lekérése Azure PowerShell
A tulajdonság aktuális értékének Azure PowerShell használatával történő lekéréséhez futtassa a következő parancsot:
$getParameters = @{
ResourceGroupName = 'myresourcegroup'
Name = 'mycosmosdbaccount'
ResourceProviderName = 'Microsoft.DocumentDB'
ResourceType = 'databaseaccounts'
ApiVersion = '2022-11-15'
Method = 'GET'
}
Invoke-AzRestMethod @getParameters
Következő lépések
Az Azure Cosmos DB biztonságával kapcsolatos további információkért lásd: Az adatbázis-biztonság áttekintése az Azure Cosmos DB-ben .