Hızlı Başlangıç: Azure CLI kullanarak uyumlu olmayan kaynakları tanımlamak için ilke ataması oluşturma
Azure’da uyumluluğu anlamanın ilk adımı, kaynaklarınızın durumunu belirlemektir. Bu hızlı başlangıçta, Azure CLI kullanarak uyumlu olmayan kaynakları tanımlamak için bir ilke ataması oluşturacaksınız. İlke bir kaynak grubuna atanır ve yönetilen disk kullanmayan sanal makineleri denetler. İlke atamasını oluşturduktan sonra uyumlu olmayan sanal makineleri tanımlarsınız.
Azure CLI, komut satırından veya betik içindeki Azure kaynaklarını yönetmek veya bu kaynakları oluşturmak için kullanılır. Bu kılavuzda, Azure ortamınızda uyumlu olmayan kaynakları belirlemek ve bir ilke ataması oluşturmak için Azure CLI kullanılır.
Yerleşik bir ilke veya girişim tanımı atarken, bir sürüme başvurmak isteğe bağlıdır. Yerleşik tanımların ilke atamaları varsayılan olarak en son sürüme ayarlı ve aksi belirtilmedikçe ikincil sürüm değişikliklerini otomatik olarak devralır.
Önkoşullar
- Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
- Azure CLI.
- Visual Studio Code.
Microsoft.PolicyInsights
Azure aboneliğinize kayıtlı olmalıdır. Bir kaynak sağlayıcısını kaydetmek için kaynak sağlayıcılarını kaydetme izniniz olmalıdır. Bu izin Katkıda Bulunan ve Sahip rollerine dahil edilir.- Yönetilen diskleri kullanmayan en az bir sanal makineye sahip bir kaynak grubu.
Azure'a bağlanma
Visual Studio Code terminal oturumundan Azure'a bağlanın. Birden fazla aboneliğiniz varsa, aboneliğinize bağlam ayarlamak için komutları çalıştırın. <subscriptionID>
öğesini Azure abonelik kimliğinizle değiştirin.
az login
# Run these commands if you have multiple subscriptions
az account list --output table
az account set --subscription <subscriptionID>
Kaynak sağlayıcısını kaydetme
Bir kaynak sağlayıcısı kaydedildiğinde Azure aboneliğinizde kullanılabilir.
Kayıtlı olup olmadığını Microsoft.PolicyInsights
doğrulamak için komutunu çalıştırın Get-AzResourceProvider
. Kaynak sağlayıcısı birkaç kaynak türü içerir. Sonuç çalıştırılırsa NotRegistered
Register-AzResourceProvider
:
az provider show \
--namespace Microsoft.PolicyInsights \
--query "{Provider:namespace,State:registrationState}" \
--output table
az provider register --namespace Microsoft.PolicyInsights
Azure CLI komutları, okunabilirliği geliştirmek için satır devamı için ters eğik çizgi (\
) kullanır. Daha fazla bilgi için az provider sayfasına gidin.
İlke ataması oluştur
Kaynak grubunuz için yeni bir ilke ataması oluşturmak için aşağıdaki komutları kullanın. Bu örnekte, yönetilen diskleri olmayan bir sanal makine içeren mevcut bir kaynak grubu kullanılmaktadır. Kaynak grubu, ilke atamasının kapsamıdır. Bu örnek, yönetilen disk kullanmayan VM'leri denetle yerleşik ilke tanımını kullanır.
Aşağıdaki komutları çalıştırın ve öğesini kaynak grubu adınızla değiştirin <resourceGroupName>
:
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)
rgid
değişkeni kaynak grubu kimliğini depolar. definition
değişkeni, ilke tanımının adını (GUID) depolar.
İlke atamasını oluşturmak için aşağıdaki komutu çalıştırın:
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
, atamada kullanılan ilke atamaResourceId
adını oluşturur.display-name
, ilke atamasının adıdır ve Azure portalında görünür.scope
, ilkeyi$rgid
kaynak grubuna atamak için değişkenini kullanır.policy
değişkeninde$definition
depolanan ilke tanımını atar.description
ilke ataması hakkında bağlam eklemek için kullanılabilir.
İlke atamasının sonuçları aşağıdaki örneğe benzer:
"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",
İlke atama bilgilerini yeniden görüntülemek istiyorsanız aşağıdaki komutu çalıştırın:
az policy assignment show --name "audit-vm-managed-disks" --scope $rgid
Daha fazla bilgi için az policy assignment sayfasına gidin.
Uyumlu olmayan kaynakları belirleme
Yeni ilke atamasının uyumluluk durumunun etkinleşmesi ve ilkenin durumuyla ilgili sonuçlar sağlaması birkaç dakika sürer.
Oluşturduğunuz ilke atamasıyla uyumlu olmayan kaynakları belirlemek için aşağıdaki komutu kullanın:
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)"
değişkeni, policyid
ilke atamasının kimliğini almak için bir ifade kullanır. filter
parametresi, çıkışı uyumlu olmayan kaynaklarda sınırlar.
Çıktı az policy state list
ayrıntılıdır, ancak bu makalede complianceState
şunu gösterir NonCompliant
:
"complianceState": "NonCompliant",
"components": null,
"effectiveParameters": "",
"isCompliant": false,
Daha fazla bilgi için az policy state bölümüne gidin.
Kaynakları temizleme
İlke atamasını kaldırmak için aşağıdaki komutu çalıştırın:
az policy assignment delete --name "audit-vm-managed-disks" --scope $rgid
Azure CLI oturumunuzun oturumunu kapatmak için:
az logout
Sonraki adımlar
Bu hızlı başlangıçta, Azure ortamınızda uyumlu olmayan kaynakları belirlemek üzere bir ilke tanımı atadınız.
Kaynak uyumluluğunu doğrulayan ilkeler atama hakkında daha fazla bilgi edinmek için öğreticiye geçin.