Criteri di Azure struttura di esenzione

La funzionalità Criteri di Azure esenzioni viene usata per esentare una gerarchia di risorse o una singola risorsa dalla valutazione di iniziative o definizioni. Le risorse che sono esenti per la conformità complessiva, ma non possono essere valutate o hanno una rinuncia temporanea. Per altre informazioni, vedere Informazioni sull'applicabilità in Criteri di Azure. Criteri di Azure esenzioni funzionano anche con quanto segue Modalità di Resource Manager: Microsoft.Kubernetes.Data, Microsoft.KeyVault.Data e Microsoft.Network.Data.

Si usa JavaScript Object Notation (JSON) per creare un'esenzione dei criteri. La definizione dei criteri contiene gli elementi per:

Un'esenzione dei criteri viene creata come oggetto figlio nella gerarchia di risorse o la singola risorsa a cui è stata concessa l'esenzione. Non è possibile creare esenzioni a livello di componente modalità provider di risorse. Se la risorsa padre a cui viene applicata l'esenzione viene rimossa, viene rimossa anche l'esenzione.

Ad esempio, il codice JSON seguente mostra un'esenzione dei criteri nella categoria di rinuncia di una risorsa a un'assegnazione di iniziativa denominata resourceShouldBeCompliantInit. La risorsa è esente da solo due definizioni di criteri nell'iniziativa, la customOrgPolicy definizione dei criteri personalizzata ( policyDefinitionReferenceId: requiredTags) e la definizione dei criteri predefinita Percorsi consentiti ( policyDefinitionReferenceId : allowedLocations):

{
    "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"
    }
}

Nome visualizzato e descrizione

Si usa displayName e la descrizione per identificare l'esenzione dei criteri e specificare il contesto per il relativo uso con la risorsa specifica. displayName ha una lunghezza massima di 128 caratteri e description una lunghezza massima di 512 caratteri.

Metadati

La proprietà dei metadati consente di creare qualsiasi proprietà figlio necessaria per archiviare le informazioni pertinenti. Nell'esempio le proprietà requestedBy, approvedBy, approvedOn e ticketRef contengono i valori dei clienti per fornire informazioni su chi ha richiesto l'esenzione, chi l'ha approvata e quando e un ticket di rilevamento interno per la richiesta. Queste proprietà dei metadati sono esempi, ma non sono necessarie e i metadati non sono limitati a queste proprietà figlio.

ID assegnazione criteri

Questo campo deve essere il nome completo del percorso di un'assegnazione di criteri o di un'assegnazione di iniziativa. policyAssignmentId è una stringa e non una matrice. Questa proprietà definisce l'assegnazione della gerarchia di risorse padre o della singola risorsa esentata.

ID definizione criteri

policyAssignmentId Se è per un'assegnazione di iniziativa, la proprietà policyDefinitionReferenceIds può essere usata per specificare le definizioni di criteri nell'iniziativa a cui la risorsa oggetto ha un'esenzione. Poiché la risorsa può essere esente da una o più definizioni di criteri incluse, questa proprietà è una matrice. I valori devono corrispondere ai valori nella definizione dell'iniziativa nei policyDefinitions.policyDefinitionReferenceId campi.

Categoria di esenzione

Esistono due categorie di esenzione e vengono usate per raggruppare le esenzioni:

  • Mitigato: l'esenzione viene concessa perché la finalità dei criteri viene soddisfatta tramite un altro metodo.
  • Rinuncia: l'esenzione viene concessa perché lo stato di non conformità della risorsa viene temporaneamente accettato. Un altro motivo per usare questa categoria è per una risorsa o una gerarchia di risorse che deve essere esclusa da una o più definizioni in un'iniziativa, ma non deve essere esclusa dall'intera iniziativa.

Scadenza

Per impostare quando una gerarchia di risorse o una singola risorsa non è più esente da un'assegnazione, impostare la proprietà expiresOn . Questa proprietà facoltativa deve essere nel formato yyyy-MM-ddTHH:mm:ss.fffffffZDateTime ISO universale 8601 .

Nota

Le esenzioni dei criteri non vengono eliminate quando viene raggiunta la expiresOn data. L'oggetto viene conservato per la conservazione dei record, ma l'esenzione non viene più rispettata.

