Tutorial: Creación y administración de directivas para aplicar el cumplimientoTutorial: Create and manage policies to enforce compliance

Comprender cómo se crean y administran las directivas en Azure es importante para mantener el cumplimiento de los estándares corporativos y los contratos de nivel de servicio.Understanding how to create and manage policies in Azure is important for staying compliant with your corporate standards and service level agreements. En este tutorial, aprenderá a usar Azure Policy para realizar algunas de las tareas más comunes relacionadas con la creación, la asignación y la administración de directivas en toda la organización, como, por ejemplo:In this tutorial, you learn to use Azure Policy to do some of the more common tasks related to creating, assigning, and managing policies across your organization, such as:

  • Asignar una directiva para aplicar una condición a los recursos que se creen en el futuroAssign a policy to enforce a condition for resources you create in the future
  • Crear y asignar una definición de iniciativa para realizar un seguimiento del cumplimiento para varios recursosCreate and assign an initiative definition to track compliance for multiple resources
  • Resolver un recurso que no cumpla o que sea denegadoResolve a non-compliant or denied resource
  • Implementar una nueva directiva en toda la organizaciónImplement a new policy across an organization

Si desea asignar una directiva para identificar el estado de cumplimiento actual de los recursos existentes, en los artículos de inicio rápido se examina cómo hacerlo.If you would like to assign a policy to identify the current compliance state of your existing resources, the quickstart articles go over how to do so. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.If you don't have an Azure subscription, create a free account before you begin.

Asignación de una directivaAssign a policy

El primer paso para aplicar cumplimientos con Azure Policy es asignar una definición de directiva.The first step in enforcing compliance with Azure Policy is to assign a policy definition. Una definición de directiva precisa en qué condiciones se aplica una directiva y qué efecto debe tener.A policy definition defines under what condition a policy is enforced and what effect to take. En este ejemplo, asigne una definición de directiva integrada denominada Require SQL Server version 12.0 (Requerir SQL Server 12.0), para aplicar la condición de que todas las bases de datos SQL Server tengan que ser v12.0 para que satisfagan los requisitos de cumplimiento.In this example, assign a built-in policy definition, called Require SQL Server version 12.0, to enforce the condition that all SQL Server databases must be v12.0 to be compliant.

  1. Inicie el servicio Azure Policy en Azure Portal. Para ello, haga clic en Todos los servicios y, a continuación, busque y seleccione Directiva.Launch the Azure Policy service in the Azure portal by clicking All services, then searching for and selecting Policy.

    Búsqueda de la directiva en todos los servicios

  2. Seleccione Asignaciones en el panel izquierdo de la página de Azure Policy.Select Assignments on the left side of the Azure Policy page. Una asignación es una directiva que se asignó para que se lleve a cabo dentro de un ámbito específico.An assignment is a policy that has been assigned to take place within a specific scope.

    Página Seleccionar asignaciones en la página Información general de directivas

  3. Seleccione Asignar directiva en la parte superior de la página Policy - Asignaciones.Select Assign Policy from the top of the Policy - Assignments page.

    Asignación de una definición de directiva en la página Asignaciones

  4. En la página Asignar directiva, haga clic en los puntos suspensivos para seleccionar una opción de Ámbito y seleccione una suscripción y un grupo de administración.On the Assign Policy page, select the Scope by clicking the ellipsis and selecting either a management group or subscription. Opcionalmente, seleccione un grupo de recursos.Optionally, select a resource group. Un ámbito determina en qué recursos o agrupación de recursos se implementa la asignación de directiva.A scope determines what resources or grouping of resources the policy assignment gets enforced on. Después, haga clic en Seleccionar en la parte inferior de la página Ámbito.Then click Select at the bottom of the Scope page.

    En este ejemplo se usa la suscripción de Contoso.This example uses the Contoso subscription. Su suscripción variará.Your subscription will differ.

  5. Los recursos se pueden excluir según el ámbito.Resources can be excluded based on the Scope. Las exclusiones comienzan en un nivel inferior al nivel del ámbito.Exclusions start at one level lower than the level of the Scope. Las exclusiones son opcionales, así que déjelas en blanco por ahora.Exclusions are optional, so leave it blank for now.

  6. Seleccione los puntos suspensivos de Definición de directiva para abrir la lista de definiciones disponibles.Select the Policy definition ellipsis to open the list of available definitions. Puede filtrar el campo Tipo de la definición de directiva por Integrada para verlas todas y leer sus descripciones.You can filter the policy definition Type to Built-in to view all and read their descriptions.

  7. Seleccione Require SQL Server version 12.0 (Requerir SQL Server 12.0).Select Require SQL Server version 12.0. Si no la encuentra inmediatamente, escriba require sql server en el cuadro de búsqueda y, a continuación, presione ENTRAR o haga clic fuera del cuadro de búsqueda.If you can't find it right away, type require sql server into the search box and then press ENTER or click out of the search box. Haga clic en Seleccionar en la parte inferior de la página Definiciones disponibles después de encontrar y seleccionar la definición de directiva.Click Select at the bottom of the Available Definitions page once you have found and selected the policy definition.

    Uso de un filtro de búsqueda para buscar una directiva

  8. Nombre de asignación se rellena automáticamente con el nombre de directiva seleccionado, pero puede cambiarlo.The Assignment name is automatically populated with the policy name you selected, but you can change it. En este ejemplo, deje Require SQL Server version 12.0 (Requerir SQL Server 12.0).For this example, leave Require SQL Server version 12.0. También puede agregar una Descripción opcional.You can also add an optional Description. La descripción ofrece detalles sobre esta asignación de directiva.The description provides details about this policy assignment. Asignado por: se rellena automáticamente en función de quién ha iniciado sesión.Assigned by is automatically filled based on who is logged in. Este campo es opcional, así que se pueden especificar valores personalizados.This field is optional, so custom values can be entered.

  9. Deje desactivada la casilla Crear una identidad administrada.Leave Create a Managed Identity unchecked. Esta casilla se debe activar cuando la directiva o la iniciativa que se asigna incluye una directiva con el efecto deployIfNotExists.This box must be checked when the policy or initiative being assigned includes a policy with the deployIfNotExists effect. Como no es el caso de la directiva usada en este tutorial, déjela en blanco.As the policy used for this tutorial doesn't, leave it blank. Para más información, consulte las identidades administradas y cómo funciona la seguridad de corrección.For more information, see managed identities and how remediation security works.

  10. Haga clic en Asignar.Click Assign.

