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 muafiyetler özelliği, bir kaynak hiyerarşisini veya tek bir kaynağı girişimlerin veya tanımların değerlendirilmesinden muaf tutma amacıyla kullanılır.
Muaf tutulan kaynaklar genel uyumluluk açısından sayılır, ancak değerlendirilemez veya geçici bir feragate sahip olamaz. Daha fazla bilgi için Azure İlkesinde uygulanabilirliği anlama bölümüne bakın. Azure İlkeleri muafiyetleri aşağıdaki Resource Manager modları ile de çalışır: Microsoft.Kubernetes.Data, Microsoft.KeyVault.Data, ve Microsoft.Network.Data.
İlke muafiyeti oluşturmak için JavaScript Nesne Gösterimi'ni (JSON) kullanırsınız. İlke muafiyeti şunlar için öğeler içerir:
- görünen ad
- Açıklama
- meta veriler
- politika ataması
- girişim içindeki ilke tanımları
- muafiyet kategorisi
- Süresinin dolması
- kaynak seçicileri
- atama kapsamı doğrulaması
İlke muafiyeti, kaynak hiyerarşisinde bir alt nesne olarak veya muafiyet verilen tekil kaynak üzerinde oluşturulur. Muafiyetler Kaynak Sağlayıcısı modu bileşen düzeyinde oluşturulamaz. Muafiyetin uygulandığı üst kaynak kaldırılırsa, muafiyet de kaldırılır.
Örneğin, aşağıdaki JSON, bir kaynağın feragat kategorisindeki ilke muafiyetini, resourceShouldBeCompliantInit adlı girişim atamasına nasıl uygulandığını gösterir. Kaynak, girişimdeki ilke tanımlarından yalnızca ikisinden muaftır: özel ilke tanımı ( : customOrgPolicy) ve policyDefinitionReferenceId yerleşik ilke tanımı ( requiredTags : ):policyDefinitionReferenceIdallowedLocations
{
"id": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Authorization/policyExemptions/resourceIsNotApplicable",
"apiVersion": "2020-07-01-preview",
"name": "resourceIsNotApplicable",
"type": "Microsoft.Authorization/policyExemptions",
"properties": {
"displayName": "This resource is scheduled for deletion",
"description": "This resources is planned to be deleted by end of quarter and has been granted a waiver to the policy.",
"metadata": {
"requestedBy": "Storage team",
"approvedBy": "IA",
"approvedOn": "2020-07-26T08:02:32.0000000Z",
"ticketRef": "4baf214c-8d54-4646-be3f-eb6ec7b9bc4f"
},
"policyAssignmentId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
"policyDefinitionReferenceId": [
"requiredTags",
"allowedLocations"
],
"exemptionCategory": "waiver",
"expiresOn": "2020-12-31T23:59:00.0000000Z",
"assignmentScopeValidation": "Default"
}
}
Görünen ad ve açıklama
Politika muafiyetini belirlemek ve belirli bir kaynakla kullanımına ilişkin bağlam sağlamak için displayName ve description kullanırsınız.
displayNameen fazla 128 karakter uzunluğunda ve en fazla 512description.
Meta veri
özelliği, metadata ilgili bilgileri depolamak için gereken tüm alt özelliklerin oluşturulmasına olanak tanır. Örnekte, özellikler requestedBy, approvedBy, approvedOn ve ticketRef muafiyeti kimin istediği, kimin ne zaman onayladığı ve talep için iç izleme bileti hakkında bilgi sağlamak amacıyla müşteri değerlerini içerir. Bu metadata özellikler örnektir, ancak gerekli değildir ve metadata bu alt özelliklerle sınırlı değildir.
Politika atama kimliği
Bu alan ilke atamasının veya girişim atamasının tam yol adı olmalıdır.
policyAssignmentId bir dizedir ve dizi değildir. Bu özellik, üst kaynak hiyerarşisinin veya tek tek kaynağın hangi atamadan muaf tutula olduğunu tanımlar.
İlke tanımı kimlikleri
Eğer policyAssignmentId bir girişim ataması içinse, policyDefinitionReferenceId özelliği, inisiyatifteki hangi ilke tanımına konu kaynağın muafiyeti olduğunu belirtmek için kullanılabilir. Kaynak bir veya daha fazla dahil edilen ilke tanımından muaf tutulabileceğinden, bu özellik bir dizidir. Değerler, alanlardaki girişim tanımındaki policyDefinitions.policyDefinitionReferenceId değerlerle eşleşmelidir.
Muafiyet kategorisi
İki muafiyet kategorisi vardır ve muafiyetleri gruplandırmak için kullanılır:
- Hafifletildi: Politika amacı başka bir yöntem aracılığıyla karşılandığından muafiyet verildi.
- Feragat: Kaynağın uyumsuzluk durumu geçici olarak kabul edildiğinden muafiyet verilir. Bu kategoriyi kullanmanın bir diğer nedeni, bir kaynağı veya kaynak hiyerarşisini girişimdeki bir veya daha fazla tanımın dışında tutmaktır, ancak girişimin tamamından dışlanmamalıdır.
Süre Sonu
Bir kaynak hiyerarşisinin veya tek bir kaynağın artık atamadan muaf tutulmayacağını ayarlamak için özelliğini ayarlayın expiresOn . Bu isteğe bağlı özellik Evrensel ISO 8601 DateTime biçiminde yyyy-MM-ddTHH:mm:ss.fffffffZolmalıdır.
Not
İlke muafiyeti belirtilen tarihe expiresOn ulaşıldığında silinmez. Nesne kayıt tutma için korunur, ancak muafiyet artık kabul edilmez.
Kaynak seçiciler
Muafiyetler, atamalarda olduğu gibi aynı şekilde işleyen isteğe bağlı bir özelliği resourceSelectors destekler. özelliği, kaynak türüne, kaynak konumuna veya kaynağın bir konuma sahip olup olmadığına bağlı olarak belirli kaynak alt kümelerine bir muafiyetin aşamalı olarak dağıtılmasına veya geri alınmasına olanak tanır. Kaynak seçicileri kullanma hakkında daha fazla ayrıntı atama yapısında bulunabilir. Aşağıdaki JSON, kaynak seçicileri kullanan örnek bir muafiyettir. Bu örnekte, yalnızca içindeki westcentralus kaynaklar ilke atamasından muaf tutulur:
{
"properties": {
"policyAssignmentId": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyAssignments/CostManagement",
"policyDefinitionReferenceId": [
"limitSku",
"limitType"
],
"exemptionCategory": "Waiver",
"resourceSelectors": [
{
"name": "TemporaryMitigation",
"selectors": [
{
"kind": "resourceLocation",
"in": [
"westcentralus"
]
}
]
}
]
},
"systemData": { ...
},
"id": "/subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM",
"type": "Microsoft.Authorization/policyExemptions",
"name": "DemoExpensiveVM"
}
İlke muafiyetleri nesnesinde aşağıdaki kaynak seçiciler kinds desteklenir:
- resourceLocation: Bu özellik, kaynakların konumuna göre seçilmek için kullanılır. resourceWithoutLocation ile aynı kaynak seçicide kullanılamaz.
- resourceType: Bu özellik, kaynakları türlerine göre seçmek için kullanılır.
- resourceWithoutLocation: Bu özellik, konumu olmayan abonelik düzeyindeki kaynakları seçmek için kullanılır. Şu anda yalnızca subscriptionLevelResources desteklemektedir. resourceLocation ile aynı kaynak seçicide kullanılamaz.
- in: Belirtilen tür için izin verilen değerlerin listesi. notIn ile kullanılamaz. En fazla 50 değer içerebilir.
- notIn: Belirtilen tür için izin verilmeyen değerlerin listesi. ile birlikte kullanılamaz. En fazla 50 değer içerebilir.
- userPrincipalId: İzin verilen kullanıcı nesnesi kimliklerinin listesi istekte muaf tutulabilir. Bu, tek bir kullanıcı, MSI veya hizmet sorumlusuyla ilişkilendirilebilir.
- groupPrincipalId: İzin verilen güvenlik grubu kimliklerinin listesi istekte muaf tutulabilir. Kaynak seçici birden çok seçici içerebilir. Kaynak seçiciye uygulanabilmesi için kaynağın tüm seçicileri tarafından belirtilen gereksinimleri karşılaması gerekir. Ayrıca, tek bir atamada en fazla 10 kaynakSelector belirtilebilir. Kapsam içi kaynaklar, bu kaynak seçicilerden herhangi birini karşıladığında değerlendirilir.
Kimlik temelli muafiyetler
Belirli bir hizmet sorumlusunun, MSI'nın, kullanıcının veya güvenlik grubunun ilke atamasının zorlamasını atlamasına olanak tanımak için muafiyet yapısı içinde userPrincipalId ve groupPrincipalId seçici türlerini kullanabilirsiniz.
Yüksek ayrıcalıklı bir grup dışında yalnızca A ailesi VM'lerinin dağıtılabilmesini sağlamak için aboneliğinizdeki yerleşik ilke tanımını Allowed virtual machine size SKUs atamak istediğiniz bir örnek alın. Kuruluşunuzdaki bu grubu bu zorlamadan muaf tutabilmek için kimlik tabanlı koşulları kullanabilirsiniz.
Bu, kimlik tabanlı muafiyet örneğidir:
"properties": {
"policyAssignmentId": "/subscriptions/<subscriptionID>/providers/Microsoft.Authorization/policyAssignments/CostMgmt",
"resourceSelectors": [{
"name": "AllowedGroups",
"selectors": [{
"kind": "groupPrincipalId",
"in": [ "<HighPrivEngGroupId>" ]
},
]
}
],
"exemptionCategory": "Waiver",
"displayName": "Exempt high SKU VM",
"description": "Exempt high SKU VM for business need"
}
Atama kapsamı doğrulaması (önizleme)
Çoğu senaryoda muafiyet kapsamı, ilke atama kapsamı dahilinde veya altında olduğundan emin olmak için doğrulanır. İsteğe bağlı assignmentScopeValidation özellik, bir muafiyetin bu doğrulamayı atlamasına izin verebilir ve atama kapsamının dışında oluşturulabilir. Bu doğrulama, bir aboneliğin bir yönetim grubundan (MG) diğerine taşınması gereken ancak abonelik içindeki kaynakların özellikleri nedeniyle taşımanın ilke tarafından engellendiği durumlar için tasarlanmıştır. Bu senaryoda, mevcut MG'deki abonelik için, kaynaklarını hedef MG'deki bir politika atamasından muaf tutacak bir muafiyet oluşturulabilir. Bu şekilde, abonelik hedef MG'ye taşındığında, kaynaklar söz konusu ilke atamasından zaten muaf olduğundan işlem engellenmez. Bu özelliğin kullanımı aşağıdaki örnekte gösterilmiştir:
{
"properties": {
"policyAssignmentId": "/providers/Microsoft.Management/managementGroups/{mgName}/providers/Microsoft.Authorization/policyAssignments/CostManagement",
"policyDefinitionReferenceId": [
"limitSku",
"limitType"
],
"exemptionCategory": "Waiver",
"assignmentScopeValidation": "DoNotValidate",
},
"systemData": { ...
},
"id": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM",
"type": "Microsoft.Authorization/policyExemptions",
"name": "DemoExpensiveVM"
}
assignmentScopeValidation için izin verilen değerler Default ve DoNotValidate değerleridir. Belirtilmezse, varsayılan doğrulama işlemi gerçekleşir.
Gerekli izinler
İlke muafiyeti nesnelerini yönetmek için gereken Azure rol tabanlı erişim denetimi (Azure RBAC) izinleri işlem grubundadır Microsoft.Authorization/policyExemptions . Yerleşik roller Kaynak İlkesi Katkıda Bulunanı ve Güvenlik Yöneticisi, read ve write izinlerine sahiptir. İlke İçgörüleri Veri Yazıcısı (Önizleme) ise read iznine sahiptir.
Muafiyet vermenin etkisi nedeniyle muafiyetler ek güvenlik önlemlerine sahiptir. Kaynak hiyerarşisinde veya tek bir kaynakta Microsoft.Authorization/policyExemptions/write işlemini gerektirmenin yanı sıra, muafiyetin yaratıcısının hedef atamada exempt/Action fiiline sahip olması zorunludur.
Muafiyet oluşturma ve yönetme
Muafiyetler, bir kaynağın veya kaynak hiyerarşisinin hala izlenmesi ve başka bir şekilde değerlendirilmesi gereken zamana bağlı veya belirli senaryolar için önerilir, ancak uyumluluk açısından değerlendirilmemesi gereken belirli bir neden vardır. Örneğin, bir ortamda 'denetim' olarak ayarlanmış efektle atanmış yerleşik tanım Storage accounts should disable public network access (KIMLIK: b2982f36-99f2-4db5-8eff-283140c09693) varsa. Uyumluluk değerlendirmesinin ardından kaynak StorageAcc1 uyumsuzdur, ancak StorageAcc1 iş amacıyla genel ağ erişimini etkinleştirmesi gerekir. Bu sırada, hedefleyen StorageAcc1bir muafiyet kaynağı oluşturmak için bir istek gönderilmelidir. Muafiyet oluşturulduktan sonra, StorageAcc1 uyumluluk gözden geçirmesinde muaf olarak gösterilir.
Tüm uygun öğelerin uygun şekilde muaf tutulduğundan emin olmak ve muafiyete uygun olmayanları hemen kaldırmak için muafiyetlerinizi düzenli olarak yeniden ziyaret edin. Bu sırada süresi dolan muafiyet kaynakları da silinebilir.
Uyum alt eyaleti
Bir kaynakta muafiyet uygulandığında, uyum durumuMuaftır. Uyum alt durumu, muafiyet kaldırılsaydı kaynağın uyum durumunun ne olacağını gösterir. Uyum alt eyaleti yalnızca muaf kaynaklar için doldurulur. Muaf olmayan kaynakların boş bir uyum alt eyaleti vardır.
Uyum alt durumu, Policy Insights uyumluluk sonucunun bir parçasıdır. Bu, poliçe muafiyet kaynağında yapılandırılan bir özellik değildir.
Azure portalında uyumluluk alt durumunu görüntülemek için:
- Policy Compliance'a> gidin ve ardından bir politika ataması seçin.
- Görevin uyum raporunda, sütunları düzenle seçeneğini seçin.
- Uyum alt durumu ekleyin, sütunu gerektiği gibi düzenleyin ve ardından Kaydet'i seçin.
Ayrıca, Uyumluluk detayları sütununda Waiver veya Mitigated değerini seçerek detaylar panelinde uyum alt durumunu görebilirsiniz.
Organizasyon çapında raporlama için, Azure Kaynak Grafı içinde bu properties.stateDetails.complianceSubState özelliği sorgulayın. Aşağıdaki sorgu, muaf kaynakları ve uyum alt eyaletlerini listeler:
policyresources
| where type == "microsoft.policyinsights/policystates"
| extend complianceState = tostring(properties.complianceState)
| extend complianceSubState = tostring(properties.stateDetails.complianceSubState),
resourceId = tostring(properties.resourceId),
policyAssignmentId = tostring(properties.policyAssignmentId)
| where complianceState == "Exempt"
| project resourceId, policyAssignmentId, complianceState, complianceSubState
Sonraki adımlar
- Muafiyetler hakkındaki Azure Kaynak Grafı sorguları hakkında bilgi edinin.
- Dışlamalar ve muafiyetler arasındaki fark hakkında bilgi edinin.
- Microsoft.Authorization policyExemptions kaynak türünü gözden geçirin.
- Uyumluluk verilerini almayı öğrenin.
- Uyumlu olmayan kaynakları düzeltmeyi öğrenin.