Aracılığıyla paylaş


Azure Cosmos DB için IP güvenlik duvarını yapılandırma

Azure Cosmos DB, hesabınızda depolanan verilerin güvenliğini sağlamak için güçlü karma tabanlı ileti kimlik doğrulama koduna (HMAC) sahip gizli dizi tabanlı bir yetkilendirme modeli kullanır. Ayrıca Azure Cosmos DB, gelen güvenlik duvarı güvenliği için IP tabanlı erişim denetimlerini kullanır. Bu model, geleneksel bir veritabanı sisteminin güvenlik duvarı kurallarına benzer ve hesabınıza başka bir güvenlik katmanı ekler. Güvenlik duvarlarıyla Azure Cosmos DB hesabınızı yalnızca onaylı bir makine kümesinden veya bulut hizmetlerinden erişime izin verecek şekilde yapılandırın. Azure Cosmos DB veritabanınızda depolanan verilere bu onaylı makinelerden ve hizmetlerden erişim için çağıranın geçerli bir yetkilendirme belirteci sunmayı gerektirir.

IP erişim denetimi

varsayılan olarak, istek geçerli bir yetkilendirme belirteci içeriyorsa Azure Cosmos DB hesabınıza İ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ırmayı uyguladıktan sonra, bu izin verilenler listesinin dışındaki makinelerden gelen tüm istekler 403 (Yasak) yanıtı alır. IP güvenlik duvarı kullandığınızda, bazı senaryolar Azure portalından erişimi etkinleştirmenizi gerektirebilir. Daha fazla bilgi için bkz. Azure portalından gelen isteklere izin verme. NoSQL, Gremlin veya Tablo hesabı için bir API için veri gezginini kullanırken, geçerli IP adresinizi güvenlik duvarı kurallarına eklemek için güvenlik duvarı ayarlarınızı da güncelleştirmeniz gerekir. Güvenlik duvarı değişikliklerinin yayılması 15 dakika kadar sürebilir ve bu süre boyunca güvenlik duvarı tutarsız davranabilir.

IP tabanlı güvenlik duvarlarını alt ağ ve sanal ağ erişim denetimiyle birleştirin. Bunları birleştirerek, genel IP'ye sahip olan herhangi bir kaynağa ve/veya sanal ağ içindeki belirli bir alt ağdan 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 bir yetkilendirme belirteci gerekir. IP güvenlik duvarı ve sanal ağ Erişim Denetim Listesi (ACL) ayarlanmamışsa Azure Cosmos DB hesabına yetkilendirme belirteci ile erişilebilir. Azure Cosmos DB hesabınız için IP güvenlik duvarı kurallarını veya sanal ağ erişim listelerini ayarladıktan sonra yalnızca izin verilen kaynaklardan gelen istekler çalışır. Bu isteklerin yanıt almak için geçerli bir yetkilendirme belirteci de içermesi gerekir.

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 yöntemlerden birini kullanarak Azure Cosmos DB hesabında bir IP güvenlik duvarı ayarlayın:

  • 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 Ağ'ı seçin. Erişime izin ver değerini Seçili ağlar olarak ayarlayın ve kaydet'i seçin. Henüz herhangi bir IP adresi eklemiyorsanız, tüm sanal ağların ve IP'lerin engellendiğini onaylamak için kutuyu da işaretlemeniz gerekir. Kapatma veya tüm ağların bağlanmasına izin verme gibi genel ağ erişim ayarını değiştirirseniz, daha önce ayarladığınız tüm güvenlik duvarı IP adresleri kaldırılır.

Azure portalında Azure Cosmos DB ağ güvenlik duvarı ayarlarının ekran görüntüsü.

IP erişim denetimi açık olduğunda, Azure portalı IP adreslerini, IP adresi aralıklarını ve anahtarları belirtmenize olanak tanır. 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 IP erişim denetimini açtığınızda, hesabınıza yalnızca izin verilen IP adreslerinden gelen istekler erişebilir. İzin verilenler listesinde bir IP adresi yoksa, istekleri engellenir. Ayrıca, portal erişimine izin vermediğiniz sürece Azure portalında Cosmos DB kaynaklarınıza göz atamazsınız.

