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:

İ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ı resourceShouldBeCompliantInitgiriş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.fffffffZolmalı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 resourceSelectorsdestekler. 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