Mengonfigurasi firewall IP di Azure Cosmos DB
BERLAKU UNTUK: NoSQL
MongoDB
Cassandra
Gremlin
Meja
Untuk mengamankan penyimpanan data di akun Anda, Azure Cosmos DB mendukung model otorisasi berbasis rahasia yang menggunakan Kode Autentikasi Pesan berbasis Hash (HMAC) yang kuat. Selain itu, Azure Cosmos DB mendukung kontrol akses berbasis IP untuk dukungan firewall masuk. Model ini mirip dengan aturan firewall sistem database tradisional dan memberikan tingkat keamanan lain untuk akun Anda. Dengan firewall, Anda dapat mengonfigurasi akun Azure Cosmos DB agar hanya dapat diakses dari sekumpulan komputer dan/atau layanan cloud yang disetujui. Akses ke data yang disimpan dalam database Azure Cosmos DB Anda dari set komputer dan layanan yang disetujui ini masih akan mengharuskan pemanggil untuk menyajikan token otorisasi yang valid.
Kontrol akses IP
Secara default, akun Azure Cosmos DB Anda dapat diakses dari internet, selama permintaan disertai dengan token otorisasi yang valid. Untuk mengonfigurasi kontrol akses berbasis kebijakan IP, pengguna harus menyediakan sekumpulan alamat IP atau rentang alamat IP dalam formulir CIDR (Perutean Antar-Domain Tanpa Kelas) untuk disertakan sebagai daftar IP klien yang diizinkan untuk mengakses akun Azure Cosmos DB tertentu. Setelah konfigurasi ini diterapkan, setiap permintaan yang berasal dari mesin di luar daftar yang diizinkan ini menerima respons 403 (Terlarang). Saat menggunakan firewall IP, disarankan untuk mengizinkan portal Azure mengakses akun Anda. Akses diperlukan untuk memungkinkan penggunaan data explorer dan untuk mengambil metrik untuk akun Anda yang muncul di portal Azure. Saat menggunakan penjelajah data, selain mengizinkan portal Microsoft Azure mengakses akun Anda, Anda juga perlu memperbarui pengaturan firewall untuk menambahkan alamat IP Anda saat ini ke aturan firewall. Perubahan firewall mungkin memakan waktu hingga 15 menit untuk disebarluaskan dan firewall dapat menunjukkan perilaku yang tidak konsisten selama periode ini.
Anda dapat menggabungkan firewall berbasis IP dengan subnet dan kontrol akses jaringan virtual. Dengan menggabungkannya, Anda dapat membatasi akses ke sumber apa pun yang memiliki IP publik dan/atau dari subnet tertentu dalam jaringan virtual. Untuk mempelajari selengkapnya tentang menggunakan subnet dan kontrol akses berbasis jaringan virtual, lihat Mengakses sumber daya Azure Cosmos DB dari jaringan virtual.
Untuk meringkas, token otorisasi selalu diperlukan untuk mengakses akun Azure Cosmos DB. Jika firewall IP dan Daftar Kontrol Akses (ACL) jaringan virtual tidak disiapkan, akun Azure Cosmos DB dapat diakses dengan token otorisasi. Setelah firewall IP atau ACL jaringan virtual atau keduanya disiapkan di akun Azure Cosmos DB, hanya permintaan yang berasal dari sumber yang telah Anda tentukan (dan dengan token otorisasi) yang mendapatkan respons yang valid.
Anda juga dapat mengamankan data yang disimpan di akun Azure Cosmos DB Anda menggunakan firewall IP. Azure Cosmos DB mendukung kontrol akses berbasis IP untuk dukungan firewall masuk. Anda dapat mengatur firewall IP di akun Azure Cosmos DB dengan menggunakan langkah berikut:
- Dari portal Azure
- Secara deklaratif dengan menggunakan templat Azure Resource Manager
- Secara terprogram melalui Azure CLI atau Azure PowerShell dengan memperbarui properti ipRangeFilter
Konfigurasikan firewall IP dengan menggunakan portal Microsoft Azure
Untuk mengatur kebijakan kontrol akses IP di portal Azure, buka halaman akun Azure Cosmos DB dan pilih Jaringan pada menu navigasi. Ubah Perbolehkan akses dari nilai ke Jaringan yang dipilih, lalu pilih Simpan. Jika Anda belum menambahkan alamat IP apa pun, Anda juga harus mencentang kotak untuk mengakui bahwa semua VNet dan IP akan diblokir. Jika Anda mengubah pengaturan jaringan akses publik, baik dengan menonaktifkannya atau mengizinkannya untuk semua jaringan, Anda kehilangan IP firewall yang mungkin telah Anda siapkan sebelumnya.
Saat kontrol akses IP diaktifkan, portal Microsoft Azure menyediakan kemampuan untuk menentukan alamat IP, rentang alamat IP, dan switch. Switch mengaktifkan akses ke layanan Azure lainnya dan portal Microsoft Azure. Bagian berikut ini memberikan detail tentang switch ini.
Catatan
Setelah Anda mengaktifkan kebijakan kontrol akses IP untuk akun Azure Cosmos DB Anda, semua permintaan ke akun Azure Cosmos DB Anda dari komputer di luar daftar rentang alamat IP yang diizinkan akan ditolak. Menelusuri sumber daya Azure Cosmos DB dari portal juga diblokir untuk memastikan integritas kontrol akses.
Memperbolehkan permintaan dari portal Microsoft Azure
Saat Mengaktifkan kebijakan kontrol akses IP secara terprogram, Anda mungkin perlu menambahkan alamat IP untuk layanan portal Azure ke properti ipRangeFilter untuk tetap menggunakan beberapa fungsi portal.
Skenario portal yang mengharuskan opsi ini diaktifkan meliputi:
- Khusus untuk API untuk MongoDB atau API untuk Apache Cassandra, mengakses akun dengan Data Explorer atau <cosmos.azure.com>
- Untuk semua API, gunakan bilah Azure Cosmos DB berikut dalam portal Azure:
- Telusuri Koleksi
- Power BI
- Azure Synapse
Anda dapat mengaktifkan permintaan untuk mengakses portal Azure dengan memilih opsi Tambahkan IP Middleware Portal Azure, seperti yang ditunjukkan pada cuplikan layar berikut:
Alamat IP Middleware Portal Azure akan ditambahkan ke daftar terpisah, seperti yang ditunjukkan pada cuplikan layar berikut. Klik Simpan untuk menambahkan alamat ini ke akun database Anda. Detail selengkapnya tentang alamat IP Middleware dapat ditemukan lebih lanjut di bawah ini dalam artikel ini.
Alamat IP Middleware Portal Microsoft Azure dapat dihapus dengan mengklik opsi Hapus IP Middleware Portal Microsoft Azure lalu pilih Simpan.
Alamat IP Middleware Portal Azure
Alamat IP Middleware Portal Azure tercantum di bawah ini. Beberapa alamat IP hanya diperlukan untuk API Akun Database tertentu. Saat Anda menambahkan Alamat IP Middleware di portal, seperti yang dijelaskan di atas, hanya alamat IP yang diperlukan untuk akun Anda yang akan ditambahkan.
Contohnya:
Untuk API untuk akun NoSQL, alamat IP dari semua kategori akan ditambahkan.
Untuk API untuk akun MongoDB, alamat IP dari kategori Semua dan MongoDB saja yang akan ditambahkan.
Azure Public
API Akun Database | Alamat IP |
---|---|
Semua | 13.91.105.215, 4.210.172.107, 13.88.56.148, 40.91.218.243 |
Hanya MongoDB | 20.245.81.54, 40.118.23.126, 40.80.152.199, 13.95.130.121 |
Apache Cassandra saja | 40.113.96.14, 104.42.11.145, 137.117.230.240, 168.61.72.237 |
Azure Tiongkok
API Akun Database | Alamat IP |
---|---|
Semua | 163.228.137.6, 143.64.170.142 |
Hanya MongoDB | 52.131.240.99, 143.64.61.130 |
Apache Cassandra saja | 40.73.99.146, 143.64.62.47 |
Azure US Government
API Akun Database | Alamat IP |
---|---|
Semua | 52.247.163.6, 52.244.134.181 |
Hanya MongoDB | 52.244.176.112, 52.247.148.42 |
Apache Cassandra saja | 52.244.50.101, 52.227.165.24 |
Alamat IP Middleware Warisan
Layanan portal Cosmos DB baru-baru ini beralih ke infrastruktur baru yang memerlukan alamat IP Middleware baru. Dengan selesainya transisi tersebut, alamat IP warisan yang digunakan oleh infrastruktur lama sekarang dapat dihapus dengan aman. Jika akun Anda memiliki alamat IP Middleware warisan yang ada dalam aturan firewall, opsi Hapus IP Middleware Warisan Portal Microsoft Azure akan ditampilkan. Pilih opsi tersebut lalu Simpan untuk menghapus alamat IP warisan.
Alamat IP warisan bergantung pada lingkungan cloud:
Lingkungan Azure | Alamat IP |
---|---|
Azure Public | 104.42.195.92, 40.76.54.131, 52.176.6.30, 52.169.50.45, 52.187.184.26 |
Azure Tiongkok | 139.217.8.252, 52.176.6.30, 52.169.50.45, 52.187.184.26 |
Azure US Government | 52.244.48.71, 52.176.6.30, 52.169.50.45, 52.187.184.26 |
Catatan
Jika Anda mengalami tantangan saat menyambungkan ke akun Azure Cosmos DB Anda dari Data Explorer, tinjau panduan pemecahan masalah Data Explorer.
Izinkan permintaan dari pusat data Azure global atau sumber lainnya dalam Azure
Jika Anda mengakses akun Azure Cosmos DB dari layanan yang tidak menyediakan IP statis (misalnya, Azure Stream Analytics dan Azure Functions), Anda masih dapat menggunakan firewall IP untuk membatasi akses. Anda bisa mengaktifkan akses dari sumber lain dalam Azure dengan memilih opsi Terima koneksi dari dalam pusat data Azure, seperti yang diperlihatkan dalam cuplikan layar berikut ini:
Ketika Anda mengaktifkan opsi ini, alamat IP 0.0.0.0
ditambahkan ke daftar alamat IP yang diizinkan. 0.0.0.0
Alamat IP membatasi permintaan ke akun Azure Cosmos DB Anda dari rentang IP pusat data Azure. Pengaturan ini tidak mengizinkan akses untuk rentang IP lain ke akun Azure Cosmos DB Anda.
Catatan
Mengatur publicNetworkAccess ke Dinonaktifkan lebih diutamakan daripada opsi Terima koneksi dari dalam pusat data Azure ini. Lihat memblokir-public-network-access-during-account-creation
Catatan
Opsi ini mengonfigurasikan firewall untuk mengizinkan semua permintaan dari Azure, termasuk permintaan dari langganan pelanggan lain yang disebarkan di Azure. Daftar IP yang diizinkan oleh opsi ini luas, sehingga membatasi keefektifan kebijakan firewall. Gunakan opsi ini hanya jika permintaan Anda tidak berasal dari IP statis atau subnet di jaringan virtual. Memilih opsi ini secara otomatis memungkinkan akses dari portal Microsoft Azure karena portal Microsoft Azure diterapkan di Azure.
Permintaan dari IP Anda saat ini
Untuk menyederhanakan pengembangan, portal Microsoft Azure membantu Anda mengidentifikasi dan menambahkan IP dari komputer klien Anda ke daftar yang diizinkan. Aplikasi yang menjalankan komputer Anda kemudian dapat mengakses akun Azure Cosmos DB Anda.
Portal secara otomatis mendeteksi alamat IP klien. Itu mungkin adalah alamat IP klien komputer Anda, atau alamat IP gateway jaringan Anda. Pastikan untuk menghapus alamat IP ini sebelum Anda membawa beban kerja Anda ke tahap produksi.
Untuk menambahkan IP Anda saat ini ke daftar IP, pilih Tambahkan IP Anda saat ini. Kemudian pilih Simpan.
Permintaan dari layanan awan
Di Azure, layanan awan adalah cara yang umum untuk menghosting logika layanan tingkat menengah dengan menggunakan Azure Cosmos DB. Untuk mengaktifkan akses ke akun Azure Cosmos DB Anda dari layanan awan, Anda harus menambahkan alamat IP publik layanan awan ke daftar alamat IP yang diizinkan yang terkait dengan akun Azure Cosmos DB Anda dengan mengonfigurasikan kebijakan kontrol akses IP. Ini memastikan bahwa semua contoh peran layanan awan memiliki akses ke akun Azure Cosmos DB Anda.
Anda dapat mengambil alamat IP untuk layanan awan Anda di portal Microsoft Azure, seperti yang diperlihatkan dalam tangkapan layar berikut:
Saat Anda melakukan peluasan skala layanan awan Anda dengan menambahkan instans peran, instans baru tersebut akan secara otomatis memiliki akses ke akun Azure Cosmos DB karena merupakan bagian dari layanan awan yang sama.
Permintaan dari komputer virtual
Anda juga dapat menggunakan komputer virtual atau set skala mesin virtual untuk menghosting layanan tingkat menengah dengan menggunakan Azure Cosmos DB. Untuk mengonfigurasi akun Azure Cosmos DB Anda sehingga memungkinkan akses dari komputer virtual, Anda harus mengonfigurasi alamat IP publik komputer virtual dan/atau set skala komputer virtual sebagai salah satu alamat IP yang diizinkan untuk akun Azure Cosmos DB Anda dengan mengonfigurasi kebijakan kontrol akses IP.
Anda dapat mengambil alamat IP untuk komputer virtual di portal Microsoft Azure, seperti yang ditunjukkan pada cuplikan layar berikut:
Saat Anda menambahkan instans komputer virtual ke grup, instans tersebut akan menerima akses secara otomatis ke akun Azure Cosmos DB Anda.
Permintaan dari internet
Saat Anda mengakses akun Azure Cosmos DB dari komputer di internet, alamat IP klien atau rentang alamat IP komputer harus ditambahkan ke daftar alamat IP yang diizinkan untuk akun Anda.
Tambahkan aturan keluar ke firewall
Untuk mengakses daftar rentang IP keluar saat ini untuk ditambahkan ke setelan firewall Anda, lihat Mengunduh Rentang IP Azure dan Tag Layanan .
Untuk mengotomatiskan daftar, lihat Gunakan API Penemuan Service Tag.
Konfigurasikan firewall IP dengan menggunakan templat Resource Manager
Untuk mengonfigurasikan kontrol akses ke akun Azure Cosmos DB Anda, pastikan bahwa templat Resource Manager menentukan properti IpRules dengan array rentang IP yang diizinkan. Jika mengonfigurasi IP Firewall ke akun Azure Cosmos DB yang sudah disebarkan, pastikan locations
array cocok dengan apa yang saat ini disebarkan. Anda tidak dapat mengubah locations
array dan properti lainnya secara bersamaan. Untuk informasi selengkapnya dan sampel templat Azure Resource Manager untuk Azure Cosmos DB, lihat, templat Azure Resource Manager untuk Azure Cosmos DB
Penting
Properti ipRules telah diperkenalkan dengan versi API 2020-04-01. Versi sebelumnya mengekspos properti ipRangeFilter sebagai gantinya, yang merupakan daftar alamat IP yang dipisahkan koma.
Contoh menunjukkan bagaimana properti ipRules diekspos dalam API versi 2020-04-01 atau yang lebih baru:
{
"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"
}
]
}
}
Berikut adalah contoh yang sama untuk versi API apa pun sebelum 2020-04-01:
{
"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"
}
}
Konfigurasikan kebijakan kontrol akses IP dengan menggunakan Azure CLI
Perintah berikut menunjukkan cara membuat akun Azure Cosmos DB dengan kontrol akses IP:
# 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
Konfigurasikan kebijakan kontrol akses IP dengan menggunakan PowerShell
Skrip berikut menunjukkan cara membuat akun Azure Cosmos DB dengan kontrol akses IP:
# 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
Pecahkan masalah dengan kebijakan kontrol akses IP
Anda bisa memecahkan masalah dengan kebijakan kontrol akses IP dengan menggunakan opsi berikut:
Portal Azure
Setelah Anda mengaktifkan kebijakan kontrol akses IP untuk akun Azure Cosmos DB Anda, semua permintaan ke akun Azure Cosmos DB Anda dari komputer di luar daftar rentang alamat IP yang diizinkan akan ditolak. Untuk mengaktifkan operasi bidang data portal seperti menelusuri kontainer dan dokumen kueri, Anda perlu secara eksplisit mengizinkan akses portal Microsoft Azure dengan menggunakan panel Firewall di portal.
SDK
Saat Anda mengakses sumber daya Azure Cosmos DB dengan menggunakan SDK dari komputer yang tidak ada dalam daftar yang diizinkan, respons terlarang 403 generik dikembalikan tanpa detail tambahan. Verifikasi daftar IP yang diizinkan untuk akun Anda, dan pastikan konfigurasi kebijakan yang benar diterapkan ke akun Azure Cosmos DB Anda.
IP Sumber dalam permintaan yang diblokir
Aktifkan pembuatan log diagnostik di akun Azure Cosmos DB Anda. Log ini menunjukkan setiap permintaan dan respons. Pesan terkait firewall dicatat dengan kode pengembalian 403. Dengan memfilter pesan ini, Anda dapat melihat IP sumber untuk permintaan yang diblokir. Lihat pembuatan log diagnostik Azure Cosmos DB.
Permintaan dari subnet dengan titik akhir layanan untuk Azure Cosmos DB diaktifkan
Permintaan dari subnet dalam jaringan virtual yang memiliki titik akhir layanan untuk Azure Cosmos DB diaktifkan mengirim jaringan virtual dan identitas subnet ke akun Azure Cosmos DB. Permintaan ini tidak memiliki IP publik sumber, sehingga filter IP menolaknya. Untuk mengizinkan akses dari subnet tertentu di jaringan virtual, tambahkan daftar kontrol akses seperti yang diuraikan dalam Cara mengonfigurasikan jaringan virtual dan akses berbasis subnet untuk akun Azure Cosmos DB Anda. Diperlukan waktu hingga 15 menit agar aturan firewall diterapkan dan firewall dapat menunjukkan perilaku yang tidak konsisten selama periode ini.
Alamat IP privat dalam daftar alamat yang diperbolehkan
Membuat atau memperbarui akun Azure Cosmos DB dengan daftar alamat yang diizinkan yang berisi alamat IP privat gagal. Pastikan bahwa tidak ada alamat IP pribadi yang ditentukan dalam daftar.