Implementación de una nueva directiva personalizadaImplement a new custom policy

Ahora que ha asignado una definición de directiva integrada, puede hacer más cosas con Azure Policy.Now that you've assigned a built-in policy definition, you can do more with Azure Policy. A continuación, creará una directiva personalizada para ahorrar costos asegurándose de que las máquinas virtuales creadas en el entorno no puedan estar en la serie G.Next, create a new custom policy to save costs by validating that VMs created in your environment can't be in the G series. De este modo, cada vez que un usuario de su organización intente crear una máquina virtual de la serie G, la solicitud le será denegada.This way, every time a user in your organization tries to create VM in the G series, the request is denied.

  1. Seleccione Definiciones en Creación en el lado izquierdo de la página de Azure Policy.Select Definitions under Authoring in the left side of the Azure Policy page.

    Página de definición en el grupo de creación

  2. Seleccione + Definición de directiva en la parte superior de la página.Select + Policy definition at the top of the page. Este botón abre la página Definición de directiva.This button opens to the Policy definition page.

  3. Escriba la siguiente información:Enter the following information:

    • El grupo de administración o la suscripción donde está guardada la definición de directiva.The management group or subscription in which the policy definition is saved. Para la selección use los puntos suspensivos en Ubicación de definición.Select by using the ellipsis on Definition location.

      Nota

      Si planea aplicar esta definición de directiva a varias suscripciones, la ubicación debe ser un grupo de administración que contenga las suscripciones a las que se asigne la directiva.If you plan to apply this policy definition to multiple subscriptions, the location must be a management group that contains the subscriptions you assign the policy to. Lo mismo puede aplicarse a una definición de iniciativa.The same is true for an initiative definition.

    • El nombre de la definición de directiva: Require VM SKUs smaller than the G series (Requerir SKU de máquina virtual inferiores a la serie G)The name of the policy definition - Require VM SKUs smaller than the G series

    • La descripción de la finalidad de la definición de directiva: esta definición de directiva exige que todas las máquinas virtuales creadas en este ámbito tengan SKU inferiores a la serie G para reducir el costo.The description of what the policy definition is intended to do – This policy definition enforces that all VMs created in this scope have SKUs smaller than the G series to reduce cost.

    • Elija entre las opciones existentes o cree una nueva categoría (como Proceso) para esta definición de directiva.Choose from existing options (such as Compute), or create a new category for this policy definition.

    • Copie el siguiente código JSON y actualícelo según sus necesidades con:Copy the following JSON code and then update it for your needs with:

      • Los parámetros de directiva.The policy parameters.
      • Las reglas/condiciones de la directiva, en este caso: tamaño de SKU de máquina virtual igual a la serie GThe policy rules/conditions, in this case – VM SKU size equal to G series
      • El efecto de la directiva, en este caso: Deny (Denegar).The policy effect, in this case – Deny.

    Este es el aspecto que debería tener el JSON.Here's what the JSON should look like. Pegue el código revisado en Azure Portal.Paste your revised code into the Azure portal.

    {
        "policyRule": {
            "if": {
                "allOf": [{
                        "field": "type",
                        "equals": "Microsoft.Compute/virtualMachines"
                    },
                    {
                        "field": "Microsoft.Compute/virtualMachines/sku.name",
                        "like": "Standard_G*"
                    }
                ]
            },
            "then": {
                "effect": "deny"
            }
        }
    }
    

    La propiedad field de la regla de directiva debe tener uno de los siguientes valores: Nombre, Tipo, Ubicación, Etiquetas o un alias.The field property in the policy rule must be one of the following values: Name, Type, Location, Tags, or an alias. Un ejemplo de un alias podría ser "Microsoft.Compute/VirtualMachines/Size".An example of an alias might be "Microsoft.Compute/VirtualMachines/Size".

    Para ver más ejemplos de directivas de Azure, consulte Ejemplos de Azure Policy.To view more Azure policy samples, see Azure Policy samples.

  4. Seleccione Guardar.Select Save.

