Azure Policy-Ausnahmenstruktur

Die Funktion für Azure Policy-Ausnahmen wird verwendet, um eine Ressourcenhierarchie oder eine einzelne Ressource von der Bewertung von Initiativen oder Definitionen auszunehmen. Ressourcen, die ausgenommen sind, werden auf die allgemeine Konformität angerechnet, können aber nicht ausgewertet werden oder einen vorübergehenden Verzicht aufweisen. Weitere Informationen finden Sie in der Übersicht zu Bereichen in Azure Policy. Azure Policy-Ausnahmen funktionieren nur mit Resource Manager-Modi, nicht mit Ressourcenanbieter-Modi.

Sie verwenden JSON (JavaScript Object Notation), um eine Richtlinienausnahme zu erstellen. Die Richtlinienausnahme enthält Elemente für Folgendes:

  • Anzeigename
  • description
  • metadata
  • Richtlinienzuweisung
  • Richtliniendefinitionen in einer Initiative
  • Ausnahmekategorie
  • expiration

Hinweis

Eine Richtlinienausnahme wird als untergeordnetes Objekt in der Ressourcenhierarchie oder der einzelnen Ressource erstellt, für die die Ausnahme gewährt wird. Das Ziel wird daher nicht in die Ausnahmedefinition eingeschlossen. Wenn die übergeordnete Ressource, für die die Ausnahme gilt, entfernt wird, wird auch die Ausnahme entfernt.

Der folgende JSON-Code zeigt ein Beispiel für eine Richtlinienausnahme in der Kategorie Verzicht bei einer Ressource für eine Initiativenzuweisung mit dem Namen resourceShouldBeCompliantInit. Die Ressource ist nur von zwei der Richtliniendefinitionen in der Initiative ausgenommen, der benutzerdefinierten Richtliniendefinition customOrgPolicy (Verweis requiredTags) und der integrierten Richtliniendefinition Zulässige Standorte (ID: e56962a6-4747-49cd-b67b-bf8b01975c4c, Referenz 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"
    }
}

Codeausschnitt der entsprechenden Initiative mit den übereinstimmenden policyDefinitionReferenceIds, die von der Richtlinienausnahme verwendet werden:

"policyDefinitions": [
    {
        "policyDefinitionId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyDefinitions/customOrgPolicy",
        "policyDefinitionReferenceId": "requiredTags",
        "parameters": {
            "reqTags": {
                "value": "[parameters('init_reqTags')]"
            }
        }
    },
    {
        "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c",
        "policyDefinitionReferenceId": "allowedLocations",
        "parameters": {
            "listOfAllowedLocations": {
                "value": "[parameters('init_listOfAllowedLocations')]"
            }
        }
    }
]

Anzeigename und Beschreibung

Mit displayName und description, geben Sie die Richtlinienausnahme und den Kontext für ihre Verwendung mit der spezifischen Ressource an. displayName hat eine maximale Länge von 128 Zeichen, und description hat eine maximale Länge von 512 Zeichen.

Metadaten

Mit der Eigenschaft metadata können Sie untergeordnete Eigenschaften erstellen, die zum Speichern relevanter Informationen benötigt werden. Im obigen Beispiel enthalten die Eigenschaften requestedBy, approvedBy, approvedOn und ticketRef Kundenwerte mit Informationen dazu, wer die Ausnahme wann angefordert hat, sowie ein internes Nachverfolgungsticket für die Anforderung. Diese metadata-Eigenschaften sind Beispiele, aber sie sind nicht erforderlich, und metadata ist nicht auf diese untergeordneten Eigenschaften beschränkt.

Richtlinienzuweisungs-ID

Dieses Feld muss den vollständigen Pfadname einer Richtlinien- oder Initiativenzuweisung enthalten. policyAssignmentId ist eine Zeichenfolge und kein Array. Diese Eigenschaft definiert, von welcher Zuweisung die übergeordnete Ressourcenhierarchie oder einzelne Ressource ausgenommen ist.

Richtliniendefinitions-IDs

Wenn die policyAssignmentId sich auf eine Initiativenzuweisung bezieht, kann mit der policyDefinitionReferenceIds-Eigenschaft angegeben werden, für welche Richtliniendefinitionen in der Initiative eine Ausnahme für die Objektressource gilt. Da die Ressource von einer oder mehreren enthaltenen Richtliniendefinition ausgenommen sein kann, ist diese Eigenschaft ein Array. Die Werte müssen den Werten in der Initiativendefinition in den policyDefinitions.policyDefinitionReferenceId-Feldern entsprechen.

Ausnahmekategorie

Es gibt zwei Ausnahmekategorien, mit deren Hilfe Ausnahmen gruppiert werden können:

  • Gemindert: Die Ausnahme wird gewährt, da die Absicht der Richtlinie durch eine andere Methode erfüllt wird.
  • Verzicht: Die Ausnahme wird gewährt, da der Zustand der Nichtkonformität der Ressource vorübergehend akzeptiert wird. Ein weiterer Grund, diese Kategorie zu verwenden, ist für eine Ressource oder Ressourcenhierarchie, die von einer oder mehreren Definitionen in einer Initiative, aber nicht von der gesamten Initiative ausgeschlossen werden sollte.

Ablauf

Mit der expiresOn-Eigenschaft legen Sie fest, wann eine Ressourcenhierarchie oder eine einzelne Ressource nicht mehr von einer Zuweisung ausgenommen wird. Diese optionale Eigenschaft muss im Universal ISO 8601-DateTime-Format yyyy-MM-ddTHH:mm:ss.fffffffZ angegeben werden.

Hinweis

Die Richtlinienausnahmen werden nicht gelöscht, wenn das durch expiresOn definierte Datum erreicht wird. Das Objekt wird für Aufzeichnungszwecke beibehalten, aber die Ausnahme wird nicht mehr berücksichtigt.

Erforderliche Berechtigungen

Die Azure RBAC-Berechtigungen, die zum Verwalten von Richtlinienausnahmeobjekten erforderlich sind, befinden sich in der Vorgangsgruppe Microsoft.Authorization/policyExemptions. Die integrierten Rollen Mitwirkender bei Ressourcenrichtlinien und Sicherheitsadministrator verfügen beide über die Berechtigungen read und write. Policy Insights-Datenschreiber (Vorschau) verfügt über die Berechtigung read.

Das Gewähren von Ausnahmen hat weitreichende Auswirkungen, daher weisen Ausnahmen zusätzliche Sicherheitsmaßnahmen auf. Es ist nicht nur der Microsoft.Authorization/policyExemptions/write-Vorgang für die Ressourcenhierarchie oder einzelne Ressource erforderlich, sondern der Ersteller der Ausnahme muss auch über das Verb exempt/Action für die Zielzuweisung verfügen.

Nächste Schritte