Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure İlkesi en büyük avantajlarından biri, bir abonelik veya abonelik yönetim grubundaki kaynaklar üzerinde sağladığı içgörü ve denetimlerdir. Bu denetim kaynakların yanlış konumda oluşturulmasını engelleyebilir, ortak ve tutarlı etiket kullanımını zorunlu kılabilir veya uygun yapılandırmalar ve ayarlar için mevcut kaynakları denetleyebilir. her durumda Azure İlkesi ortamınızın uyumluluk durumunu anlamanıza olanak tanıyan veriler oluşturur.
Uyumluluk verilerini gözden geçirmeden önce, Azure İlkesi uyumluluk durumlarını anlamak önemlidir.
İlke ve girişim atamalarınız tarafından oluşturulan uyumluluk bilgilerine erişmenin birkaç yolu vardır:
- Azure portalı.
- Komut satırı.
- Azure Monitor günlükleri.
- Azure Kaynak Grafı sorguları.
Uyumlulukla ilgili raporlama yöntemlerine bakmadan önce, uyumluluk bilgilerinin ne zaman güncelleştirildiğini ve değerlendirme döngüsünü tetikleyen sıklığı ve olayları inceleyelim.
Değerlendirme tetikleyicileri
Tamamlanan değerlendirme döngüsünün sonuçları, Microsoft.PolicyInsights Kaynak Sağlayıcısı'nda PolicyStates ve PolicyEvents işlemleri aracılığıyla kullanılabilir. Azure Policy Insights REST API'sinin işlemleri hakkında daha fazla bilgi için bkz. Azure Policy Insights.
Atanan ilkelerin ve girişimlerin değerlendirilmesi çeşitli olayların sonucu olarak gerçekleşir:
- Politika veya girişim yeni bir kapsama atanır. Atamanın tanımlanan kapsama uygulanması yaklaşık beş dakika sürer, ardından değerlendirme döngüsü yeni atanan ilkeye veya girişime göre geçerli kaynaklar için başlar. Kullanılan etkilere bağlı olarak, kaynaklar uyumlu, uyumlu değil, muaf veya bilinmiyor olarak işaretlenir. Büyük bir kaynak kapsamına göre değerlendirilen büyük bir ilke veya girişim zaman alabilir, bu nedenle değerlendirme döngüsünün ne zaman tamamlayacağına ilişkin önceden tanımlanmış bir beklenti yoktur. Tamamlandıktan sonra, güncelleştirilmiş uyumluluk sonuçları portalda ve Yazılım Geliştirme Setleri'nde (SDK) kullanılabilir.
- Daha önce bir kapsama atanmış olan bir politika veya girişim güncellenir. Bu senaryonun değerlendirme döngüsü ve zamanlaması, bir yetki alanına yeni bir görev ataması durumundaki ile aynıdır.
- Azure Resource Manager, REST API veya desteklenen bir SDK aracılığıyla bir atamayla bir kapsamda bir kaynak dağıtılır veya güncellenir. Bu senaryoda, tek tek kaynak için efekt olayı (ekleme, denetim, reddetme, dağıtma) ve uyumlu durum bilgileri yaklaşık 15 dakika sonra portalda ve SDK'larda kullanılabilir hale gelir. Bu olay diğer kaynakların değerlendirilmesine neden olmaz.
- Abonelik (kaynak türü), abonelik kaynak türünü
Microsoft.Resources/subscriptionshedefleyen atanmış bir ilke tanımıyla bir yönetim grubu hiyerarşisi içinde oluşturulur veya taşınır. Abonelik tarafından desteklenen etkilerin (audit, auditIfNotExist, deployIfNotExists, modify) değerlendirilmesi, günlüğe kaydedilmesi ve varsa herhangi bir düzeltme eylemi yapılması yaklaşık 30 dakika sürer. - İlke muafiyeti oluşturulur, güncelleştirilir veya silinir. Bu senaryoda, karşılık gelen atama tanımlı muafiyet kapsamı için değerlendirilir.
- Standart uyumluluk değerlendirme döngüsü. Her 24 saatte bir ödevler otomatik olarak yeniden değerlendirilir. Birçok kaynağın büyük bir ilkesi veya girişimi zaman alabilir, bu nedenle değerlendirme döngüsünün ne zaman tamamlayacağına ilişkin önceden tanımlanmış bir beklenti yoktur. İşlem tamamlandıktan sonra güncelleştirilmiş uyumluluk sonuçları portalda ve SDK'larda kullanılabilir.
- Makine yapılandırma kaynak sağlayıcısı, yönetilen bir kaynak tarafından uyumluluk ayrıntılarıyla güncelleştirilir.
- İsteğe bağlı tarama.
Not
Tasarım gereği Azure İlkesi, kaynak sağlayıcısı altındaki tüm kaynakları ilke değerlendirmesinden muaf tutar; ancak abonelikler ve kaynak grupları değerlendirilebilir.
İsteğe bağlı değerlendirme taraması
Bir abonelik veya kaynak grubu için değerlendirme taraması REST, Azure CLI, Azure PowerShell, Visual Studio Code için Azure İlkesi uzantısı veya Azure İlkesi Uyumluluk Taraması GitHub Eylemi ile başlatılabilir. İsteğe bağlı taramalar, kaynakların atanan tüm ilkelere göre değerlendirildiği için, çalıştırılması uzun süren asenkron bir işlemdir.
Not
Tüm Azure kaynak sağlayıcıları isteğe bağlı değerlendirme taramalarını desteklemez. Örneğin, Azure Sanal Ağ Manager (AVNM) şu anda el ile tetikleyicileri veya standart ilke uyumluluğu değerlendirme döngüsünü (günlük taramalar) desteklememektedir.
REST kullanarak isteğe bağlı değerlendirme taraması
Asenkron bir işlem olarak, taramayı başlatmak için REST uç noktası, taramanın tamamlanmasını beklemez. Bunun yerine, istenen değerlendirmenin durumunu sorgulamak için bir URI sağlar.
Her bir REST API URI'sinde kendi değerlerinizle değiştirmeniz gereken değişkenler bulunur:
-
{resourceGroupName}:Kaynak grubunuzun adıyla değiştirin. -
{subscriptionId}: Abonelik kimliğinizle değiştirin.
Tarama, abonelikteki veya kaynak grubundaki kaynakların değerlendirilmesini destekler. Aşağıdaki URI yapılarını kullanarak REST API POST komutuyla kapsama göre tarama başlatın:
Aboneliği değerlendirmek için aşağıdaki komutu kullanın. Komutunu tarayıcınızdan İlke Durumları - Abonelik Değerlendirmesini Tetikle seçeneğini kullanarak çalıştırabilirsiniz.
POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation?api-version=2019-10-01
Kaynak grubunu değerlendirmek için aşağıdaki komutu kullanın. Tarayıcınızdan İlke Durumları - Kaynak Grubu Değerlendirmesini Tetikleyin komutunu, Deneyin seçeneğini kullanarak çalıştırabilirsiniz.
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation?api-version=2019-10-01
Abonelik ve kaynak grubu REST API çağrıları 202 Kabul edildi durumu döndürür. Yanıt üst bilgisinde aşağıdaki biçime sahip bir location özellik bulunur:
https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/asyncOperationResults/{ResourceContainerGUID}?api-version=2019-10-01
{ResourceContainerGUID} istenen kapsam için statik olarak oluşturulur. Kapsam zaten isteğe bağlı tarama çalıştırıyorsa yeni bir tarama başlatılmaz. Bunun yerine, yeni isteğe durum için aynı {ResourceContainerGUID}location URI verilir. URI'ye REST API GET komutu gönderildiğinde, değerlendirme devam ederken bir location yanıtı döner. Değerlendirme taraması tamamlandığında 200 Tamam durumu döndürür. Tamamlanan taramanın gövdesi, şu duruma sahip bir JSON yanıtıdır: succeeded.
Azure CLI kullanarak isteğe bağlı değerlendirme taraması
Uyumluluk taraması, az policy state trigger-scan komutuyla başlatılır.
Varsayılan olarak, az policy state trigger-scan geçerli abonelikteki tüm kaynaklar için bir değerlendirme başlatır. Belirli bir kaynak grubunda değerlendirme başlatmak için parametresini resource-group kullanın. Aşağıdaki örnek, bir kaynak grubu için geçerli abonelikte bir uyumluluk taraması başlatır. "resourceGroupName öğesini kaynak grubunuzun adıyla değiştirin."
az policy state trigger-scan --resource-group "resourceGroupName"
no-wait parametresine devam ederken zaman uyumsuz işlemin tamamlanmasını beklememeyi seçebilirsiniz.
Azure PowerShell kullanarak isteğe bağlı değerlendirme taraması
Uyumluluk taraması Start-AzPolicyComplianceScan cmdlet'iyle başlatılır.
Varsayılan olarak, Start-AzPolicyComplianceScan geçerli abonelikteki tüm kaynaklar için bir değerlendirme başlatır. Belirli bir kaynak grubunda değerlendirme başlatmak için parametresini ResourceGroupName kullanın. Aşağıdaki örnek, bir kaynak grubu için geçerli abonelikte bir uyumluluk taraması başlatır. "resourceGroupName öğesini kaynak grubunuzun adıyla değiştirin."
Start-AzPolicyComplianceScan -ResourceGroupName 'resourceGroupName'
PowerShell'in sonuç çıktısını sağlamadan önce zaman uyumsuz çağrının tamamlanmasını beklemesini veya arka planda iş olarak çalışmasını sağlayabilirsiniz. Arka planda uyumluluk taraması çalıştırmak üzere bir PowerShell işi kullanmak için parametresini AsJob kullanın ve değerini şu örnekte olduğu gibi bir nesne olarak $job ayarlayın:
$job = Start-AzPolicyComplianceScan -AsJob
Nesneyi kontrol ederek işin durumunu öğrenebilirsiniz. İşin türü Microsoft.Azure.Commands.Common.AzureLongRunningJob'dir. Kullanılabilir özellikleri ve yöntemleri görmek için nesne üzerinde Get-Member kullanın$job.
Uyumluluk taraması çalışırken, $job nesnesinin çıktısı kontrol edilerek aşağıdakiler gibi sonuçlar elde edilir:
$job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
2 Long Running O... AzureLongRunni... Running True localhost Start-AzPolicyCompliance...
Uyumluluk taraması tamamlandığında özellik State Tamamlandı olarak değişir.
Visual Studio Code kullanarak isteğe bağlı değerlendirme taraması
Visual Studio Code için Azure İlkesi uzantısı, belirli bir kaynak için değerlendirme taraması çalıştırabilmektedir. Bu tarama, Azure PowerShell ve REST yöntemlerinden farklı olarak zaman uyumlu bir işlemdir. Ayrıntılar ve adımlar için VS Code uzantısıyla isteğe bağlı değerlendirme bölümüne bkz.
GitHub Actions kullanarak isteğe bağlı değerlendirme taraması
GitHub iş akışınızdan bir veya birden çok kaynakta, kaynak grubunda veya abonelikte isteğe bağlı bir değerlendirme taraması tetikleyip iş akışını kaynakların uyumluluk durumuna göre geçit yapmak için Azure İlkesi Uyumluluk Taraması eylemini kullanın. Ayrıca iş akışını zamanlanmış bir zamanda çalışacak şekilde yapılandırarak en son uyumluluk durumunu uygun bir zamanda alabilirsiniz. İsteğe bağlı olarak GitHub Actions, daha fazla analiz veya arşivleme için taranan kaynakların uyumluluk durumuyla ilgili bir rapor oluşturabilir.
Aşağıdaki örnek bir abonelik için uyumluluk taraması çalıştırır. Abonelik scopes kimliğinizi kullanın.
on:
schedule:
- cron: '0 8 * * *' # runs every morning 8am
jobs:
assess-policy-compliance:
runs-on: ubuntu-latest
steps:
- name: Login to Azure
uses: azure/login@v2
with:
creds: ${{secrets.AZURE_CREDENTIALS}}
- name: Check for resource compliance
uses: azure/policy-compliance-scan@v0
with:
scopes: |
/subscriptions/aaaa6a6a-bb7b-cc8c-dd9d-eeeeee0e0e0e
Daha fazla bilgi ve iş akışı örnekleri için bkz GitHub Actions for Azure Policy Compliance Scan repo.
Portal
Azure portalı, ortamınızdaki uyumluluk durumunu görselleştirme ve anlama konusunda grafiksel bir deneyim sunar. İlke sayfasında, Genel Bakış seçeneği hem ilkelerin hem de girişimlerin uyumluluğuyla ilgili kullanılabilir kapsamların ayrıntılarını sağlar. Uyumluluk durumu ve atama başına sayım ile birlikte, son yedi gün içindeki uyumluluğu gösteren bir grafik içerir. Uyumluluk sayfası aynı bilgilerin çoğunu (grafik dışında) içerir, ancak daha fazla filtreleme ve sıralama seçeneği sağlar.
İlke veya girişim farklı kapsamlara atanabildiğinden, tablo her atamanın kapsamını ve atanan tanımın türünü içerir. Her bir atama için uyumsuz kaynakların ve uyumsuz ilkelerin sayısı da sağlanır. Tablodaki bir ilkeyi veya girişimi seçmek, söz konusu atamanın uyumluluğuna daha ayrıntılı bir bakış sağlar.
Kaynak uyumluluğu sekmesindeki kaynakların listesi, geçerli atama için mevcut kaynakların değerlendirme durumunu gösterir. Sekme varsayılan olarak tüm uyumluluk durumlarını kullanır, ancak filtrelenebilir.
Kaynak Sağlayıcısı modu kaynakları için Kaynak uyumluluğu sekmesinde kaynağın seçilmesi bileşen uyumluluk ayrıntılarını açar. Bu sayfa ayrıca bu kaynağa atanan ilkeleri ve değişiklik geçmişini görmek için sekmeler sunar.
Kaynak uyumluluğu sayfasına dönün, daha fazla ayrıntı toplamak istediğiniz olayın satırına sağ tıklayın ve Etkinlik günlüklerini göster'i seçin. Etkinlik günlüğü sayfası açılır ve atamanın ve olayların ayrıntılarını gösteren aramaya önceden filtrelenmiştir. Etkinlik günlüğü, bu olaylar hakkında daha fazla bağlam ve bilgi sağlar.
Not
Uyumluluk sonuçları, yukarıda gösterilen biçimde bile Azure Kaynak Grafiği sorguları ile portaldan dışarı aktarılabilir.
Komut satırı
Portalda sağlanan bilgilerin aynısını REST API, Azure CLI ve Azure PowerShell ile de alabilirsiniz.
REST API
REST API hakkında ayrıntılı bilgi için Azure İlkesi referansına bakın. REST API başvuru sayfalarında, komutu tarayıcıda çalıştırmanıza olanak tanıyan her işlemde Bir Deneyin seçeneği bulunur. Komutları çalıştırmak için Azure CLI veya tercih ettiğiniz REST API istemcisini de kullanabilirsiniz.
Sonuçları özetleme
REST API ile kapsayıcı, tanım veya atamaya göre özetleyebilirsiniz. Azure Policy Insight'ın Abonelik İçin Özetle'sini kullanarak abonelik düzeyinde özetleme örneği verilmiştir:
POST https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/summarize?api-version=2019-10-01
Çıktı, aboneliğin özetini ve özetlenen uyumluluğu nonCompliantResources ve nonCompliantPolicies özelliklerinde sunar. Bu istek, uyumlu olmayan sayıları oluşturan her atama ve her atamanın tanım bilgileri de dahil olmak üzere diğer ayrıntıları sağlar. Hiyerarşideki her ilke nesnesi, bu düzeyde daha fazla ayrıntı almak için kullanılabilecek bir queryResultsUri sağlar.
Kaynaklar için sorgu
Önceki örnekte, value.policyAssignments.policyDefinitions.results.queryResultsUri belirli bir ilke tanımı için tüm uyumlu olmayan kaynaklar için örnek bir URI sağlar.
$filter değerinde ComplianceState, NonCompliant'e eşittir. İlke tanımı için PolicyAssignmentId belirtilir ve ardından PolicyDefinitionId'nin kendisi belirtilir. Filtreye PolicyAssignmentId eklemenin nedeni, PolicyDefinitionId'in farklı kapsamlara sahip çeşitli ilke veya girişim atamalarında mevcut olabilmesidir. Her iki PolicyAssignmentId ve PolicyDefinitionId değerini belirterek, aradığımız sonuçları açık bir şekilde ifade edebiliriz. Daha önce, PolicyStates için latest kullanıyorduk, bu da son 24 saatin from ve to zaman penceresini otomatik olarak ayarlıyordu.
Örnek değer queryResultsUri :
https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyStates/latest/queryResults?api-version=2019-10-01&$from=2025-01-01 04:28:22Z&$to=2025-02-10 04:28:22Z&$filter=ComplianceState eq 'NonCompliant' and PolicyAssignmentId eq '/subscriptions/{subscriptionId}/resourcegroups/rg-tags/providers/microsoft.authorization/policyassignments/37ce239ae4304622914f0c77' and PolicyDefinitionId eq '/providers/microsoft.authorization/policydefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62'
Etkinlikleri görüntüle
Bir kaynak oluşturulduğunda veya güncelleştirildiğinde, bir ilke değerlendirme sonucu oluşturulur. Sonuçlar ilke olayları olarak adlandırılır. Abonelikle ilişkili son ilke olaylarını görüntülemek için aşağıdaki URI'yi kullanın.
https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.PolicyInsights/policyEvents/default/queryResults?api-version=2019-10-01
İlke olaylarını sorgulama hakkında daha fazla bilgi için bkz. Azure İlkesi Olaylar.
Azure CLI
Azure İlkesi için Azure CLI komut grubu REST veya Azure PowerShell'de kullanılabilen işlemlerin çoğunu kapsar. Kullanılabilir komutların tam listesi için bkz . az policy.
En fazla uyumsuz kaynağa sahip en üst sıradaki atanan politikanın durum özetini alın.
az policy state summarize --top 1
En son değerlendirilen kaynağın durum kaydını alın, çıkış varsayılan olarak zaman damgasına göre azalan sıradadır.
az policy state list --top 1
Uyumlu olmayan tüm sanal ağ kaynaklarının ayrıntılarını alın.
az policy state list --filter "ResourceType eq 'Microsoft.Network/virtualNetworks'"
Belirli bir tarihten sonra gerçekleşen uyumlu olmayan sanal ağ kaynaklarıyla ilgili olayları alın.
from parametresini ISO 8601 biçiminde bir tarihle kullanın.
az policy event list --filter "ResourceType eq 'Microsoft.Network/virtualNetworks'" --from '2025-02-10T00:00:00Z'
Azure PowerShell
Azure Cloud Shell'den aşağıdaki komutları çalıştırabilirsiniz.
En fazla uyumsuz kaynağa sahip en üst sıradaki atanan politikanın durum özetini alın.
Get-AzPolicyStateSummary -Top 1
En son değerlendirilen kaynağın durum kaydını alın. Varsayılan çıkış, zaman damgasına göre azalan sıradadır.
Get-AzPolicyState -Top 1
Uyumlu olmayan tüm sanal ağ kaynaklarının ayrıntılarını alın.
Get-AzPolicyState -Filter "ResourceType eq '/Microsoft.Network/virtualNetworks'"
Belirli bir tarihten sonra gerçekleşen uyumlu olmayan sanal ağ kaynaklarıyla ilgili olayları alın.
From parametresini ISO 8601 biçiminde bir tarihle kullanın.
Get-AzPolicyEvent -Filter "ResourceType eq '/Microsoft.Network/virtualNetworks'" -From '2025-02-10'
Çıktı, belirli bir kullanıcıyı almak için Azure PowerShell PrincipalOid cmdlet'inde kullanılabilecek bir Get-AzADUser özelliği içerir. değerini önceki komuttan aldığınız değerle değiştirin {principalOid} .
(Get-AzADUser -ObjectId {principalOid}).DisplayName
Azure İzleyici günlükleri
Aboneliğinize bağlı Etkinlik Log Analytics çözümünden AzureActivitybir Log Analytics çalışma alanınız varsa Kusto sorgularını ve AzureActivity tablosunu kullanarak yeni ve güncelleştirilmiş kaynakların değerlendirilmesinden gelen uyumsuzluk sonuçlarını da görüntüleyebilirsiniz. Azure İzleyici günlüklerindeki ayrıntılarla, uyarılar uyumsuzluk durumunu izlemek üzere yapılandırılabilir.
Azure Kaynak Grafiği
Uyumluluk kayıtları Azure Kaynak Grafı(ARG) içinde depolanır. Veriler ARG sorgularından dışarı aktarılarak ilgilenilen kapsamlara ve ilkelere göre özelleştirilmiş panolar oluşturulabilir. Uyumluluk verilerini ARG aracılığıyla dışarı aktarmak için örnek sorgularımızı gözden geçirin.
Sonraki adımlar
- Azure İlkesi örnekleri gözden geçirin.
- Azure İlkesi tanımı yapısını gözden geçirin.
- Politikanın etkilerinin anlaşılması konusunu gözden geçirin.
- Program aracılığıyla ilkelerin nasıl oluşturulacağını anlama.
- Uyumlu olmayan kaynakları düzeltmeyi öğrenin.
- Kaynaklarınızı Azure yönetim gruplarıyla düzenleme ile yönetim grubunun ne olduğunu gözden geçirin.