Azure Cosmos DB’de IP güvenlik duvarını yapılandırma
ŞUNLAR IÇIN GEÇERLIDIR: NoSQL MongoDB Cassandra Gremlin Masa
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 başka 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, veri gezgininin kullanımına izin vermek ve Azure portalında görünen 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ı 15 dakika kadar sürebilir ve bu süre boyunca güvenlik duvarı tutarsız bir davranış gösterebilir.
IP tabanlı güvenlik duvarını alt ağ ve sanal ağ erişim denetimiyle birleştirebilirsiniz. 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 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. IP güvenlik duvarı veya sanal ağ ACL'leri veya her ikisi de Azure Cosmos DB hesabında 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 Ağ'ı seçin. Erişime izin ver değerini Seçili ağlar olarak değiştirin 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. 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.
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, 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:
- MongoDB API'sine veya Apache Cassandra API'sine özel olarak, Veri Gezgini veya <cosmos.azure.com olan hesaplara erişme>
- Tüm API'ler için Azure portalında aşağıdaki Azure Cosmos DB dikey pencerelerini kullanın:
- 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ı 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'e tıklayın. Ara Yazılım IP adresleri hakkında daha fazla ayrıntı bu makalenin daha altında bulunabilir.
Azure Portal Ara Yazılımı IP adresleri, Azure Portal Ara Yazılım IP'lerini Kaldır seçeneğine ve ardından Kaydet'e tıklayarak kaldırılabilir.
Azure Portal Ara Yazılım IP Adresleri
Azure Portal Ara Yazılım IP adresleri aşağıda listelenmiştir. Bazı IP adresleri yalnızca belirli Veritabanı Hesabı API'leri için gereklidir. Portalda, yukarıda 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ı için bir API için, 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 |
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 |
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.
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 |
Azure Çin | 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 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:
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 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'nizi ekleyin'i seçin. Ardından Kaydet'i seçin.
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:
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:
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 eklemek üzere giden IP aralıklarının geçerli listesine erişmek 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ı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.
Ö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"
}
]
}
}
2020-04-01 öncesi tüm 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":"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'
# 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ı içermeyen 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 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.