Creación de una definición de directiva con la API de RESTCreate a policy definition with REST API

Puede crear una directiva con la API REST para definiciones de Azure Policy.You can create a policy with the REST API for Azure Policy Definitions. La API de REST permite crear y eliminar definiciones de directiva, así como recuperar información sobre las definiciones existentes.The REST API enables you to create and delete policy definitions, and get information about existing definitions. Para crear una definición de directiva, use el siguiente ejemplo:To create a policy definition, use the following example:

PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.authorization/policydefinitions/{policyDefinitionName}?api-version={api-version}

Incluya un cuerpo de solicitud similar al ejemplo siguiente:Include a request body similar to the following example:

{
    "properties": {
        "parameters": {
            "allowedLocations": {
                "type": "array",
                "metadata": {
                    "description": "The list of locations that can be specified when deploying resources",
                    "strongType": "location",
                    "displayName": "Allowed locations"
                }
            }
        },
        "displayName": "Allowed locations",
        "description": "This policy enables you to restrict the locations your organization can specify when deploying resources.",
        "policyRule": {
            "if": {
                "not": {
                    "field": "location",
                    "in": "[parameters('allowedLocations')]"
                }
            },
            "then": {
                "effect": "deny"
            }
        }
    }
}

Creación de una definición de directiva con PowerShellCreate a policy definition with PowerShell

Antes de continuar con el ejemplo de PowerShell, asegúrese de que tiene instalada la última versión del módulo Az de Azure PowerShell.Before proceeding with the PowerShell example, make sure you've installed the latest version of the Azure PowerShell Az module.

Puede crear una definición de directiva con el cmdlet New-AzPolicyDefinition.You can create a policy definition using the New-AzPolicyDefinition cmdlet.

Para crear una definición de directiva desde un archivo, pase la ruta de acceso al archivo.To create a policy definition from a file, pass the path to the file. Para un archivo externo, use el ejemplo siguiente:For an external file, use the following example:

$definition = New-AzPolicyDefinition `
    -Name 'denyCoolTiering' `
    -DisplayName 'Deny cool access tiering for storage' `
    -Policy 'https://raw.githubusercontent.com/Azure/azure-policy-samples/master/samples/Storage/storage-account-access-tier/azurepolicy.rules.json'

Para un archivo local, use el ejemplo siguiente:For a local file use, use the following example:

$definition = New-AzPolicyDefinition `
    -Name 'denyCoolTiering' `
    -Description 'Deny cool access tiering for storage' `
    -Policy 'c:\policies\coolAccessTier.json'