Selettori di risorse

Le esenzioni supportano una proprietà resourceSelectorsfacoltativa . Questa proprietà funziona allo stesso modo delle esenzioni eseguite nelle assegnazioni, consentendo l'implementazione graduale o il rollback di un'esenzione per determinati subset di risorse in modo controllato in base al tipo di risorsa, alla posizione della risorsa o al fatto che la risorsa abbia una posizione. Altre informazioni su come usare i selettori di risorse sono disponibili nella struttura di assegnazione. Di seguito è riportato un esempio di json di esenzione, che usa selettori di risorse. In questo esempio, solo le risorse in westcentralus saranno escluse dall'assegnazione dei criteri:

{
    "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"
}

Le aree possono essere aggiunte o rimosse dall'elenco resourceLocation nell'esempio. I selettori di risorse consentono una maggiore flessibilità di dove e come è possibile creare e gestire le esenzioni.

Convalida dell'ambito di assegnazione (anteprima)

Nella maggior parte degli scenari, l'ambito di esenzione viene convalidato per assicurarsi che si trova nell'ambito o nell'ambito dell'assegnazione dei criteri. La proprietà facoltativa assignmentScopeValidation può consentire a un'esenzione di ignorare questa convalida e di essere creata all'esterno dell'ambito di assegnazione. Questa operazione è destinata a situazioni in cui una sottoscrizione deve essere spostata da un gruppo di gestione (MG) a un altro, ma lo spostamento verrebbe bloccato dai criteri a causa delle proprietà delle risorse all'interno della sottoscrizione. In questo scenario, è possibile creare un'esenzione per la sottoscrizione nel relativo mg corrente per esentare le risorse da un'assegnazione di criteri nella mga di destinazione. In questo modo, quando la sottoscrizione viene spostata nell'operatore di gestione di destinazione, l'operazione non viene bloccata perché le risorse sono già escluse dall'assegnazione dei criteri in questione. L'uso di questa proprietà è illustrato di seguito:

{
    "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"
}

I valori consentiti per assignmentScopeValidation sono Default e DoNotValidate. Se non specificato, verrà eseguito il processo di convalida predefinito.

Autorizzazioni necessarie

Le autorizzazioni di Controllo degli accessi in base al ruolo di Azure necessarie per gestire gli oggetti di esenzione dei criteri si trovano nel Microsoft.Authorization/policyExemptions gruppo di operazioni. I ruoli predefiniti Collaboratore criteri di risorsa e Sicurezza Amministrazione dispongono sia delle read autorizzazioni e write sia che Policy Insights Data Writer (anteprima) disponga dell'autorizzazioneread.

Le esenzioni hanno misure di sicurezza aggiuntive a causa dell'impatto della concessione di un'esenzione. Oltre a richiedere l'operazione Microsoft.Authorization/policyExemptions/write sulla gerarchia di risorse o sulla singola risorsa, l'autore di un'esenzione deve avere il exempt/Action verbo per l'assegnazione di destinazione.

Creazione e gestione delle esenzioni

Le esenzioni sono consigliate per scenari specifici o associati al tempo in cui una risorsa o una gerarchia di risorse deve essere ancora monitorata e verrebbe valutata altrimenti, ma esiste un motivo specifico per cui non deve essere valutata la conformità. Ad esempio, se un ambiente ha la definizione Storage accounts should disable public network access predefinita (ID: b2982f36-99f2-4db5-8eff-283140c09693) assegnata con effetto impostato su audit. Dopo la valutazione della conformità, la risorsa "Archiviazione Acc1" non è conforme, ma Archiviazione Acc1 deve avere l'accesso alla rete pubblica abilitato per scopi aziendali. In quel momento, è necessario inviare una richiesta per creare una risorsa di esenzione destinata a Archiviazione Acc1. Dopo aver creato l'esenzione, Archiviazione Acc1 verrà visualizzato come esente nella verifica della conformità.

Rivedere regolarmente le esenzioni per assicurarsi che tutti gli elementi idonei siano adeguatamente esentati e rimossi tempestivamente non più idonei per l'esenzione. In quel momento, anche le risorse di esenzione scadute potrebbero essere eliminate.

Passaggi successivi