Share via


Azure Cosmos DB'de self servis minimum TLS sürüm zorlaması

ŞUNLAR IÇIN GEÇERLIDIR: Nosql MongoDB Cassandra Gremlin Tablo

Bu makalede, self servis API kullanarak Cosmos DB hesabınız için TLS protokolünün en düşük sürümünü zorunlu kılma işlemi açıklanır.

Azure Cosmos DB'de en düşük TLS sürüm zorlaması nasıl çalışır?

Cosmos DB'nin çok kiracılı yapısı nedeniyle hizmet, her kullanıcının erişim ve güvenlik gereksinimlerini karşılamak için gereklidir. Bunu başarmak için Cosmos DB uygulama katmanında en düşük TLS protokollerini uygular ve TLS'nin çalıştığı ağ yığınında alt katmanları zorlamaz. Bu zorlama, müşteri tarafından bu hesapta ayarlanan ayarlara göre belirli bir veritabanı hesabına yapılan kimliği doğrulanmış isteklerde gerçekleşir.

Hizmet genelinde kabul edilen en düşük sürüm TLS 1.0'dır. Bu seçim, aşağıdaki bölümde açıklandığı gibi hesap bazında değiştirilebilir.

Cosmos DB veritabanı hesabım için en düşük TLS sürümünü ayarlama

Azure Cosmos DB Kaynak Sağlayıcısı API'sinin 2022-11-15 API sürümünden başlayarak, adlı minimalTlsVersionher Cosmos DB veritabanı hesabı için yeni bir özellik kullanıma sunulur. Aşağıdaki değerlerden birini kabul eder:

  • Tls için en düşük sürümü TLS 1.0 olarak ayarlayın.
  • Tls11 için en düşük sürümü TLS 1.1 olarak ayarlayın.
  • Tls12 en düşük sürümü TLS 1.2 olarak ayarlamak için.

Yeni hesaplar için varsayılan değer şeklindedirTls12.

Portalı kullanarak Azure Cosmos DB'de Minimum TLS Protokolü ayarlama

Bu self servis özelliği portalda bir hesap oluşturup düzenlerken kullanılabilir. Azure Cosmos DB Hesapları TLS 1.2 protokollerini zorunlu kıldı. Ancak Azure Cosmos DB, seçilen API türüne bağlı olarak aşağıdaki TLS protokollerini de destekler.

  • MongoDB: TLS 1.2

  • Cassandra: TLS 1.2

  • Tablo, SQL ve Grafik: TLS 1.0, TLS 1.1 ve TLS 1.2

Hesap oluştururken Minimum TLS Protokolü ayarlama adımları

Yalnızca TLS 1.2'yi destekleyen bir API Türü kullanıyorsanız, alttaki Ağ sekmesinde TLS protokolünün devre dışı bırakıldığını fark edersiniz.

Yalnızca TLS 1.2'i destekleyen API Türünün ekran görüntüsü.

Birden çok TLS protokolü kabul eden bir API Türü kullanıyorsanız Ağ sekmesine gidebilirsiniz ve En Düşük Aktarım Katmanı Güvenlik Protokolü seçeneği kullanılabilir. Yalnızca açılan menüye tıklayıp istediğiniz protokolü seçerek seçili protokolü değiştirebilirsiniz.

Birden çok TLS protokolü kabul eden API Türünün ekran görüntüsü.

Hesabınızı ayarladıktan sonra, Ağ bölümünün altındaki Gözden Geçir + oluştur sekmesinde seçili TLS Protokolü'nün belirttiğiniz şekilde ayarlandığını gözden geçirebilirsiniz.

Seçtiğiniz TLS Protokolü'nin belirttiğiniz şekilde ayarlandığının ekran görüntüsü.

Hesabı düzenlerken Minimum TLS Protokolü ayarlama adımları

  1. Azure portalında Azure Cosmos DB hesabınıza gidin.

  2. Soldaki menüden Ağ'ı seçin ve ardından Bağlan ivity sekmesini seçin.

  3. En Düşük Aktarım Katmanı Güvenlik Protokolü seçeneğini bulacaksınız. Yalnızca TLS 1.2'yi destekleyen bir API Türü kullanıyorsanız bu seçeneğin devre dışı bırakıldığını fark edersiniz. Aksi takdirde, yalnızca tıklayarak istediğiniz TLS Protokolunu seçebilirsiniz.