Para crear una definición de directiva con una regla insertada, use el ejemplo siguiente:To create a policy definition with an inline rule, use the following example:

$definition = New-AzPolicyDefinition -Name 'denyCoolTiering' -Description 'Deny cool access tiering for storage' -Policy '{
    "if": {
        "allOf": [{
                "field": "type",
                "equals": "Microsoft.Storage/storageAccounts"
            },
            {
                "field": "kind",
                "equals": "BlobStorage"
            },
            {
                "field": "Microsoft.Storage/storageAccounts/accessTier",
                "equals": "cool"
            }
        ]
    },
    "then": {
        "effect": "deny"
    }
}'

La salida se almacena en un objeto $definition, que se usa durante la asignación de directivas.The output is stored in a $definition object, which is used during policy assignment. En el ejemplo siguiente se crea una definición de directiva que incluye parámetros:The following example creates a policy definition that includes parameters:

$policy = '{
    "if": {
        "allOf": [{
                "field": "type",
                "equals": "Microsoft.Storage/storageAccounts"
            },
            {
                "not": {
                    "field": "location",
                    "in": "[parameters(''allowedLocations'')]"
                }
            }
        ]
    },
    "then": {
        "effect": "Deny"
    }
}'

$parameters = '{
    "allowedLocations": {
        "type": "array",
        "metadata": {
            "description": "The list of locations that can be specified when deploying storage accounts.",
            "strongType": "location",
            "displayName": "Allowed locations"
        }
    }
}'

$definition = New-AzPolicyDefinition -Name 'storageLocations' -Description 'Policy to specify locations for storage accounts.' -Policy $policy -Parameter $parameters

Visualización de definiciones de directiva con PowerShellView policy definitions with PowerShell

Para ver todas las definiciones de directiva en su suscripción, utilice el siguiente comando:To see all policy definitions in your subscription, use the following command:

Get-AzPolicyDefinition

Devuelve todas las definiciones de directiva disponibles, incluidas las directivas integradas.It returns all available policy definitions, including built-in policies. Cada directiva se devuelve con el formato siguiente:Each policy is returned in the following format:

Name               : e56962a6-4747-49cd-b67b-bf8b01975c4c
ResourceId         : /providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c
ResourceName       : e56962a6-4747-49cd-b67b-bf8b01975c4c
ResourceType       : Microsoft.Authorization/policyDefinitions
Properties         : @{displayName=Allowed locations; policyType=BuiltIn; description=This policy enables you to
                     restrict the locations your organization can specify when deploying resources. Use to enforce
                     your geo-compliance requirements.; parameters=; policyRule=}
PolicyDefinitionId : /providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c

Creación de una definición de directiva con la CLI de AzureCreate a policy definition with Azure CLI

Puede crear una definición de directiva mediante la CLI de Azure con el comando de definición de directiva.You can create a policy definition using Azure CLI with the policy definition command. Para crear una definición de directiva con una regla insertada, use el ejemplo siguiente:To create a policy definition with an inline rule, use the following example:

az policy definition create --name 'denyCoolTiering' --description 'Deny cool access tiering for storage' --rules '{
    "if": {
        "allOf": [{
                "field": "type",
                "equals": "Microsoft.Storage/storageAccounts"
            },
            {
                "field": "kind",
                "equals": "BlobStorage"
            },
            {
                "field": "Microsoft.Storage/storageAccounts/accessTier",
                "equals": "cool"
            }
        ]
    },
    "then": {
        "effect": "deny"
    }
}'

Visualización de definiciones de directiva con la CLI de AzureView policy definitions with Azure CLI

Para ver todas las definiciones de directiva en su suscripción, utilice el siguiente comando:To see all policy definitions in your subscription, use the following command:

az policy definition list

Devuelve todas las definiciones de directiva disponibles, incluidas las directivas integradas.It returns all available policy definitions, including built-in policies. Cada directiva se devuelve con el formato siguiente:Each policy is returned in the following format:

{
    "description": "This policy enables you to restrict the locations your organization can specify when deploying resources. Use to enforce your geo-compliance requirements.",
    "displayName": "Allowed locations",
    "id": "/providers/Microsoft.Authorization/policyDefinitions/e56962a6-4747-49cd-b67b-bf8b01975c4c",
    "name": "e56962a6-4747-49cd-b67b-bf8b01975c4c",
    "policyRule": {
        "if": {
            "not": {
                "field": "location",
                "in": "[parameters('listOfAllowedLocations')]"
            }
        },
        "then": {
            "effect": "Deny"
        }
    },
    "policyType": "BuiltIn"
}

