Mulai cepat: Membuat penetapan kebijakan untuk mengidentifikasi sumber daya yang tidak patuh menggunakan Azure CLI

Langkah pertama dalam memahami kepatuhan di Azure adalah dengan mengidentifikasi status sumber daya Anda. Dalam mulai cepat ini, Anda membuat penetapan kebijakan untuk mengidentifikasi sumber daya yang tidak sesuai menggunakan Azure CLI. Kebijakan ini ditetapkan ke grup sumber daya dan mengaudit komputer virtual yang tidak menggunakan disk terkelola. Setelah membuat penetapan kebijakan, Anda mengidentifikasi komputer virtual yang tidak patuh.

Azure CLI digunakan untuk membuat dan mengelola sumber daya Azure dari baris perintah atau dalam skrip. Panduan ini menggunakan Azure CLI untuk membuat penugasan kebijakan dan mengidentifikasi sumber daya yang tidak patuh di lingkungan Azure Anda.

Prasyarat

  • Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
  • Azure CLI.
  • Visual Studio Code.
  • Microsoft.PolicyInsights harus terdaftar di langganan Azure Anda. Untuk mendaftarkan penyedia sumber daya, Anda harus memiliki izin untuk mendaftarkan penyedia sumber daya. Izin tersebut disertakan dalam peran Kontributor dan Pemilik.
  • Grup sumber daya dengan setidaknya satu komputer virtual yang tidak menggunakan disk terkelola.

Hubungkan ke Azure

Dari sesi terminal Visual Studio Code, sambungkan ke Azure. Jika Anda memiliki lebih dari satu langganan, jalankan perintah untuk mengatur konteks ke langganan Anda. Ganti <subscriptionID> dengan ID langganan Azure Anda.

az login

# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription <subscriptionID>

Mendaftarkan penyedia sumber daya

Saat penyedia sumber daya terdaftar, penyedia sumber daya tersedia untuk digunakan dalam langganan Azure Anda.

Untuk memverifikasi apakah Microsoft.PolicyInsights terdaftar, jalankan Get-AzResourceProvider. Penyedia sumber daya berisi beberapa jenis sumber daya. Jika hasilnya NotRegistered dijalankan Register-AzResourceProvider:

az provider show \
  --namespace Microsoft.PolicyInsights \
  --query "{Provider:namespace,State:registrationState}" \
  --output table

az provider register --namespace Microsoft.PolicyInsights

Perintah Azure CLI menggunakan garis miring terbalik (\) untuk kelanjutan baris guna meningkatkan keterbacaan. Untuk informasi selengkapnya, buka penyedia az.

Buat penetapan kebijakan

Gunakan perintah berikut untuk membuat penetapan kebijakan baru untuk grup sumber daya Anda. Contoh ini menggunakan grup sumber daya yang ada yang berisi komputer virtual tanpa disk terkelola. Grup sumber daya adalah cakupan untuk penetapan kebijakan. Contoh ini menggunakan definisi kebijakan bawaan Audit VM yang tidak menggunakan disk terkelola.

Jalankan perintah berikut dan ganti <resourceGroupName> dengan nama grup sumber daya Anda:

rgid=$(az group show --resource-group <resourceGroupName> --query id --output tsv)

definition=$(az policy definition list \
  --query "[?displayName=='Audit VMs that do not use managed disks']".name \
  --output tsv)

Variabel rgid menyimpan ID grup sumber daya. Variabel definition menyimpan nama definisi kebijakan, yang merupakan GUID.

Jalankan perintah berikut untuk membuat penetapan kebijakan:

az policy assignment create \
  --name 'audit-vm-managed-disks' \
  --display-name 'Audit VM managed disks' \
  --scope $rgid \
  --policy $definition \
  --description 'Azure CLI policy assignment to resource group'
  • name membuat nama penetapan kebijakan yang digunakan dalam tugas ResourceId.
  • display-nameadalah nama untuk penetapan kebijakan dan terlihat dalam portal Azure.
  • scope$rgid menggunakan variabel untuk menetapkan kebijakan ke grup sumber daya.
  • policy menetapkan definisi kebijakan yang disimpan dalam $definition variabel.
  • description dapat digunakan untuk menambahkan konteks tentang penetapan kebijakan.

Hasil penetapan kebijakan menyerupai contoh berikut:

"description": "Azure CLI policy assignment to resource group",
"displayName": "Audit VM managed disks",
"enforcementMode": "Default",
"id": "/subscriptions/{subscriptionID}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/policyAssignments/audit-vm-managed-disks",
"identity": null,
"location": null,
"metadata": {
  "createdBy": "11111111-1111-1111-1111-111111111111",
  "createdOn": "2024-02-23T18:42:27.4780803Z",
  "updatedBy": null,
  "updatedOn": null
},
"name": "audit-vm-managed-disks",

Jika Anda ingin memutar ulang informasi penetapan kebijakan, jalankan perintah berikut:

az policy assignment show --name "audit-vm-managed-disks" --scope $rgid

Untuk informasi selengkapnya, buka penetapan kebijakan az.

Mengidentifikasi sumber daya yang tidak sesuai

Status kepatuhan untuk penetapan kebijakan baru membutuhkan waktu beberapa menit untuk menjadi aktif dan memberikan hasil tentang status kebijakan.

Gunakan perintah berikut untuk mengidentifikasi sumber daya yang tidak sesuai dengan penetapan kebijakan yang Anda buat:

policyid=$(az policy assignment show \
  --name "audit-vm-managed-disks" \
  --scope $rgid \
  --query id \
  --output tsv)

az policy state list --resource $policyid --filter "(isCompliant eq false)"

Variabel policyid menggunakan ekspresi untuk mendapatkan ID penetapan kebijakan. Parameter filter membatasi output ke sumber daya yang tidak sesuai.

Outputnya az policy state list verbose, tetapi untuk artikel ini menunjukkan complianceStateNonCompliant:

"complianceState": "NonCompliant",
"components": null,
"effectiveParameters": "",
"isCompliant": false,

Untuk informasi selengkapnya, buka status kebijakan az.

Membersihkan sumber daya

Untuk menghapus penetapan kebijakan, jalankan perintah berikut:

az policy assignment delete --name "audit-vm-managed-disks" --scope $rgid

Untuk keluar dari sesi Azure CLI Anda:

az logout

Langkah berikutnya

Dalam mulai cepat ini, Anda telah menetapkan definisi kebijakan untuk mengidentifikasi sumber daya yang tidak sesuai di lingkungan Azure Anda.

Untuk mempelajari selengkapnya tentang cara menetapkan kebijakan yang memvalidasi kepatuhan sumber daya, lanjutkan ke tutorial.