En düşük aktarım katmanı güvenlik protokolü seçeneğinin ekran görüntüsü.

  1. TLS protokolunu değiştirdikten sonra Kaydet'e tıklayın.

Değişiklikten sonra kaydet'in ekran görüntüsü.

  1. Kaydedildikten sonra bir başarı bildirimi alırsınız. Yine de yapılandırma güncelleştirmesi tamamlandıktan sonra bu değişikliğin geçerlilik kazanması 15 dakika kadar sürebilir.

Başarı bildiriminin ekran görüntüsü.

Azure CLI aracılığıyla ayarlama

Azure CLI kullanarak ayarlamak için komutunu kullanın:

rg="myresourcegroup"
dbName="mycosmosdbaccount"
minimalTlsVersion="Tls12"
az cosmosdb update -n $dbName -g $rg --minimal-tls-version $minimalTlsVersion

Azure PowerShell aracılığıyla ayarlama

Azure PowerShell kullanarak ayarlamak için komutunu kullanın:

$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

ARM şablonu aracılığıyla ayarlama

Arm şablonu kullanarak bu özelliği ayarlamak için mevcut şablonunuzu güncelleştirin veya geçerli dağıtımınız için yeni bir şablon dışarı aktarın, ardından kaynakların özelliklerine databaseAccounts istediğiniz en düşük TLS sürüm değeriyle ekleyin"minimalTlsVersion". Burada, parametre kullanarak bu özellik ayarına sahip bir Azure Resource Manager şablonunun temel bir örneği verilmiştir.

{
    {
      "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')]",
      }
    }
}

Önemli

Bu özellik ile yeniden dağıtırken hesabınızın ve alt kaynaklarınızın diğer özelliklerini eklediğinizden emin olun. Bu şablonu olduğu gibi dağıtmayın, aksi takdirde tüm hesap özelliklerinizi sıfırlar.

Yeni hesaplar için

Yukarıdaki ARM şablonunu kullanarak veya PATCH yöntemini Azure CLI veya Azure PowerShell'de PUT olarak değiştirerek özellik kümesiyle minimalTlsVersion hesap oluşturabilirsiniz. Hesabınızın diğer özelliklerini eklediğinizden emin olun.

Önemli

Hesap varsa ve minimalTlsVersion özellik bir PUT isteğinde atlanırsa, özellik 2022-11-15 API sürümünden başlayarak varsayılan değerine sıfırlanır.

En düşük TLS sürüm zorlamasını doğrulama

Cosmos DB uygulama katmanında en düşük TLS sürümünü zorunlu kıldığından, belirli bir TLS sürümü için el sıkışmalarının hizmet tarafından kabul edilip edilmediğini denetleyen geleneksel TLS tarayıcıları Cosmos DB'de zorlamayı test etmek için güvenilir değildir. Zorlamayı doğrulamak için resmi açık kaynak cosmos-tls-scanner aracına bakın.

Azure CLI veya Azure PowerShell kullanarak özelliğin minimalTlsVersion geçerli değerini de alabilirsiniz.

Azure CLI aracılığıyla geçerli değeri alma

Azure CLI kullanarak özelliğin geçerli değerini almak için komutunu çalıştırın:

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

Azure PowerShell aracılığıyla geçerli değeri alma

Azure PowerShell kullanarak özelliğin geçerli değerini almak için komutunu çalıştırın:

$getParameters = @{
  ResourceGroupName = 'myresourcegroup'
  Name = 'mycosmosdbaccount'
  ResourceProviderName = 'Microsoft.DocumentDB'
  ResourceType = 'databaseaccounts'
  ApiVersion = '2022-11-15'
  Method = 'GET'
}
Invoke-AzRestMethod @getParameters

Sonraki adımlar

Azure Cosmos DB'de güvenlik hakkında daha fazla bilgi için bkz . Azure Cosmos DB'de veritabanı güvenliğine genel bakış .