Creación y asignación de una definición de iniciativaCreate and assign an initiative definition

Con una definición de iniciativa, puede agrupar varias definiciones de directiva para lograr un objetivo general.With an initiative definition, you can group several policy definitions to achieve one overarching goal. Una iniciativa evalúa los recursos dentro del ámbito de la asignación de cara al cumplimiento de las directivas incluidas.An initiative evaluates resources within scope of the assignment for compliance to the included policies. Para más información sobre las definiciones de iniciativa, consulte Introducción a Azure Policy.For more information about initiative definitions, see Azure Policy overview.

Creación de una definición de iniciativaCreate an initiative definition

  1. Seleccione Definiciones en Creación en el lado izquierdo de la página de Azure Policy.Select Definitions under Authoring in the left side of the Azure Policy page.

    Seleccione la definición de la página de definiciones.

  2. Seleccione + Initiative Definition (+ Definición de iniciativa) en la parte superior de la página para abrir la página Definición de iniciativa (Definición de iniciativa).Select + Initiative Definition at the top of the page to open the Initiative definition page.

    Revise la página de definición de iniciativa.

  3. Use Ubicación de definición para seleccionar un grupo de administración o una suscripción para almacenar la definición.Use the Definition location ellipsis to select a management group or subscription to store the definition. Si ha establecido el ámbito de la página anterior a un único grupo de administración o suscripción, Ubicación de definición se rellena automáticamente.If the previous page was scoped to a single management group or subscription, Definition location is automatically populated.

  4. Defina los campos Nombre y Descripción de la iniciativa.Enter the Name and Description of the initiative.

    En este ejemplo se garantiza que los recursos guardan conformidad con las definiciones de directiva sobre protección.This example validates that resources are in compliance with policy definitions about getting secure. Denomine a la iniciativa Get Secure (Estar protegido) y la descripción sería: This initiative has been created to handle all policy definitions associated with securing resources (Esta iniciativa se ha creado para administrar todas las definiciones de directiva asociadas con la protección de los recursos).Name the initiative Get Secure and set the description as: This initiative has been created to handle all policy definitions associated with securing resources.

  5. En Categoría, elija entre las opciones existentes o cree una nueva categoría.For Category, choose from existing options or create a new category.

  6. Examine la lista Definiciones disponibles [mitad derecha de la página Initiative definition (definición de iniciativa)] y seleccione las definiciones de directiva que le gustaría agregar a esta iniciativa.Browse through the list of Available Definitions (right half of Initiative definition page) and select the policy definition(s) you would like to add to this initiative. En el caso de la iniciativa Get secure (Estar protegido), para agregar las siguientes definiciones de directiva integradas, haga clic en + junto a la información de definición de directiva o en una fila de definición de directiva y, a continuación, en la opción + Agregar de la página de detalles:For the Get secure initiative, add the following built-in policy definitions by clicking the + next to the policy definition information or clicking a policy definition row and then the + Add option in the details page:

    • Requisito de la versión 12.0 de SQL ServerRequire SQL Server version 12.0
    • [Preview]: Monitor unprotected web applications in Security Center.
    • [Preview]: Monitor permissive network across in Security Center.
    • [Preview]: Monitor possible app Whitelisting in Security Center.
    • [Preview]: Monitor unencrypted VM Disks in Security Center.

    Después de seleccionar la definición de directiva de la lista, esta se agregará a Policies and Parameters (Directivas y parámetros).After selecting the policy definition from the list, it's added under Policies and Parameters.

    Revise los parámetros de definición de iniciativa.

  7. Si una definición de directiva que se va a agregar a la iniciativa tiene parámetros, estos se muestran bajo el nombre de la directiva en el área Policies and Parameters (Directivas y parámetros).If a policy definition being added to the initiative has parameters, they're shown under the policy name in the Policies and Parameters area. El valor puede establecerse en "Establecer valor" (de forma rígida para todas las asignaciones de esta iniciativa) o en "Utilice el parámetro de iniciativa" (establecido durante cada asignación de iniciativa).The value can be set to either 'Set value' (hard coded for all assignments of this initiative) or 'Use Initiative Parameter' (set during each initiative assignment). Si se selecciona "Establecer valor", la lista desplegable situada a la derecha de Valores permite escribir o seleccionar los valores.If 'Set value' is selected, the drop-down to the right of Values allows entering or selecting the value(s). Si se selecciona "Utilice el parámetro de iniciativa", se muestra una nueva sección llamada Parámetros de iniciativa que permite definir el parámetro que se va a establecer durante la asignación de iniciativa.If 'Use Initiative Parameter' is selected, a new Initiative parameters section is displayed allowing you to define the parameter that is set during initiative assignment. Los valores permitidos en este parámetro de iniciativa pueden restringir aún más lo que puede establecerse durante la asignación de iniciativa.The allowed values on this initiative parameter can further restrict what may be set during initiative assignment.

    Cambie los parámetros de definición de iniciativa desde los valores permitidos

    Nota

    En el caso de algunos parámetros strongType, la lista de valores no se puede determinar automáticamente.In the case of some strongType parameters, the list of values cannot be automatically determined. En estos casos, se muestran puntos suspensivos a la derecha de la fila de parámetros.In these cases, an ellipsis appears to the right of the parameter row. Al hacer clic en estos puntos suspensivos se abre la página "Ámbito de parámetro (<nombre del parámetro>)".Clicking it opens the 'Parameter scope (<parameter name>)' page. En esta página, seleccione la suscripción que se usará para proporcionar las opciones de valor.On this page, select the subscription to use for providing the value options. Este ámbito de parámetro solo se usa durante la creación de la definición de iniciativa y no influye en la evaluación de directivas ni en el ámbito de la iniciativa cuando se asigna.This parameter scope is only used during creation of the initiative definition and has no impact on policy evaluation or the scope of the initiative when assigned.

  8. Haga clic en Save(Guardar).Click Save.