Azure portalından gelen isteklere izin ver

Bir IP erişim denetimi ilkesini program aracılığıyla etkinleştirdiğinizde, bazı portal işlevlerini kullanmaya devam etmek için Azure portal hizmetlerinin IP adreslerini ipRangeFilter özelliğine eklemeniz gerekebilir.

Bu seçeneğin etkinleştirilmesini gerektiren portal senaryoları şunlardır:

  • Özellikle MongoDB API'sine veya Apache Cassandra API'sine, Veri Gezgini ile hesaplara erişmeye veya https://cosmos.azure.com
  • Azure portalında aşağıdaki Azure Cosmos DB bölümlerini kullanarak tüm API'ler için:
    • Koleksiyonlara Gözat
    • Power BI
    • Azure Synapse

Aşağıdaki ekran görüntüsünde gösterildiği gibi Azure Portalı Ara Yazılım IP'leri Ekle seçeneğini belirleyerek Azure portalına erişim isteklerini etkinleştirebilirsiniz:

Azure portalında ağa ara yazılım IP adresleri ekleme seçeneklerinin ekran görüntüsü.

Azure portalı Ara Yazılım IP adresleri, aşağıdaki ekran görüntüsünde gösterildiği gibi ayrı bir listeye eklenir. Bu adresleri veritabanı hesabınıza eklemek için Kaydet'i seçin. Ara Yazılım IP adresleri hakkında daha fazla ayrıntıya bu makaleden ulaşabilirsiniz.

Azure portalında ağ iletişimi için ara yazılım IP adreslerinin listesinin ekran görüntüsü.

Azure portalı Ara Yazılım IP adresleri, Azure Portal Ara Yazılım IP'lerini Kaldır seçeneği ve ardından Kaydet seçilerek kaldırılabilir.

Azure portalı Ara Yazılım IP Adresleri

Azure portalı Ara Yazılım IP adresleri burada listelenmiştir. Bazı IP adresleri yalnızca belirli Veritabanı Hesabı API'leri için gereklidir. Portalda daha önce açıklandığı gibi Ara Yazılım IP Adreslerini eklediğinizde, yalnızca hesabınız için gereken IP adresleri eklenir.

Örneğin:

  • NoSQL hesabının API'sinde Tümü kategorisindeki IP adresleri eklenir.
  • MongoDB hesabının API'sinde, yalnızca Tümü ve MongoDB kategorilerindeki IP adresleri eklenir.
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
21Vianet tarafından sağlanan Azure
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

Eski Ara Yazılım IP Adresleri

Cosmos DB portal hizmetleri kısa süre önce yeni Ara Yazılım IP adresleri gerektiren yeni altyapıya geçiş yaptı. Bu geçişin tamamlanmasıyla birlikte, eski altyapı tarafından kullanılan eski IP adresleri artık güvenli bir şekilde kaldırılabilir. Hesabınızda güvenlik duvarı kurallarında eski Ara Yazılım IP adresleri varsa Azure Portal Eski Ara Yazılım IP'lerini Kaldır seçeneği görüntülenir. Bu seçeneği belirleyin ve ardından eski IP adreslerini kaldırmak için Kaydet'i seçin.

Azure portalında ağ için eski ara yazılım IP'lerini kaldırma seçeneğinin ekran görüntüsü.

Eski IP adresleri bulut ortamına bağlıdır:

Azure Ortamı IP Adresleri
Azure Genel 104.42.195.92, 40.76.54.131, 52.176.6.30, 52.169.50.45, , 52.187.184.26
21Vianet tarafından sağlanan Azure 139.217.8.252, 52.176.6.30, 52.169.50.45, 52.187.184.26
Azure ABD Kamu 52.244.48.71, 52.176.6.30, 52.169.50.45, 52.187.184.26

Not

Veri Gezgini'nden Azure Cosmos DB hesabınıza bağlanırken zorluklarla karşılaşı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 Stream Analytics ve Azure İşlevleri gibi bazı Azure hizmetleri sabit bir IP adresi kullanmaz. Bu hizmetlere erişimi denetlemek için IP güvenlik duvarını kullanmaya devam edebilirsiniz. Diğer Azure kaynaklarından erişime izin vermek için Azure veri merkezleri içinden bağlantıları kabul et seçeneğini belirleyin. Bu seçenek, Azure'da çalışan hizmetlerin Cosmos DB hesabınıza bağlanmasına olanak tanır.

