Azure Cosmos DB'de self servis minimum TLS sürüm zorlaması
ŞUNLAR IÇIN GEÇERLIDIR: NoSQL MongoDB Cassandra Gremlin Masa
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ı minimalTlsVersion
her 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.
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.
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.
Hesabı düzenlerken Minimum TLS Protokolü ayarlama adımları
Azure portalında Azure Cosmos DB hesabınıza gidin.
Soldaki menüden Ağ'ı ve ardından Bağlantı sekmesini seçin.
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.
- TLS protokolunu değiştirdikten sonra Kaydet'e tıklayın.
- 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.
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ış .
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin