Bagikan melalui


Gunakan Azure Policy untuk menerapkan tata kelola dan kontrol untuk sumber daya Azure Cosmos DB

BERLAKU UNTUK: NoSQL MongoDB Cassandra Gremlin Meja

Azure Policy membantu menegakkan standar tata kelola organisasi, menilai kepatuhan sumber daya, dan menerapkan remediasi otomatis. Kasus penggunaan umumnya meliputi keamanan, manajemen biaya, dan konsistensi konfigurasi.

Azure Policy menyediakan definisi kebijakan bawaan. Anda dapat membuat definisi kebijakan kustom untuk skenario yang tidak ditangani oleh definisi kebijakan bawaan. Lihat dokumentasi Azure Policy untuk detail selengkapnya.

Penting

Azure Policy diberlakukan di tingkat penyedia sumber daya untuk layanan Azure. Azure Cosmos DB SDK dapat melakukan sebagian besar operasi manajemen pada database, kontainer, dan sumber daya throughput yang melewati penyedia sumber daya Azure Cosmos DB, sehingga mengabaikan kebijakan apa pun yang dibuat menggunakan Azure Policy. Untuk memastikan penerapan kebijakan, lihat Mencegah perubahan dari Azure Cosmos DB SDK

Menetapkan definisi kebijakan bawaan

Definisi kebijakan menjelaskan kondisi kepatuhan sumber daya dan efek yang harus diambil jika kondisi terpenuhi. Penugasan kebijakan dibuat dari definisi kebijakan. Anda dapat menggunakan definisi kebijakan bawaan atau kustom untuk sumber daya Azure Cosmos DB Anda. Penugasan kebijakan dicakup ke grup manajemen Azure, langganan Azure, atau grup sumber daya dan diterapkan ke sumber daya dalam cakupan yang dipilih. Atau, Anda dapat mengecualikan sumber daya tertentu dari cakupan.

Anda dapat membuat penugasan kebijakan dengan portal Azure, Azure PowerShell, Azure CLI, atau templat ARM.

Untuk membuat penugasan kebijakan dari definisi kebijakan bawaan untuk Azure Cosmos DB, gunakan langkah-langkah dalam artikel buat penugasan kebijakan dengan portal Azure.

Pada langkah untuk memilih definisi kebijakan, masukkan Azure Cosmos DB di bidang Pencarian untuk memfilter daftar definisi kebijakan bawaan yang tersedia. Pilih salah satu definisi kebijakan bawaan yang tersedia, lalu tekan Pilih untuk terus membuat penugasan kebijakan.

Tip

Anda juga bisa menggunakan nama definisi kebijakan bawaan yang diperlihatkan di panel Definisi yang Tersedia dengan templat Azure PowerShell, Azure CLI, atau ARM untuk membuat penugasan kebijakan.

Mencari definisi kebijakan bawaan untuk Azure Cosmos DB

Membuat definisi kebijakan kustom

Untuk skenario tertentu yang tidak ditangani oleh kebijakan bawaan, Anda dapat membuat definisi kebijakan kustom. Nanti Anda membuat penugasan Kebijakan dari definisi kebijakan kustom Anda.

Jenis dan alias properti dalam aturan kebijakan

Gunakan langkah-langkah definisi kebijakan kustom untuk mengidentifikasi properti sumber daya dan alias properti, yang diperlukan untuk membuat aturan kebijakan.

Untuk mengidentifikasi alias properti spesifik Azure Cosmos DB, gunakan namespace Microsoft.DocumentDB dengan salah satu metode yang diperlihatkan dalam artikel langkah-langkah definisi kebijakan kustom.

Gunakan Azure CLI:

# Login first with az login if not using Cloud Shell

# Get Azure Policy aliases for namespace Microsoft.DocumentDB
az provider show --namespace Microsoft.DocumentDB --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"

Gunakan Azure PowerShell:

# Login first with Connect-AzAccount if not using Cloud Shell

# Use Get-AzPolicyAlias to list aliases for Microsoft.DocumentDB namespace
(Get-AzPolicyAlias -NamespaceMatch 'Microsoft.DocumentDB').Aliases

Perintah ini menghasilkan daftar nama alias properti untuk properti Azure Cosmos DB. Berikut ini adalah kutipan dari output:

