Menentukan keanggotaan grup jaringan dinamis di Azure Virtual Network Manager dengan Azure Policy
Dalam artikel ini, Anda mempelajari cara menggunakan pernyataan kondisional Azure Policy untuk membuat grup jaringan dengan keanggotaan dinamis. Anda membuat pernyataan kondisional ini menggunakan penyunting dasar dengan memilih parameter dan operator dari menu drop-down. Selain itu, Anda mempelajari cara menggunakan editor tingkat lanjut untuk memperbarui pernyataan kondisional dari grup jaringan yang ada.
Azure Policy adalah layanan untuk memungkinkan Anda menerapkan tata kelola per sumber daya dalam skala besar. Ini dapat digunakan untuk menentukan ekspresi kondisional yang menentukan keanggotaan grup, dibandingkan dengan daftar eksplisit jaringan virtual. Kondisi ini terus mendukung grup jaringan Anda secara dinamis, memungkinkan jaringan virtual untuk bergabung dan meninggalkan grup secara otomatis saat pemenuhan kondisi berubah, tanpa memerlukan operasi Pengelola Jaringan.
Prasyarat
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Untuk mengubah grup jaringan dinamis, Anda harus diberikan akses dengan kontrol akses berbasis peran. Otorisasi Admin/warisan klasik tidak didukung.
Parameter dan operator
Jaringan virtual dengan keanggotaan dinamis dipilih menggunakan pernyataan kondisional. Anda dapat menentukan lebih dari satu pernyataan kondisional dengan menggunakan operator logis seperti AND dan OR untuk skenario di mana Anda perlu lebih mempersempit jaringan virtual yang dipilih.
Daftar parameter yang didukung:
Parameter | Bidang editor tingkat lanjut |
---|---|
Nama | Name |
ID | Id |
Tag | tag['tagName'] |
Nama Langganan | [subscription().Name] |
ID Langganan | [subscription().Id] |
Tag Langganan | [subscription().tags['tagName']] |
Nama Grup Sumber Daya | [resourceGroup().Name] |
ID Grup Sumber Daya | [resourceGroup().Id] |
Tag Grup Sumber Daya | [resourceGroup().tags['tagName']] |
Daftar operator yang didukung:
Operator | Editor tingkat lanjut |
---|---|
Berisi | "contains": <> |
Tidak berisi | "notcontains": <> |
Di | "in": <> |
Tidak Dalam | "notin": <> |
Sama dengan | "equals": <> |
Tidak sama dengan | "notequals": <> |
Berisi salah satu dari | "contains": <> |
Berisi semua | "contains": <> |
Tidak berisi salah satu dari | "notcontains": <> |
Ada | "exists": true |
Tidak ada | "exists": false |
Catatan
Operator Ada dan Tidak ada hanya digunakan dengan parameter Tag.
Penyunting dasar
Asumsikan Anda memiliki jaringan virtual berikut dalam langganan Anda. Setiap jaringan virtual memiliki tag terkait bernama lingkungan dengan nilai produksi atau pengujian masing-masing.
Virtual Network | Nama Tag | Nilai Tag |
---|---|---|
myVNet01-EastUS | lingkungan | produksi |
myVNet01-WestUS | lingkungan | produksi |
myVNet02-WestUS | lingkungan | pengujian |
myVNet03-WestUS | lingkungan | pengujian |
Anda hanya ingin memilih jaringan virtual yang tagnya memiliki pasangan nilai kunci lingkungan yang sama dengan produksi. Untuk mulai menggunakan penyunting dasar guna membuat pernyataan kondisional, Anda perlu membuat grup jaringan baru.
Buka instans Azure Virtual Network Manager Anda dan pilih Grup Jaringan di bawah Pengaturan. Lalu pilih + Buat untuk membuat grup jaringan baru.
Masukkan Nama dan Deskripsi opsional untuk grup jaringan, dan pilih Tambahkan.
Pilih grup jaringan dari daftar dan pilih Buat Azure Policy.
Masukkan Nama kebijakan dan biarkan pilihan Cakupan kecuali perubahan diperlukan.
Di bawah Kriteria, pilih Tag dari menu drop-down di bawah Parameter lalu pilih Pasangan nilai kunci dari menu drop-down di bawah Operator.
Masukkan lingkungan dan produksi di bawah Kondisi dan pilih Pratinjau Sumber Daya. Anda akan melihat myVNet01-EastUS dan myVNet01-WestUS muncul dalam daftar.
Pilih Tutup dan Simpan.
Setelah beberapa menit, pilih grup jaringan Anda dan pilih Anggota Grup di bawah Pengaturan. Anda seharusnya hanya melihat myVNet01-WestUS dan myVNet01-WestUS.
Penting
Editor dasar hanya tersedia selama pembuatan Azure Policy. Setelah kebijakan dibuat, semua pengeditan akan dilakukan menggunakan JSON di bagian Kebijakan manajer jaringan virtual atau melalui Azure Policy.
Penyunting tingkat lanjut
Editor tingkat lanjut dapat digunakan untuk memilih jaringan virtual selama pembuatan grup jaringan atau saat memperbarui grup jaringan yang ada. Berbasis di JSON, editor tingkat lanjut berguna untuk membuat dan memperbarui pernyataan kondisional Azure Policy yang kompleks oleh pengguna berpengalaman.
Membuat kebijakan baru dengan editor tingkat lanjut
Buka instans Azure Virtual Network Manager Anda dan pilih Grup Jaringan di bawah Pengaturan. Lalu pilih + Buat untuk membuat grup jaringan baru.
Masukkan Nama dan Deskripsi opsional untuk grup jaringan, dan pilih Tambahkan.
Pilih grup jaringan dari daftar dan pilih Buat Azure Policy.
Masukkan Nama kebijakan dan biarkan pilihan Cakupan kecuali perubahan diperlukan.
Di bawah Kriteria, pilih editor Tingkat Lanjut (JSON) untuk membuka editor.
Masukkan kode JSON berikut ke dalam kotak teks dan pilih Simpan:
{ "field": "Name", "contains": "myVNet01" }
Setelah beberapa menit, pilih grup jaringan Anda dan pilih Anggota Grup di bawah Pengaturan. Anda seharusnya hanya melihat myVNet01-WestUS dan myVNet01-EastUS.
Penting
Kebijakan Azure apa pun yang Anda buat dengan manajer jaringan virtual akan tinggal di area layanan Azure Policy. Mereka tidak akan dihapus dari penugasan dan definisi Azure Policy Anda saat instans manajer jaringan virtual dihapus. Ini memerlukan penghapusan kebijakan secara manual. Pelajari cara menghapus Kebijakan Azure
Mengedit kebijakan yang sudah ada
Pilih grup jaringan yang dibuat di bagian sebelumnya. Lalu pilih tab Kebijakan .
Pilih kebijakan yang dibuat di bagian sebelumnya.
Anda melihat pernyataan kondisional untuk grup jaringan di tampilan editor lanjutan sebagai berikut:
[ { "field": "Name", "contains": "myVNet01" } ]
Untuk menambahkan pernyataan kondisional lain untuk bidang Nama tidak mengandung WestUS, masukkan berikut ini ke dalam penyunting tingkat lanjut:
{ "allOf": [ { "field": "Name", "contains": "VNet01" }, { "field": "Name", "notcontains": "WestUS" } ] }
Parameter
"allOf"
berisi pernyataan kondisional yang dipisahkan oleh operator logis AND.Pilih Simpan.
Setelah beberapa menit, pilih grup jaringan Anda dan pilih Anggota Grup di bawah Pengaturan. Anda seharusnya hanya melihat myVNet01-EastUS.
Lihat Parameter dan operator untuk daftar lengkap parameter dan operator yang dapat Anda gunakan dengan penyunting tingkat lanjut.
Contoh lainnya
Berikut adalah contoh pernyataan kondisi di editor tingkat lanjut.
Contoh 1: OR hanya operator
Contoh ini menggunakan operator logis OR untuk memisahkan dua pernyataan kondisional.
Penyunting dasar:
Operator tingkat lanjut:
{ "anyOf": [ { "field": "Name", "contains": "myVNet01" }, { "field": "Name", "contains": "myVNet02" } ] }
Parameter "anyOf"
berisi kedua pernyataan kondisional yang dipisahkan oleh operator logis OR.
Contoh 2: Operator AND dan OR secara bersamaan
Penyunting dasar:
Penyunting tingkat lanjut:
{
"allOf": [
{
"anyOf": [
{
"field": "Name",
"contains": "myVNet01"
},
{
"field": "Name",
"contains": "myVNet02"
}
]
},
{
"field": "Name",
"notcontains": "West"
}
]
}
Baik "allOf"
dan "anyOf"
digunakan dalam kode. Karena operator AND berada di urutan terakhir dalam daftar, operator tersebut berada di bagian luar kode yang berisi dua pernyataan kondisional dengan operator OR.
Contoh 3: Menggunakan nilai tag kustom dengan editor tingkat lanjut
Dalam contoh ini, pernyataan kondisional dibuat yang menemukan jaringan virtual di mana nama menyertakan myVNet DAN tag lingkungan sama dengan produksi.
Penyunting tingkat lanjut:
{ "allOf": [ { "field": "Name", "contains": "myVNet" }, { "field": "tags['environment']", "equals": "production" } ] }
Catatan
Kondisional harus memfilter jenis sumber daya Microsoft.Network/virtualNetwork untuk meningkatkan efisiensi. Kondisi ini telah ditentukan sebelumnya untuk Anda pada kondisional apa pun yang ditentukan melalui portal.
Langkah berikutnya
- Pelajari tentang Grup jaringan.
- Membuat instans Azure Virtual Network Manager.
- Membuat dan mengelola kebijakan untuk menerapkan kepatuhan