Azure Cosmos DB’de IP güvenlik duvarını yapılandırma

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

Azure Cosmos DB, hesabınızda depolanan verilerin güvenliğini sağlamak için güçlü bir Karma Tabanlı İleti Kimlik Doğrulama Kodu (HMAC) kullanan gizli dizi tabanlı yetkilendirme modelini destekler. Ayrıca Azure Cosmos DB, gelen güvenlik duvarı desteği için IP tabanlı erişim denetimlerini destekler. Bu model, geleneksel bir veritabanı sisteminin güvenlik duvarı kurallarına benzer ve hesabınıza ek bir güvenlik düzeyi sağlar. Güvenlik duvarlarıyla Azure Cosmos DB hesabınızı yalnızca onaylı bir makine kümesinden ve/veya bulut hizmetlerinden erişilebilecek şekilde yapılandırabilirsiniz. Azure Cosmos DB veritabanınızda depolanan verilere bu onaylanan makine ve hizmet kümelerinden erişim, çağıranın geçerli bir yetkilendirme belirteci sunmayı gerektirir.

IP erişim denetimi

İsteğe geçerli bir yetkilendirme belirteci eşlik ettiği sürece Azure Cosmos DB hesabınıza varsayılan olarak İnternet'ten erişilebilir. IP ilkesi tabanlı erişim denetimini yapılandırmak için, kullanıcının belirli bir Azure Cosmos DB hesabına erişmek için istemci IP'lerinin izin verilen listesi olarak eklenmesi için CIDR (Sınıfsız Etki Alanları Arası Yönlendirme) biçiminde IP adresleri veya IP adresi aralıkları kümesini sağlaması gerekir. Bu yapılandırma uygulandıktan sonra, bu izin verilenler listesinin dışındaki makinelerden gelen tüm istekler 403 (Yasak) yanıtı alır. IP güvenlik duvarı kullanırken Azure portalının hesabınıza erişmesine izin vermek önerilir. Erişim, hem veri gezgininin kullanımına izin vermek hem de Azure portalında gösterilen hesabınız için ölçümleri almak için gereklidir. Veri gezginini kullanırken Azure portalının hesabınıza erişmesine izin vermenin yanı sıra güvenlik duvarı ayarlarınızı da güncelleştirerek geçerli IP adresinizi güvenlik duvarı kurallarına eklemeniz gerekir. Güvenlik duvarı değişikliklerinin yayılmasının 15 dakika kadar sürebileceğini ve güvenlik duvarının bu süre boyunca tutarsız bir davranış sergileyebildiğini unutmayın.

IP tabanlı güvenlik duvarını alt ağ ve sanal ağ erişim denetimiyle birleştirebilirsiniz. Bunları birleştirerek, genel IP'si olan ve/veya sanal ağ içindeki belirli bir alt ağdan gelen tüm kaynaklara erişimi sınırlayabilirsiniz. Alt ağı ve sanal ağ tabanlı erişim denetimini kullanma hakkında daha fazla bilgi edinmek için bkz . Sanal ağlardan Azure Cosmos DB kaynaklarına erişme.

