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.

Képernyőkép a csak a TLS 1.2-t támogató API-típusról.

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.

Képernyőkép több TLS-protokollt elfogadó API-típusról.

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.

Képernyőkép a kiválasztott TLS-protokoll beállításáról a megadott módon.

A minimális TLS-protokoll beállításának lépései fiók szerkesztésekor

  1. Lépjen az Azure Cosmos DB-fiókjához a Azure Portal.

  2. Válassza a bal oldali menü Hálózatkezelés elemét, majd a Kapcsolatok lapot.

  3. 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.

Képernyőkép a transport layer security protocol minimális beállításáról.

  1. A TLS protokoll módosítása után kattintson a Mentés gombra.

Képernyőkép a módosítás utáni mentésről.

  1. 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.

Képernyőkép a sikerességről szóló értesítésről.

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 .