[
  "Microsoft.DocumentDB/databaseAccounts/sku.name",
  "Microsoft.DocumentDB/databaseAccounts/virtualNetworkRules[*]",
  "Microsoft.DocumentDB/databaseAccounts/virtualNetworkRules[*].id",
  "Microsoft.DocumentDB/databaseAccounts/isVirtualNetworkFilterEnabled",
  "Microsoft.DocumentDB/databaseAccounts/consistencyPolicy.defaultConsistencyLevel",
  "Microsoft.DocumentDB/databaseAccounts/enableAutomaticFailover",
  "Microsoft.DocumentDB/databaseAccounts/Locations",
  "Microsoft.DocumentDB/databaseAccounts/Locations[*]",
  "Microsoft.DocumentDB/databaseAccounts/Locations[*].locationName",
  "..."
]

Anda dapat menggunakan salah satu nama alias properti ini dalam aturan definisi kebijakan kustom.

Berikut ini adalah contoh definisi kebijakan yang memeriksa apakah akun Azure Cosmos DB dikonfigurasi untuk beberapa lokasi tulis. Definisi kebijakan kustom mencakup dua aturan: satu untuk memeriksa jenis alias properti tertentu, dan yang kedua untuk properti tertentu dari jenis tersebut, dalam hal ini bidang yang menyimpan pengaturan beberapa lokasi tulis. Kedua aturan menggunakan nama alias.

"policyRule": {
  "if": {
    "allOf": [
      {
        "field": "type",
        "equals": "Microsoft.DocumentDB/databaseAccounts"
      },
      {
        "field": "Microsoft.DocumentDB/databaseAccounts/enableMultipleWriteLocations",
        "notEquals": true
      }
    ]
  },
  "then": {
    "effect": "Audit"
  }
}

Definisi kebijakan kustom dapat digunakan untuk membuat penugasan kebijakan seperti definisi kebijakan bawaan yang digunakan.

Kepatuhan kebijakan

Setelah penugasan kebijakan dibuat, Azure Policy mengevaluasi sumber daya dalam lingkup tugas. Kepatuhan masing-masing sumber daya terhadap kebijakan pun dinilai. Efek yang ditentukan dalam kebijakan kemudian diterapkan ke sumber daya yang tidak patuh.

Anda dapat meninjau hasil kepatuhan dan detail remediasi di portal Azure atau via Azure CLI atau log Azure Monitor.

Cuplikan layar berikut menunjukkan dua contoh penetapan kebijakan.

Satu tugas didasarkan pada definisi kebijakan bawaan, yang memeriksa bahwa sumber daya Azure Cosmos DB hanya diterapkan ke wilayah Azure yang diizinkan. Kepatuhan sumber daya menunjukkan hasil evaluasi kebijakan (sesuai atau tidak patuh) untuk sumber daya dalam cakupan.

Tugas lainnya didasarkan pada definisi kebijakan kustom. Penetapan ini memeriksa bahwa akun Azure Cosmos DB dikonfigurasi untuk beberapa lokasi tulis.

Setelah penetapan kebijakan diterapkan, dasbor kepatuhan menunjukkan hasil evaluasi. Perhatikan bahwa ini dapat memakan waktu hingga 30 menit setelah menerapkan penugasan kebijakan. Selain itu, pemindaian evaluasi kebijakan dapat segera dimulai sesuai permintaan setelah membuat penetapan kebijakan.

Cuplikan layar menunjukkan hasil evaluasi kepatuhan berikut untuk akun Azure Cosmos DB dalam cakupan:

  • Nol dari dua akun mematuhi kebijakan yang dikonfigurasi pemfilteran Virtual Network (VNet).
  • Nol dari dua akun mematuhi kebijakan yang mengharuskan akun dikonfigurasi untuk beberapa lokasi tulis
  • Nol dari dua akun mematuhi kebijakan agar sumber daya disebarkan ke wilayah Azure yang diizinkan.

Hasil kepatuhan untuk penugasan Azure Policy tercantum

Untuk remediasi sumber daya yang tidak patuh, lihat cara remediasi sumber daya dengan Azure Policy.

Langkah berikutnya