Azure İlkesi muafiyet yapısı
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 bkz. Azure İlkesi'da uygulanabilirliği anlama. Azure İlkesi muafiyetler aşağıdakilerle de çalışırResource Manager modları: 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
- ilke ataması
- girişim içindeki ilke tanımları
- muafiyet kategorisi
- Sona erme
- kaynak seçicileri
- atama kapsamı doğrulaması
İlke muafiyeti, kaynak hiyerarşisinde bir alt nesne olarak oluşturulur veya muafiyet verilen tek tek kaynak. 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 kaynağın feragat kategorisindeki ilke muafiyetini adlı resourceShouldBeCompliantInit
girişim atamasına gösterir. Kaynak, girişimdeki ilke tanımlarından yalnızca ikisinden muaftır: özel ilke tanımı ( policyDefinitionReferenceId
: requiredTags
) ve İzin verilen konumlar yerleşik ilke tanımı ( policyDefinitionReferenceId
: allowedLocations
):customOrgPolicy
{
"id": "/subscriptions/{subId}/resourceGroups/ExemptRG/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",
"policyDefinitionReferenceIds": [
"requiredTags",
"allowedLocations"
],
"exemptionCategory": "waiver",
"expiresOn": "2020-12-31T23:59:00.0000000Z",
"assignmentScopeValidation": "Default"
}
}
Görünen ad ve açıklama
İlke muafiyetini tanımlamak ve belirli bir kaynakla kullanımı için bağlam sağlamak için displayName ve description kullanırsınız. displayName en fazla 128 karakter uzunluğundadır ve açıklama en fazla 512 karakter uzunluğundadır.
Meta veri
Meta veri özelliği, ilgili bilgileri depolamak için gereken alt özelliklerin oluşturulmasına olanak tanır. Örnekte requestedBy, approvedBy, approvedOn ve ticketRef özellikleri, muafiyeti kimin, kimin ne zaman onayladığı ve istek için bir iç izleme bileti hakkında bilgi sağlamak için müşteri değerlerini içerir. Bu meta veri özellikleri örnektir, ancak gerekli değildir ve meta veriler bu alt özelliklerle sınırlı değildir.
İlke ataması 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
bir girişim ataması policyAssignmentId
içinse, konu kaynağının muafiyeti olan girişimdeki ilke tanımlarını belirtmek için policyDefinitionReferenceIds özelliği kullanılabilir. Kaynak, dahil edilen bir veya daha fazla ilke tanımından muaf tutulaa olabileceğ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:
- Azaltılmış: İlke amacı başka bir yöntemle karşılandığından muafiyet verilir.
- Feragat: Kaynağın uyumsuzluk durumu geçici olarak kabul edildiğinden muafiyet verilir. Bu kategoriyi kullanmanın bir diğer nedeni de bir girişimdeki bir veya daha fazla tanımdan dışlanması gereken ancak girişimin tamamından dışlanmaması gereken bir kaynak veya kaynak hiyerarşisidir.
Bitiş tarihi
Bir kaynak hiyerarşisinin veya tek bir kaynağın artık atamadan muaf tutulmayacağını ayarlamak için expiresOn özelliğini ayarlayın. Bu isteğe bağlı özellik Evrensel ISO 8601 DateTime biçiminde yyyy-MM-ddTHH:mm:ss.fffffffZ
olmalıdır.
Not
İlke muafiyetleri tarihe expiresOn
ulaşıldığında silinmez. Nesne kayıt tutma için korunur, ancak muafiyet artık kabul edilmez.
Kaynak seçiciler
Muafiyetler isteğe bağlı bir özelliğini resourceSelectors
destekler. Bu özellik, atamalarda olduğu gibi muafiyetlerde de aynı şekilde çalışır ve kaynak türüne, kaynak konumuna veya kaynağın konumuna bağlı olarak belirli kaynak alt kümelerine bir muafiyetin aşamalı olarak dağıtılması veya geri alınmasına olanak tanır. Kaynak seçicileri kullanma hakkında daha fazla ayrıntı atama yapısında bulunabilir. Kaynak seçicileri kullanan örnek bir muafiyet JSON örneği aşağıda verilmiştir. Bu örnekte, yalnızca içindeki westcentralus
kaynaklar ilke atamasından muaf tutulacaktır:
{
"properties": {
"policyAssignmentId": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyAssignments/CostManagement",
"policyDefinitionReferenceIds": [
"limitSku", "limitType"
],
"exemptionCategory": "Waiver",
"resourceSelectors": [
{
"name": "TemporaryMitigation",
"selectors": [
{
"kind": "resourceLocation",
"in": [ "westcentralus" ]
}
]
}
]
},
"systemData": { ... },
"id": "/subscriptions/{subId}/resourceGroups/demoCluster/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM",
"type": "Microsoft.Authorization/policyExemptions",
"name": "DemoExpensiveVM"
}
Bölgeler örnekteki listeden resourceLocation
eklenebilir veya kaldırılabilir. Kaynak seçiciler, muafiyetlerin nerede ve nasıl oluşturulabileceği ve yönetilebileceği konusunda daha fazla esneklik sağlar.
Atama kapsamı doğrulaması (önizleme)
Çoğu senaryoda, muafiyet kapsamı ilke atama kapsamında 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, bir aboneliğin bir yönetim grubundan (MG) diğerine taşınması gerektiği, ancak abonelik içindeki kaynakların özellikleri nedeniyle taşımanın ilke tarafından engellendiği durumlar için tasarlanmıştır. Bu senaryoda, kaynaklarını hedef MG'deki bir ilke atamasından muaf tutması için geçerli MG'sindeki abonelik için 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ğıda gösterilmiştir:
{
"properties": {
"policyAssignmentId": "/providers/Microsoft.Management/managementGroups/{mgB}/providers/Microsoft.Authorization/policyAssignments/CostManagement",
"policyDefinitionReferenceIds": [
"limitSku", "limitType"
],
"exemptionCategory": "Waiver",
"assignmentScopeValidation": "DoNotValidate",
},
"systemData": { ... },
"id": "/subscriptions/{subIdA}/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 RBAC izinleri işlem grubundadır Microsoft.Authorization/policyExemptions
. Yerleşik Roller Kaynak İlkesi Katkıda Bulunanı ve Güvenlik Yönetici hem ve write
izinlerine hem read
de İlke Analizler Veri Yazıcısı (Önizleme) iznine read
sahiptir.
Muafiyet vermenin etkisi nedeniyle, muafiyetlerin ek güvenlik önlemleri vardır. Kaynak hiyerarşisinde Microsoft.Authorization/policyExemptions/write
veya tek bir kaynakta işlemi gerektirmenin ötesinde, bir muafiyeti oluşturanın hedef atamada fiili olmalıdır exempt/Action
.
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 denetime ayarlanmış efektleatanmış yerleşik tanım Storage accounts should disable public network access
(KIMLIK: b2982f36-99f2-4db5-8eff-283140c09693
) varsa. Uyumluluk değerlendirmesinin ardından "Depolama Acc1" kaynağı uyumlu değildir, ancak Depolama Acc1'in iş amacıyla genel ağ erişimini etkinleştirmesi gerekir. Bu sırada, Depolama Acc1'i hedefleyen bir muafiyet kaynağı oluşturmak için bir istek gönderilmelidir. Muafiyet oluşturulduktan sonra Depolama Acc1 uyumluluk gözden geçirmesinde muaf olarak gösterilir.
Tüm uygun öğelerin uygun şekilde muaf tutulduğundan emin olmak için muafiyetlerinizi düzenli olarak yeniden ziyaret edin ve artık muafiyet için uygun olmayan öğeleri derhal kaldırın. Bu sırada süresi dolan muafiyet kaynakları da silinebilir.
Sonraki adımlar
- Muafiyetler üzerinde Azure Kaynak Grafı sorgularını kullanma.
- Dışlamalar ve muafiyetler arasındaki fark hakkında bilgi edinin.
- Microsoft.Authorization policyExemptions kaynak türünü inceleyin.
- Uyumluluk verilerini almayı öğrenin.
- Uyumlu olmayan kaynakları düzeltmeyi öğrenin.