Azure portalındaki genel Azure veri merkezlerinden gelen bağlantıları kabul etme seçeneğinin 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 yönelik diğer IP aralıklarına erişim izni vermez.

Not

publicNetworkAccess'in Devre Dışı olarak ayarlanması , Azure veri merkezleri içinden bağlantıyı kabul et seçeneğinden önceliklidir. Bkz. hesap oluşturma sırasında public-network-access-blocking-public-network-access

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 belirlemeye ve izin verilenler listesine eklemeye 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'nizi ekleyin'i seçin. Ardından Kaydet'i seçin.

Azure portalında ağa geçerli IP adresinizi ekleme seçeneğinin 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. Bir bulut hizmetinin Azure Cosmos DB hesabınıza bağlanmasına izin vermek için bulut hizmetinin genel IP adresini izin verilen IP listenize ekleyin. Azure portalında IP erişim denetimi ilkesini güncelleştirerek bu işlemi gerçekleştirebilirsiniz. Bu adım, 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 bir bulut hizmetinin genel IP adresini gösteren ekran görüntüsü. Rol örnekleri ekleyerek bulut hizmetinizin ölçeğini genişlettiğinizde, yeni örnekler aynı bulut hizmetinin parçası olduğundan 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. Bir sanal makinenin Azure Cosmos DB hesabınıza bağlanmasına izin vermek için genel IP adresini izin verilenler listesine ekleyin. IP erişim denetimi ilkesini güncelleştirerek bu adımı gerçekleştirebilirsiniz. Bu yapılandırma, sanal makine ölçek kümeleri için de çalışır. Genel IP adresini ekledikten sonra sanal makine Cosmos DB hesabınıza erişebilir.

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'te bulunan bir bilgisayardan bağlanmak için bu bilgisayarın IP adresini veya IP aralığını izin verilenler listesine ekleyin. Cosmos DB hesabınıza yalnızca bu listeye eklediğiniz bilgisayarlar erişebilir.

Güvenlik duvarına gider kuralları ekleme

Güvenlik duvarı ayarlarınıza eklenecek giden IP aralıklarının güncel listesini almak için bkz. Azure IP Aralıklarını ve Hizmet Etiketlerini İndirme.

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ız için erişim denetimini ayarlamak için Resource Manager şablonunun ipRules özelliğini izin verilen IP aralıkları dizisiyle belirttiğinden emin olun. Zaten dağıtılmış bir Azure Cosmos DB hesabı için IP Güvenlik Duvarı'nı ayarlarsanız dizinin geçerli dağıtımla 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ü ile kullanıma sunulmuştur2020-04-01. Önceki sürümlerde bunun yerine virgülle ayrılmış IP adreslerinin listesi olan bir ipRangeFilter özelliği kullanılır.

Ö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": "13.91.105.215"
      },
      {
        "ipAddressOrRange": "4.210.172.107"
      },
      {
        "ipAddressOrRange": "13.88.56.148"
      },
      {
        "ipAddressOrRange": "40.91.218.243"
      }
    ]
  }
}

Aşağıda, sürümünden 2020-04-01önceki herhangi bir API sürümü için de aynı örnek 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":"13.91.105.215,4.210.172.107,13.88.56.148,40.91.218.243"
  }
}

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'

# Ensure 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 ilkeleriyle 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 ilkesinin etkinleştirilmesi, izin verilen IP adresi aralıkları listesinin dışındaki makinelerden gelen tüm istekleri engeller. 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 verin.

Yazılım geliştirme setleri

İzin verilenler listesinde olmayan makinelerden yazılım geliştirme setlerini (SDK) kullanarak Azure Cosmos DB kaynaklarına eriştiğinizde, ek ayrıntı içermeyen genel bir 403 Yasak yanıtı döndürülür. Hesabınızın izin verilen IP listesini denetleyin 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ştirerek her isteği ve yanıtı görüntüleyin. 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 güvenlik duvarı bu süre boyunca 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.