Asignación de una definición de iniciativaAssign an initiative definition

  1. Seleccione Definiciones en Creación en el lado izquierdo de la página de Azure Policy.Select Definitions under Authoring in the left side of the Azure Policy page.

  2. Busque la definición de directiva Get Secure (Estar protegido) que creó anteriormente y haga clic en ella.Locate the Get Secure initiative definition you previously created and click it. Seleccione Asignar en la parte superior de la página para abrir la página Get Secure: Assign initiative (Estar protegido: asignar iniciativa).Select Assign at the top of the page to open to the Get Secure: Assign initiative page.

    Asigne una definición desde la página de definición de iniciativa

    También puede hacer clic con el botón derecho en la fila seleccionada o hacer clic en los puntos suspensivos al final de la fila de un menú contextual.You can also right-click on the selected row or left-click on the ellipsis at the end of the row for a contextual menu. A continuación, seleccione Asignar.Then select Assign.

    Opciones alternativas para una iniciativa

  3. Rellene la página Get Secure: Assign Initiative (Estar protegido: asignar iniciativa) con la siguiente información de ejemplo.Fill out the Get Secure: Assign Initiative page by entering the following example information. Puede usar su propia información.You can use your own information.

    • Ámbito: el grupo de administración o la suscripción donde guardó la iniciativa se convertirán en predeterminados.Scope: The management group or subscription you saved the initiative to becomes the default. También puede cambiar ámbito para asignar la iniciativa a un grupo de recursos o una suscripción de la ubicación de almacenamiento.You can change scope to assign the initiative to a subscription or resource group within the save location.
    • Exclusiones: configure los recursos del ámbito para evitar que se les aplique la asignación de iniciativa.Exclusions: Configure any resources within the scope to prevent the initiative assignment from being applied to them.
    • Nombre de la asignación y definición de la iniciativa: Get Secure (Estar protegido) (rellenado previamente como nombre de la iniciativa que se va a asignar).Initiative definition and Assignment name: Get Secure (pre-populated as name of initiative being assigned).
    • Description: esta asignación de iniciativa está adaptada para aplicar este grupo de definiciones de directiva.Description: This initiative assignment is tailored to enforce this group of policy definitions.
    • Asignada por: se rellena automáticamente en función de quién ha iniciado sesión.Assigned by: Automatically filled based on who is logged in. Este campo es opcional, así que se pueden especificar valores personalizados.This field is optional, so custom values can be entered.
  4. Deje desactivada la casilla Crear una identidad administrada.Leave Create a Managed Identity unchecked. Esta casilla se debe activar cuando la directiva o la iniciativa que se asigna incluye una directiva con el efecto deployIfNotExists.This box must be checked when the policy or initiative being assigned includes a policy with the deployIfNotExists effect. Como no es el caso de la directiva usada en este tutorial, déjela en blanco.As the policy used for this tutorial doesn't, leave it blank. Para más información, consulte las identidades administradas y cómo funciona la seguridad de corrección.For more information, see managed identities and how remediation security works.

  5. Haga clic en Asignar.Click Assign.