Özetlemek gerekirse, bir Azure Cosmos DB hesabına erişmek için her zaman yetkilendirme belirteci gerekir. IP güvenlik duvarı ve VNET Erişim Denetim Listesi (ACL' ler) ayarlanmamışsa Azure Cosmos DB hesabına yetkilendirme belirteci ile erişilebilir. AZURE Cosmos DB hesabında IP güvenlik duvarı veya sanal ağ ACL'leri veya her ikisi de ayarlandıktan sonra, yalnızca belirttiğiniz kaynaklardan (ve yetkilendirme belirteciyle) kaynaklanan istekler geçerli yanıtlar alır.

IP güvenlik duvarlarını kullanarak Azure Cosmos DB hesabınızda depolanan verilerin güvenliğini sağlayabilirsiniz. Azure Cosmos DB, gelen güvenlik duvarı desteği için IP tabanlı erişim denetimlerini destekler. Aşağıdaki yollardan birini kullanarak Azure Cosmos DB hesabında bir IP güvenlik duvarı ayarlayabilirsiniz:

  • Azure portalından
  • Azure Resource Manager şablonu kullanarak bildirimli olarak
  • ipRangeFilter özelliğini güncelleştirerek Azure CLI veya Azure PowerShell aracılığıyla program aracılığıyla

Azure portalını kullanarak IP güvenlik duvarı yapılandırma

Azure portalında IP erişim denetimi ilkesini ayarlamak için Azure Cosmos DB hesabı sayfasına gidin ve gezinti menüsünde Güvenlik duvarı ve sanal ağlar'ı seçin. Erişime izin ver değerini Seçili ağlar olarak değiştirin ve kaydet'i seçin. Genel erişim ağ ayarlarını devre dışı bırakarak veya tüm ağlar için izin vererek değiştirirseniz, daha önce ayarlamış olabileceğiniz güvenlik duvarı IP'sini kaybedersiniz.

Azure portalında Güvenlik Duvarı sayfasını açmayı gösteren ekran görüntüsü

IP erişim denetimi açık olduğunda, Azure portalı IP adreslerini, IP adresi aralıklarını ve anahtarları belirtme olanağı sağlar. Anahtarlar, diğer Azure hizmetlerine ve Azure portalına erişimi etkinleştirir. Aşağıdaki bölümlerde bu anahtarlarla ilgili ayrıntılar verebilirsiniz.

Not

Azure Cosmos DB hesabınız için bir IP erişim denetimi ilkesini etkinleştirdikten sonra, izin verilen IP adresi aralıkları listesinin dışındaki makinelerden Azure Cosmos DB hesabınıza yapılan tüm istekler reddedilir. Erişim denetiminin bütünlüğünü sağlamak için portaldan Azure Cosmos DB kaynaklarına göz atmak da engellenir.

Azure portalından gelen isteklere izin ver

Bir IP erişim denetimi ilkesini program aracılığıyla etkinleştirdiğinizde, erişimi korumak için Azure portalının IP adresini ipRangeFilter özelliğine eklemeniz gerekir. Portal IP adresleri şunlardır:

Bölge IP Adresi
Çin 139.217.8.252
US Gov 52.244.48.71
Diğer tüm bölgeler 104.42.195.92,40.76.54.131,52.176.6.30,52.169.50.45,52.187.184.26

Aşağıdaki ekran görüntüsünde gösterildiği gibi Azure portalından erişime izin ver seçeneğini belirleyerek azure portalına erişim isteklerini etkinleştirebilirsiniz:

Azure portalı erişimini etkinleştirmeyi gösteren ekran görüntüsü

Yeni Azure portalı IP Adresleri

Cosmos DB portal hizmetleri 2024'te yeni altyapıya geçmektedir. Bu geçişin bir parçası olarak, güvenlik duvarı etkinleştirilmiş hesapların Veri Gezgini gibi bazı portal işlevlerine erişmeye devam etmesi için yeni IP adreslerinin kullanılması gerekir. Bu taşıma işleminde Mongo DB ve Apache Cassandra API hesapları için ayrılmış IP adresleri de sunulur.

Bu geçiş sırasında Azure portalından erişime izin ver seçeneği, hesap güvenlik duvarı ayarlarına (bu hesaplar için MongoDB ve Cassandra'ya özgü adresler dahil) hem geçerli hem de yeni IP adresleri ekler. Geçiş tamamlandığında, eski IP adreslerini kaldırmak için bir portal seçeneği kullanılabilir duruma gelir.

Azure Genel
Veritabanı Hesabı API'si IP adresleri
Tümü 13.91.105.215, 4.210.172.107, 13.88.56.148, 40.91.218.243
Yalnızca MongoDB 20.245.81.54, 40.118.23.126, 40.80.152.199, 13.95.130.121
Yalnızca Apache Cassandra 40.113.96.14, 104.42.11.145, 137.117.230.240, 168.61.72.237
Azure Çin
Veritabanı Hesabı API'si IP adresleri
Tümü 163.228.137.6, 143.64.170.142
Yalnızca MongoDB 52.131.240.99, 143.64.61.130
Yalnızca Apache Cassandra 40.73.99.146, 143.64.62.47
Azure ABD Kamu
Veritabanı Hesabı API'si IP adresleri
Tümü 52.247.163.6, 52.244.134.181
Yalnızca MongoDB 52.244.176.112, 52.247.148.42
Yalnızca Apache Cassandra 52.244.50.101, 52.227.165.24

Not

Veri Gezgini Azure Cosmos DB hesabınıza bağlanma konusunda zorluklar yaşıyorsanız Veri Gezgini sorun giderme kılavuzunu gözden geçirin.

Azure içinde küresel Azure veri merkezlerinden veya başka kaynaklardan gelen isteklere izin verme

Azure Cosmos DB hesabınıza statik IP sağlamayan hizmetlerden (örneğin, Azure Stream Analytics ve Azure İşlevleri) erişiyorsa, erişimi sınırlamak için IP güvenlik duvarını kullanmaya devam edebilirsiniz. Aşağıdaki ekran görüntüsünde gösterildiği gibi Azure veri merkezleri içinden bağlantıları kabul et seçeneğini belirleyerek Azure'daki diğer kaynaklardan erişimi etkinleştirebilirsiniz:

Azure veri merkezlerinden bağlantıları kabul etme işlemini gösteren ekran görüntüsü

Bu seçeneği etkinleştirdiğinizde, IP adresi 0.0.0.0 izin verilen IP adresleri listesine eklenir. IP adresi, 0.0.0.0 Azure veri merkezi IP aralığından Azure Cosmos DB hesabınıza yönelik istekleri kısıtlar. Bu ayar Azure Cosmos DB hesabınıza başka hiçbir IP aralığından erişime izin vermez.

Not

Bu seçenek güvenlik duvarını, Azure'da dağıtılan diğer müşterilerin aboneliklerinden gelen istekler de dahil olmak üzere Azure'dan gelen tüm isteklere izin verecek şekilde yapılandırmaktadır. Bu seçenek tarafından izin verilen IP'lerin listesi geniş olduğundan güvenlik duvarı ilkesinin etkinliğini sınırlar. Bu seçeneği yalnızca istekleriniz statik IP'lerden veya sanal ağlardaki alt ağlardan kaynaklamıyorsa kullanın. Azure portalı Azure'da dağıtıldığından bu seçenek otomatik olarak Azure portalından erişime izin verir.

Geçerli IP'nizden gelen istekler

Geliştirmeyi basitleştirmek için Azure portalı, istemci makinenizin IP'sini belirlemenize ve izin verilenler listesine eklemenize yardımcı olur. Ardından makinenizi çalıştıran uygulamalar Azure Cosmos DB hesabınıza erişebilir.

Portal, istemci IP adresini otomatik olarak algılar. Bu, makinenizin istemci IP adresi veya ağ ağ geçidinizin IP adresi olabilir. İş yüklerinizi üretime almadan önce bu IP adresini kaldırdığınızdan emin olun.

Geçerli IP'nizi IP listesine eklemek için Geçerli IP'mi ekle'yi seçin. Ardından Kaydet'i seçin.

Geçerli IP için güvenlik duvarı ayarlarını yapılandırmayı gösteren ekran görüntüsü

Bulut hizmetlerinden gelen istekler

Azure'da bulut hizmetleri, Azure Cosmos DB kullanarak orta katman hizmet mantığını barındırmanın yaygın bir yoludur. Azure Cosmos DB hesabınıza bir bulut hizmetinden erişimi etkinleştirmek için, IP erişim denetimi ilkesini yapılandırarak bulut hizmetinin genel IP adresini Azure Cosmos DB hesabınızla ilişkili ip adresleri listesine eklemeniz gerekir. Bu, bulut hizmetlerinin tüm rol örneklerinin Azure Cosmos DB hesabınıza erişmesini sağlar.

Aşağıdaki ekran görüntüsünde gösterildiği gibi Azure portalında bulut hizmetlerinizin IP adreslerini alabilirsiniz:

Azure portalında görüntülenen bulut hizmetinin genel IP adresini gösteren ekran görüntüsü

Rol örnekleri ekleyerek bulut hizmetinizin ölçeğini genişlettiğinizde, bu yeni örnekler aynı bulut hizmetinin parçası olduklarından Azure Cosmos DB hesabına otomatik olarak erişebilir.

Sanal makinelerden gelen istekler

Azure Cosmos DB kullanarak orta katman hizmetleri barındırmak için sanal makineleri veya sanal makine ölçek kümelerini de kullanabilirsiniz. Azure Cosmos DB hesabınızı sanal makinelerden erişime izin vermek üzere yapılandırmak için, IP erişim denetimi ilkesini yapılandırarak sanal makinenin genel IP adresini ve/veya sanal makine ölçek kümesini Azure Cosmos DB hesabınız için izin verilen IP adreslerinden biri olarak yapılandırmanız gerekir.

Aşağıdaki ekran görüntüsünde gösterildiği gibi Azure portalında sanal makinelerin IP adreslerini alabilirsiniz:

Azure portalında görüntülenen bir sanal makine için genel IP adresini gösteren ekran görüntüsü

Gruba sanal makine örnekleri eklediğinizde, bunlar Azure Cosmos DB hesabınıza otomatik olarak erişim alır.

İnternet'ten gelen istekler

Azure Cosmos DB hesabınıza İnternet üzerindeki bir bilgisayardan eriştiğinizde, makinenin istemci IP adresi veya IP adresi aralığı hesabınızın izin verilen IP adresleri listesine eklenmelidir.

Güvenlik duvarına gider kuralları ekleme

Güvenlik duvarı ayarlarınıza eklenecek giden IP aralıklarının geçerli listesine erişmek için bkz . Azure IP Aralıklarını ve Hizmet Etiketlerini indirme.

Listeyi otomatikleştirmek için bkz . Hizmet Etiketi Bulma API'sini kullanma.

Resource Manager şablonu kullanarak IP güvenlik duvarı yapılandırma

Azure Cosmos DB hesabınıza erişim denetimini yapılandırmak için Resource Manager şablonunun ipRules özelliğini izin verilen IP aralıkları dizisiyle belirttiğinden emin olun. IP Güvenlik Duvarı'nı zaten dağıtılmış bir Azure Cosmos DB hesabına yapılandırıyorsanız dizinin şu anda dağıtılan hesapla eşleştiğinden locations emin olun. Diziyi locations ve diğer özellikleri aynı anda değiştiremezsiniz. Azure Cosmos DB için Azure Resource Manager şablonları hakkında daha fazla bilgi ve örnek için bkz. Azure Cosmos DB için Azure Resource Manager şablonları

Önemli

ipRules özelliği API sürüm 2020-04-01 ile kullanıma sunulmuştur. Önceki sürümler bunun yerine virgülle ayrılmış IP adreslerinin listesi olan bir ipRangeFilter özelliğini kullanıma sunuldu.

Aşağıdaki örnekte, ipRules özelliğinin API sürüm 2020-04-01 veya sonraki sürümlerinde nasıl kullanıma sunulduğu gösterilmektedir:

{
  "type": "Microsoft.DocumentDB/databaseAccounts",
  "name": "[variables('accountName')]",
  "apiVersion": "2020-04-01",
  "location": "[parameters('location')]",
  "kind": "GlobalDocumentDB",
  "properties": {
    "consistencyPolicy": "[variables('consistencyPolicy')[parameters('defaultConsistencyLevel')]]",
    "locations": "[variables('locations')]",
    "databaseAccountOfferType": "Standard",
    "enableAutomaticFailover": "[parameters('automaticFailover')]",
    "ipRules": [
      {
        "ipAddressOrRange": "40.76.54.131"
      },
      {
        "ipAddressOrRange": "52.176.6.30"
      },
      {
        "ipAddressOrRange": "52.169.50.45"
      },
      {
        "ipAddressOrRange": "52.187.184.26"
      }
    ]
  }
}

2020-04-01 öncesi api sürümleri için aynı örnek aşağıda verilmişti:

{
  "type": "Microsoft.DocumentDB/databaseAccounts",
  "name": "[variables('accountName')]",
  "apiVersion": "2019-08-01",
  "location": "[parameters('location')]",
  "kind": "GlobalDocumentDB",
  "properties": {
    "consistencyPolicy": "[variables('consistencyPolicy')[parameters('defaultConsistencyLevel')]]",
    "locations": "[variables('locations')]",
    "databaseAccountOfferType": "Standard",
    "enableAutomaticFailover": "[parameters('automaticFailover')]",
    "ipRangeFilter":"40.76.54.131,52.176.6.30,52.169.50.45,52.187.184.26"
  }
}

Azure CLI kullanarak IP erişim denetimi ilkesi yapılandırma

Aşağıdaki komut, IP erişim denetimine sahip bir Azure Cosmos DB hesabının nasıl oluşturulacağını gösterir:

# Create an Azure Cosmos DB account with default values and IP Firewall enabled
resourceGroupName='MyResourceGroup'
accountName='mycosmosaccount'
ipRangeFilter='192.168.221.17,183.240.196.255,40.76.54.131'

# Make sure there are no spaces in the comma-delimited list of IP addresses or CIDR ranges.
az cosmosdb create \
    -n $accountName \
    -g $resourceGroupName \
    --locations regionName='West US 2' failoverPriority=0 isZoneRedundant=False \
    --locations regionName='East US 2' failoverPriority=1 isZoneRedundant=False \
    --ip-range-filter $ipRangeFilter

PowerShell kullanarak IP erişim denetimi ilkesi yapılandırma

Aşağıdaki betikte, IP erişim denetimine sahip bir Azure Cosmos DB hesabının nasıl oluşturulacağı gösterilmektedir:

# Create an Azure Cosmos DB account with default values and IP Firewall enabled
$resourceGroupName = "myResourceGroup"
$accountName = "mycosmosaccount"
$ipRules = @("192.168.221.17","183.240.196.255","40.76.54.131")

$locations = @(
    @{ "locationName"="West US 2"; "failoverPriority"=0; "isZoneRedundant"=False },
    @{ "locationName"="East US 2"; "failoverPriority"=1, "isZoneRedundant"=False }
)

# Make sure there are no spaces in the comma-delimited list of IP addresses or CIDR ranges.
$CosmosDBProperties = @{
    "databaseAccountOfferType"="Standard";
    "locations"=$locations;
    "ipRules"=$ipRules
}

New-AzResource -ResourceType "Microsoft.DocumentDb/databaseAccounts" `
    -ApiVersion "2020-04-01" -ResourceGroupName $resourceGroupName `
    -Name $accountName -PropertyObject $CosmosDBProperties

IP erişim denetimi ilkesiyle ilgili sorunları giderme

Ip erişim denetimi ilkesiyle ilgili sorunları aşağıdaki seçenekleri kullanarak giderebilirsiniz:

Azure portal

Azure Cosmos DB hesabınız için bir IP erişim denetimi ilkesini etkinleştirerek, izin verilen IP adresi aralıkları listesinin dışındaki makinelerden hesabınıza yapılan tüm istekleri engellersiniz. Kapsayıcılara göz atma ve belgeleri sorgulama gibi portal veri düzlemi işlemlerini etkinleştirmek için portaldaki Güvenlik Duvarı bölmesini kullanarak Azure portalı erişimine açıkça izin vermeniz gerekir.

SDK

İzin verilenler listesinde olmayan makinelerden SDK'ları kullanarak Azure Cosmos DB kaynaklarına eriştiğinizde, ek ayrıntılar olmadan genel bir 403 Yasak yanıtı döndürülür. Hesabınız için izin verilen IP listesini doğrulayın ve Azure Cosmos DB hesabınıza doğru ilke yapılandırmasının uygulandığından emin olun.

Engellenen isteklerde kaynak IP'ler

Azure Cosmos DB hesabınızda tanılama günlüğünü etkinleştirin. Bu günlükler her isteği ve yanıtı gösterir. Güvenlik duvarıyla ilgili iletiler 403 dönüş koduyla günlüğe kaydedilir. Bu iletileri filtreleyerek, engellenen isteklerin kaynak IP'lerini görebilirsiniz. Bkz. Azure Cosmos DB tanılama günlüğü.

Azure Cosmos DB için hizmet uç noktası etkinleştirilmiş bir alt ağdan gelen istekler

Azure Cosmos DB için hizmet uç noktası etkinleştirilmiş bir sanal ağdaki bir alt ağdan gelen istekler, sanal ağı ve alt ağ kimliğini Azure Cosmos DB hesaplarına gönderir. Bu istekler kaynağın genel IP'sine sahip olmadığından IP filtreleri bunları reddeder. Sanal ağlardaki belirli alt ağlardan erişime izin vermek için Azure Cosmos DB hesabınız için sanal ağ ve alt ağ tabanlı erişimi yapılandırma bölümünde açıklandığı gibi bir erişim denetimi listesi ekleyin. Güvenlik duvarı kurallarının uygulanması 15 dakika kadar sürebilir ve bu süre boyunca güvenlik duvarı tutarsız bir davranış sergileyebilir.

İzin verilen adresler listesinde özel IP adresleri

Özel IP adresleri içeren izin verilen adreslerin listesiyle Azure Cosmos DB hesabı oluşturma veya güncelleştirme başarısız olur. Listede özel IP adresi belirtilmediğinden emin olun.

Sonraki adımlar

Azure Cosmos DB hesabınız için bir sanal ağ hizmet uç noktası yapılandırmak için aşağıdaki makalelere bakın: