Estructura de atestación de Azure Policy

Azure Policy utiliza atestaciones para establecer los estados de cumplimiento de los recursos o ámbitos que son objeto de las directivas manuales. También permiten a los usuarios proporcionar metadatos adicionales o establecer vínculos a pruebas que acompañan al estado de cumplimiento atestiguado.

Nota:

Las atestaciones solo se pueden crear y administrar mediante Azure Policy API de Azure Resource Manager (ARM),PowerShell o la CLI de Azure.

Procedimientos recomendados

Las atestaciones se pueden usar para establecer el estado de cumplimiento de un recurso individual para una directiva manual determinada. Esto significa que cada recurso aplicable requiere una atestación por cada asignación de directiva manual. Para facilitar la administración, las directivas manuales se deben diseñar para establecer como destino el ámbito que define el límite de los recursos cuyo estado de cumplimiento debe ser atestiguado.

Por ejemplo, supongamos que una organización divide los equipos por grupo de recursos y cada equipo debe atestiguar el desarrollo de procedimientos para controlar los recursos dentro de ese grupo de recursos. En este escenario, las condiciones de la regla de directiva deben especificar que el tipo sea igual a Microsoft.Resources/resourceGroups. De este modo, se requiere una atestación para el grupo de recursos en lugar de para cada recurso individual del mismo. De forma similar, si la organización divide los equipos por suscripciones, la regla de directiva debe tener Microsoft.Resources/subscriptions como destino.

Normalmente, las evidencias proporcionadas se deben corresponder con los ámbitos pertinentes de la estructura organizativa. Este patrón evita la necesidad de duplicar la evidencia en varias atestaciones. Estas duplicaciones dificultarían la administración de las directivas manuales e indicarían que la definición de directiva tiene como destino los recursos incorrectos.

Atestación de ejemplo

A continuación, se muestra un ejemplo de creación de un nuevo recurso de atestación que establece el estado de cumplimiento de un grupo de recursos que es el destino de una asignación de directiva manual:

PUT http://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.PolicyInsights/attestations/{name}?api-version=2019-10-01

Cuerpo de la solicitud

A continuación se muestra un objeto JSON de recurso de atestación de ejemplo:

"properties": {
    "policyAssignmentId": "/subscriptions/{subscriptionID}/providers/microsoft.authorization/policyassignments/{assignmentID}",
    "policyDefinitionReferenceId": "{definitionReferenceID}",
    "complianceState": "Compliant",
    "expiresOn": "2023-07-14T00:00:00Z",
    "owner": "{AADObjectID}",
    "comments": "This subscription has passed a security audit. See attached details for evidence",
    "evidence": [
        {
          "description": "The results of the security audit.",
          "sourceUri": "https://gist.github.com/contoso/9573e238762c60166c090ae16b814011"
        },
        {
          "description": "Description of the attached evidence document.",
          "sourceUri": "https://storagesamples.blob.core.windows.net/sample-container/contingency_evidence_adendum.docx"
        },
    ],
    "assessmentDate": "2022-11-14T00:00:00Z",
    "metadata": {
         "departmentId": "{departmentID}"
     }
}
Propiedad Descripción
policyAssignmentId Identificador de asignación necesario para el que se establece el estado.
policyDefinitionReferenceId Identificador de referencia de definición opcional, si se encuentra dentro de una iniciativa de directiva.
complianceState Estado deseado de los recursos. Los valores permitidos son Compliant, NonCompliant y Unknown.
expiresOn Fecha opcional en la que el estado de cumplimiento debe revertirse del estado de cumplimiento atestiguado al estado predeterminado.
owner Identificador de objeto de Azure AD opcional de la entidad responsable.
comments Descripción opcional de por qué se establece el estado.
evidence Matriz opcional de vínculos a las pruebas de atestación.
assessmentDate Fecha en la que se evaluaron las pruebas.
metadata Información adicional opcional sobre la atestación.

Dado que las atestaciones son un recurso independiente de las asignaciones de directivas, tienen su propio ciclo de vida. Con la API de ARM, puede ejecutar las operaciones PUT, GET y DELETE para atestaciones. Las atestaciones se quitan si se eliminan la asignación de directiva manual relacionada o el elemento policyDefinitionReferenceId, o si se elimina un recurso que es único para la atestación. Si desea obtener más información, consulte la referencia de la API REST de directiva.

Pasos siguientes