Comprobación del cumplimiento inicialCheck initial compliance

  1. Seleccione Cumplimiento en el panel izquierdo de la página de Azure Policy.Select Compliance in the left side of the Azure Policy page.

  2. Busque la iniciativa Get Secure (Estar protegido).Locate the Get Source initiative. Es probable que Estado de compatibilidad se encuentre aún como No iniciado.It's likely still in Compliance state of Not started. Haga clic en la iniciativa para obtener información detallada sobre el progreso de la asignación.Click on the initiative to get full details on the progress of the assignment.

    Página de compatibilidad de iniciativas: evaluaciones no iniciadas

  3. Una vez que se haya completado la asignación de la iniciativa, la página de conformidad se actualiza con el Estado de compatibilidad Conforme.Once the initiative assignment has been completed, the compliance page is updated with the Compliance state of Compliant.

    Página de compatibilidad de iniciativas: recursos compatibles

  4. Al hacer clic en cualquier directiva de la página de cumplimiento de la iniciativa se abre la página de detalles de cumplimiento de la directiva.Clicking on any policy on the initiative compliance page opens the compliance details page for the policy. Esta página proporciona los detalles de cumplimiento a nivel de recurso.This page provides details at the resource level for compliance.

Exclusión de un recurso no conforme o denegado mediante ExclusiónExempt a non-compliant or denied resource using Exclusion

Siguiendo el ejemplo anterior, después de asignar la definición de directiva para requerir SQL Server versión 12.0, se denegará un servidor de SQL Server que se cree con cualquier otra versión diferente.Following the example above, after assigning the policy definition to require SQL server version 12.0, a SQL server created with any version other 12.0 would get denied. En esta sección se va a examinar cómo resolver una solicitud denegada de crear un servidor de SQL Server mediante la creación de una exclusión de un grupo de recursos único.In this section, you walk through resolving a denied request to create a SQL server by creating an exclusion on a single resource group. La exclusión impide el cumplimiento de la directiva (o iniciativa) en ese recurso.The exclusion prevents enforcement of the policy (or initiative) on that resource. En el ejemplo siguiente se permite cualquier versión de SQL Server en un único grupo de recursos.In the following example, any SQL server version is allowed in a single resource group. Se puede aplicar una exclusión a una suscripción, a un grupo de recursos o se puede restringir la exclusión a recursos individuales.An exclusion can apply to a subscription, resource group, or you can narrow the exclusion to individual resources.

Una implementación impedida debido a una directiva o una iniciativa asignada puede verse en dos ubicaciones:A deployment prevented by an assigned policy or initiative can be viewed in two locations:

  • En el grupo de recursos de destino de la implementación: seleccione Implementaciones en el lado izquierdo de la página y haga clic en el valor de Nombre de la implementación de la implementación con errores.On the resource group targeted by the deployment: Select Deployments in the left side of the page, then and click on the Deployment Name of the failed deployment. El recurso denegado se muestra con el estado Prohibido.The resource that was denied is listed with a status of Forbidden. Para determinar la directiva o iniciativa y la asignación que denegaron el recurso, haga clic en Failed. Click here for details -> (Error. Haga clic aquí para ver los detalles ->) en la página de información general de la implementación.To determine the policy or initiative and assignment that denied the resource, click Failed. Click here for details -> on the Deployment Overview page. Una ventana se abre en el lado derecho de la página con la información sobre el error.A window opens on the right side of the page with the error information. En Detalles del error se muestran los identificadores únicos globales de los objetos de directiva relacionados.Under Error Details are the GUIDs of the related policy objects.

    Implementación denegada por la asignación de directiva

  • En la página de Azure Policy: seleccione Cumplimiento en el lado izquierdo de la página y haga clic en la directiva Require SQL Server version 12.0 (Requerir SQL Server 12.0).On the Azure Policy page: Select Compliance in the left side of the page and click on the Require SQL Server version 12.0 policy. En la página que se abre, debería ver un aumento en el recuento de Denegar.On the page that opens, you would see an increase in the Deny count. En la pestaña Eventos, también debería ver quién trató realizar la implementación denegada por la directiva.Under the Events tab, you would also see who tried the deployment that was denied by the policy.

    Información general del cumplimiento de una directiva asignada

En este ejemplo, Trent Baker, uno de los especialistas en virtualización sénior de Contoso, estaba haciendo el trabajo requerido.In this example, Trent Baker, one of Contoso's Sr. Virtualization specialists, was doing required work. Es necesario concederle una excepción, pero no queremos servidores SQL Server de una versión que no sea 12.0 en ningún grupo de recursos.We need to grant Trent an exception, but we don't want the non-version 12.0 SQL servers in just any resource group. Hemos creado un nuevo grupo de recursos, SQLServers_Excluded y ahora concederemos una excepción a esta asignación de directiva.We've created a new resource group, SQLServers_Excluded and will now grant it an exception to this policy assignment.

Actualización de la asignación con la exclusiónUpdate assignment with exclusion

  1. Seleccione Asignaciones en Creación en el lado izquierdo de la página de Azure Policy.Select Assignments under Authoring in the left side of the Azure Policy page.

  2. Examine todas las asignaciones de directiva y abra la asignación Require SQL Server version 12.0 (Requerir SQL Server 12.0).Browse through all policy assignments and open the Require SQL Server version 12.0 assignment.

  3. Para establecer la exclusión, haga clic en los puntos suspensivos y seleccione el grupo de recursos que quiere excluir, SQLServers_Excluded, en este ejemplo.Set the Exclusion by clicking the ellipsis and selecting the resource group to exclude, SQLServers_Excluded in this example.

    Agregue un grupo de recursos excluido a la asignación de directiva.

    Nota

    Dependiendo de la directiva y de su efecto, es posible que la exclusión también se conceda a los recursos específicos dentro de un grupo de recursos dentro del ámbito de la asignación.Depending on the policy and its effect, the exclusion could also be granted to specific resources within a resource group inside the scope of the assignment. Dado que se usó un efecto Denegar en este tutorial, no tendría sentido establecer la exclusión en un recurso concreto que ya existe.As a Deny effect was used in this tutorial, it would not make sense to set the exclusion on a specific resource that already exists.

  4. Haga clic en Seleccionar y después en Guardar.Click Select and then click Save.

En esta sección, resolvió la solicitud denegada creando una exclusión en un único grupo de recursos.In this section, you resolved the denied request by creating an exclusion on a single resource group.

Limpieza de recursosClean up resources

Si terminó de trabajar con los recursos de este tutorial, use los pasos siguientes para eliminar todas las asignaciones y definiciones creadas anteriormente:If you're done working with resources from this tutorial, use the following steps to delete any of the assignments or definitions created above:

  1. Seleccione Definiciones (o Asignaciones si trata de eliminar una asignación) en Creación en el lado izquierdo de la página de Azure Policy.Select Definitions (or Assignments if you're trying to delete an assignment) under Authoring in the left side of the Azure Policy page.

  2. Busque la nueva definición de iniciativa o directiva (o asignación) que quiere quitar.Search for the new initiative or policy definition (or assignment) you want to remove.

  3. Haga clic con el botón derecho en la fila o seleccione los puntos suspensivos al final de la definición (o asignación) y elija Eliminar definición (o Eliminar asignación ).Right-click the row or select the ellipses at the end of the definition (or assignment), and select Delete definition (or Delete assignment).

Pasos siguientesNext steps

En este tutorial, ha realizado correctamente las tareas siguientes:In this tutorial, you successfully accomplished the following tasks:

  • Ha asignado una directiva para aplicar una condición a los recursos que se creen en el futuroAssigned a policy to enforce a condition for resources you create in the future
  • Ha creado y asignado una definición de iniciativa para realizar un seguimiento del cumplimiento para varios recursosCreated and assign an initiative definition to track compliance for multiple resources
  • Ha resuelto un recurso que no cumplía o que se había denegadoResolved a non-compliant or denied resource
  • Ha implementado una nueva directiva en toda la organizaciónImplemented a new policy across an organization

Para más información sobre las estructuras de las definiciones de directiva, consulte este artículo:To learn more about the structures of policy definitions, look at this article: