Hızlı başlangıç: REST API ile uyumlu olmayan kaynakları belirlemek için bir ilke ataması oluşturma
Azure’da uyumluluğu anlamanın ilk adımı, kaynaklarınızın durumunu belirlemektir. Bu hızlı başlangıç, yönetilen disk kullanmayan sanal makineleri belirlemek üzere ilke ataması oluşturma işleminde size yol gösterir.
Bu işlemin sonunda, yönetilen disk kullanmayan sanal makineleri başarılı bir şekilde belirlemiş olacaksınız. Bu sanal makineler, ilke ataması ile uyumsuzdur.
REST API, Azure kaynaklarını oluşturmak ve yönetmek için kullanılır. Bu kılavuz, bir ilke ataması oluşturmak ve Azure ortamınızda uyumlu olmayan kaynakları belirlemek için REST API kullanır.
Önkoşullar
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Henüz yapmadıysanız, Armclient' ı yüklemeyin. Azure Resource Manager tabanlı REST API 'Lerine HTTP istekleri gönderen bir araçtır. Ayrıca, bekleyen belgelerde "dene" özelliğini veya PowerShell 'in Invoke-RestMethod veya Postmangibi araçları kullanabilirsiniz.
Azure Cloud Shell kullanma
Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell’i barındırır. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Bu makaledeki kodu, yerel ortamınıza herhangi bir şey yüklemeye gerek kalmadan çalıştırmak için Cloud Shell’in önceden yüklenmiş komutlarını kullanabilirsiniz.
Azure Cloud Shell’i başlatmak için:
| Seçenek | Örnek/Bağlantı |
|---|---|
| Kod bloğunun sağ üst köşesindeki Deneyin’i seçin. Deneyin seçeneği belirlendiğinde, kod otomatik olarak Cloud Shell’e kopyalanmaz. | ![]() |
| Cloud Shell’i tarayıcınızda açmak için https://shell.azure.com bölümüne gidin veya Cloud Shell’i Başlat düğmesini seçin. | ![]() |
| Azure portalın sağ üst köşesindeki menü çubuğunda yer alan Cloud Shell düğmesini seçin. | ![]() |
Azure Cloud Shell’de bu makaledeki kodu çalıştırmak için:
Cloud Shell’i başlatın.
Kodu kopyalamak için kod bloğunda Kopyala düğmesini seçin.
Windows ve Linux sisteminde Ctrl+Shift+V tuşlarını kullanarak veya macOS’de Cmd+Shift+V tuşlarını kullanarak kodu Cloud Shell oturumuna yapıştırın.
Kodu çalıştırmak için Enter tuşuna basın.
İlke ataması oluşturma
Bu hızlı başlangıçta, bir ilke ataması oluşturup yönetilen diskler () tanımını kullanmayan denetim sanal makinelerini atarsınız 06a78e20-9358-41c9-923c-fb736d382a4d . Bu ilke tanımı, ilke tanımında ayarlanan koşullarla uyumlu olmayan kaynakları belirler.
İlke ataması oluşturmak için aşağıdaki komutu çalıştırın:
REST API URI'si
PUT https://management.azure.com/{scope}/providers/Microsoft.Authorization/policyAssignments/audit-vm-manageddisks?api-version=2021-09-01İstek Gövdesi
{ "properties": { "displayName": "Audit VMs without managed disks Assignment", "description": "Shows all virtual machines not using managed disks", "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/06a78e20-9358-41c9-923c-fb736d382a4d", "nonComplianceMessages": [ { "message": "Virtual machines should use a managed disk" } ] } }
Önceki uç nokta ve istek gövdesi aşağıdaki bilgileri kullanır:
REST API URı 'SI:
- Kapsam - Kapsam, ilke atamasının hangi kaynaklarda veya kaynak gruplarında uygulanacağını belirler. Bir yönetim grubundan tek bir kaynağa kadar değişebilir.
{scope}Aşağıdaki desenlerden biriyle değiştirdiğinizden emin olun:- Yönetim grubu:
/providers/Microsoft.Management/managementGroups/{managementGroup} - Abonelik:
/subscriptions/{subscriptionId} - Kaynak grubu:
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName} - Kaynak
/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/[{parentResourcePath}/]{resourceType}/{resourceName}
- Yönetim grubu:
- Ad - Atamanın gerçek adı. Bu örnekte audit-vm-manageddisks kullanıldı.
İstek gövdesi:
- Görünen Ad - Bu ilke atamasının görünen adı. Bu durumda, yönetilen disk ataması olmadan VM 'Leri denetleme kullanıyorsunuz demektir.
- Açıklama -ilkenin ne yaptığını veya neden bu kapsama atandığını daha derin bir açıklama.
- Policydefinitionıd -atamayı oluşturmak için kullandığınız Ilke tanım kimliği. Bu durumda, yönetilen diskleri kullanmayan ilke tanımı denetim VM'lerinin kimliğidir.
- karmaşık olmayan iletiler -uyumsuzluk veya uyumlu olmayan şekilde değerlendirilme nedeniyle bir kaynak reddedildiğinde görülen iletiyi ayarlayın. Daha fazla bilgi için bkz. atama uyumsuzluk iletileri.
Uyumlu olmayan kaynakları belirleme
Bu yeni atama altında uyumlu olmayan kaynakları görüntülemek için, bir JSON dosyasına çıktı olan uyumlu olmayan kaynakların kaynak kimliklerini almak için aşağıdaki komutu çalıştırın:
POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/policyDefinitions/06a78e20-9358-41c9-923c-fb736d382a4d/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$filter=IsCompliant eq false and PolicyAssignmentId eq 'audit-vm-manageddisks'&$apply=groupby((ResourceId))"
Sonuçlarınız aşağıdaki örneğe benzer:
{
"@odata.context": "https://management.azure.com/subscriptions/<subscriptionId>/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest",
"@odata.count": 3,
"value": [{
"@odata.id": null,
"@odata.context": "https://management.azure.com/subscriptions/<subscriptionId>/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
"ResourceId": "/subscriptions/<subscriptionId>/resourcegroups/<rgname>/providers/microsoft.compute/virtualmachines/<virtualmachineId>"
},
{
"@odata.id": null,
"@odata.context": "https://management.azure.com/subscriptions/<subscriptionId>/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
"ResourceId": "/subscriptions/<subscriptionId>/resourcegroups/<rgname>/providers/microsoft.compute/virtualmachines/<virtualmachine2Id>"
},
{
"@odata.id": null,
"@odata.context": "https://management.azure.com/subscriptions/<subscriptionId>/providers/Microsoft.PolicyInsights/policyStates/$metadata#latest/$entity",
"ResourceId": "/subscriptions/<subscriptionName>/resourcegroups/<rgname>/providers/microsoft.compute/virtualmachines/<virtualmachine3Id>"
}
]
}
Sonuçlar, Azure portalı görünümünde Uyumlu olmayan kaynaklar bölümünde gördüklerinize benzer.
Kaynakları temizleme
Oluşturulan atamayı kaldırmak için aşağıdaki komutu kullanın:
DELETE https://management.azure.com/{scope}/providers/Microsoft.Authorization/policyAssignments/audit-vm-manageddisks?api-version=2021-09-01
{scope}İlke atamasını ilk oluşturduğunuzda kullandığınız kapsamla değiştirin.
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.
Yeni kaynakların uyumlu olduğunu doğrulamak üzere ilke atama hakkında daha fazla bilgi edinmek için öğreticiye geçin:


