Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: Azure Logic Apps (consumo + estándar)
Si su organización no permite la conexión a recursos restringidos o no aprobados mediante el uso de sus conectores administrados en Azure Logic Apps, puede bloquear la capacidad para crear y usar esas conexiones en flujos de trabajo de aplicaciones lógicas. Con Azure Policy, puede definir y aplicar directivas que impidan la creación o el uso de conexiones para conectores que desea bloquear. Por ejemplo, por motivos de seguridad, es posible que desee bloquear las conexiones a plataformas de medios sociales específicos u otros servicios y sistemas.
En esta guía se muestra cómo configurar una directiva que bloquea conexiones específicas mediante Azure Portal. También puede crear definiciones de directiva de otras maneras. Por ejemplo, puede usar la API REST de Azure, Azure PowerShell, la CLI de Azure o las plantillas de Azure Resource Manager. Para obtener más información, consulte Creación y administración de directivas para aplicar el cumplimiento.
Requisitos previos
Una cuenta y una suscripción de Azure. Si no tiene una suscripción, cree una cuenta Azure gratuita.
El identificador de referencia del conector que desea bloquear. En esta guía se muestra cómo encontrar este identificador de referencia.
Búsqueda del identificador de referencia del conector
Si ya tiene un flujo de trabajo de aplicación lógica con la conexión que desea bloquear, omita esta sección. De lo contrario, siga estos pasos para buscar el identificador de referencia del conector:
Búsqueda del identificador mediante el documento de referencia del conector
Revise la lista de todos los conectores administrados de Azure Logic Apps.
Busque la página de referencia del conector que desea bloquear.
Por ejemplo, si desea bloquear el conector de Gmail, vaya a esta página:
https://learn.microsoft.com/connectors/gmail/En la dirección URL de la página, copie y guarde el identificador de referencia del conector al final sin la barra diagonal (
/), por ejemplo,gmail.Más adelante, al crear la definición de directiva, usará este identificador en la instrucción de condición de la definición, por ejemplo:
"like": "*managedApis/gmail"
Búsqueda del identificador mediante Azure Portal
En el portal de Azure, abra su recurso de aplicación lógica.
En la barra lateral del recurso, seleccione una de las siguientes opciones:
Aplicación lógica de consumo: en Herramientas de desarrollo, seleccione Conexiones de API.
Aplicación lógica estándar: en Flujos de trabajo, seleccione Conexiones. En el panel Conexiones, seleccione Conexiones de API si aún no está seleccionada.
En la página Conexiones de API , seleccione la conexión. Una vez que se abra la página de conexión, en la esquina superior derecha, seleccione Vista JSON.
Busque el objeto
api, que contiene una propiedadidy un valor que tiene el formato siguiente:"id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/{connection-name}"En el ejemplo siguiente se muestra la propiedad
idy el valor de una conexión de Gmail."id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/gmail"A partir del valor de la
idpropiedad, copie y guarde el identificador de referencia del conector, que aparece al final, por ejemplo,gmail.Más adelante, al crear la definición de directiva, usará este identificador en la instrucción de condición de la definición, por ejemplo:
"like": "*managedApis/gmail"
Bloquear la creación de conexiones
Para bloquear la creación de una conexión en un flujo de trabajo, siga estos pasos:
En el cuadro de búsqueda de Azure Portal, ingrese directiva y seleccione Directiva.
En el menú Directiva, en Creación, seleccione Definiciones. En la barra de herramientas Definiciones , seleccione Definición de directiva.
En la página Definición de directiva, proporcione la información de la definición de directiva, en función de las propiedades de la tabla que siguen a la imagen:
Parámetro Obligatorio Valor Descripción Ubicación de definición Sí < Azure-subscription-name> Suscripción de Azure que se usará para la definición de la directiva.
1. Para buscar la suscripción, seleccione los puntos suspensivos (...).
2. En la lista Suscripción, busque y seleccione su suscripción.
3. Cuando finalice, haga clic en Seleccionar.Nombre Sí < policy-definition-name> Nombre que se va a usar para la definición de directiva. Descripción No < policy-definition-name> Descripción de la definición de directiva. Categoría Sí Aplicaciones lógicas Nombre de una categoría o categoría nueva existente para la definición de directiva. En Regla de directiva, el cuadro de edición JSON se rellena previamente con una plantilla de definición de directiva. Reemplace esta plantilla por la definición de directiva en función de las propiedades descritas en la tabla siguiente y use esta sintaxis:
{ "mode": "All", "policyRule": { "if": { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/{connector-name}" }, "then": { "effect": "deny" } }, "parameters": {} }Keyword Valor Descripción modeAllModo que determina los tipos de recursos que evalúa la directiva.
En este escenario se establecemodeenAll, que aplica la directiva a los grupos de recursos, las suscripciones y todos los tipos de recursos de Azure.
Para obtener más información, vea Estructura de definición de Azure Policy: modo.if{condition-to-evaluate}La condición que determina cuándo aplicar la regla de directiva.
En este escenario,{condition-to-evaluate}determina si el valor deapi.idenMicrosoft.Web/connections/api.idcoincide con*managedApis/{connector-name}, que especifica un valor de carácter comodín (*).
Para obtener más información, vea Estructura de definición de Azure Policy: regla de directiva.fieldMicrosoft.Web/connections/api.idValor fieldque se va a comparar con la condición.
En este escenario,fieldusa el alias,Microsoft.Web/connections/api.id, para tener acceso al valor de la propiedad del conector,api.id.like*managedApis/{connector-name}Operador lógico y valor que se va a usar para comparar el valor de field.
En este escenario, el operadorlikey el carácter comodín (*) se aseguran de que la regla funciona independientemente de la región, y la cadena,*managedApis/{connector-name}, es el valor que debe coincidir, donde{connector-name}es el identificador del conector que desea bloquear.
Por ejemplo, supongamos que desea bloquear la creación de conexiones a las plataformas o bases de datos de medios sociales:
- X:x
- Facebook:facebook
- Pinterest:pinterest
- SQL Server o Azure SQL:sql
Para encontrar estos identificadores de conector, consulte Búsqueda del identificador de referencia del conector anteriormente en este artículo.then{effect-to-apply}Efecto que se va a aplicar cuando se cumpla la condición de if.
En este escenario,{effect-to-apply}es bloquear y generar un error en una solicitud u operación que no cumpla con la directiva.
Para obtener más información, vea Estructura de definición de Azure Policy: regla de directiva.effectdenyeffectes bloquear la solicitud, lo cual sirve para crear la conexión especificada.
Para obtener más información, consulte Comprender los efectos de Azure Policy: denegar.Por ejemplo, supongamos que desea bloquear la creación de conexiones con el conector de Gmail. Esta es la definición de directiva que puede usar:
{ "mode": "All", "policyRule": { "if": { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/gmail" }, "then": { "effect": "deny" } }, "parameters": {} }Esta es la forma en que aparece el cuadro Regla de directiva :
Para varios conectores, puede agregar más de una condición, por ejemplo:
{ "mode": "All", "policyRule": { "if": { "anyOf": [ { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/x" }, { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/facebook" }, { "field": "Microsoft.Web/connections/api.id", "like": "*managedApis/pinterest" } ] }, "then": { "effect": "deny" } }, "parameters": {} }Cuando finalice, seleccione Guardar.
Después de guardar la definición de la directiva, Azure Policy genera y agrega más valores de propiedad a la definición de la directiva.
Para asignar la definición de directiva en la que desea aplicar la directiva, cree una asignación de directiva, como se describe más adelante en este artículo.
Para más información sobre las definiciones de Azure Policy, consulte:
- Estructura de definición de Azure Policy
- Creación y administración de directivas para aplicar el cumplimiento
- Definiciones de directivas integradas de Azure Policy en Azure Logic Apps
Bloqueo de la asociación de conexiones con aplicaciones lógicas
Al crear una conexión en un flujo de trabajo, esta conexión existe como recurso de Azure independiente. Si elimina solo el recurso de flujo de trabajo o aplicación lógica, el recurso de conexión no se elimina automáticamente y continúa existiendo hasta que se elimine. Es posible que tenga un escenario en el que el recurso de conexión ya exista o en el que tenga que crear el recurso de conexión para usarlo fuera del recurso de aplicación lógica.
Todavía puede bloquear la capacidad de asociar la conexión a un recurso de aplicación lógica diferente mediante la creación de una directiva que impida guardar flujos de trabajo que intenten usar la conexión restringida o no aprobada. Esta directiva afecta solo a los flujos de trabajo que aún no usan la conexión.
En el cuadro de búsqueda de Azure Portal, ingrese directiva y seleccione Directiva.
En el menú Directiva, en Creación, seleccione Definiciones. En la barra de herramientas de la página Definiciones , seleccione Definición de directiva.
En Definición de directiva, proporcione la información de la definición de directiva, en función de las propiedades de la tabla que sigue a la imagen.
Parámetro Obligatorio Valor Descripción Ubicación de definición Sí < Azure-subscription-name> Suscripción de Azure que se usará para la definición de la directiva.
1. Para buscar la suscripción, seleccione el botón de puntos suspensivos ( ... ).
2. En la lista Suscripción, busque y seleccione su suscripción.
3. Cuando finalice, haga clic en Seleccionar.Nombre Sí < policy-definition-name> Nombre que se va a usar para la definición de directiva. Descripción No < policy-definition-name> Descripción de la definición de directiva. Categoría Sí Aplicaciones lógicas Nombre de una categoría existente o nueva categoría de la definición de directiva. En Regla de política, el cuadro de edición JSON viene prellenado con una plantilla de definición de política. Reemplace esta plantilla por la definición de directiva en función de las propiedades descritas en la tabla siguiente y use esta sintaxis:
{ "mode": "All", "policyRule": { "if": { "value": "[string(field('Microsoft.Logic/workflows/parameters'))]", "contains": "{connector-name}" }, "then": { "effect": "deny" } }, "parameters": {} }Keyword Valor Descripción modeAllModo que determina los tipos de recursos que evalúa la directiva.
En este escenario se establecemodeenAll, que aplica la directiva a los grupos de recursos, las suscripciones y todos los tipos de recursos de Azure.
Para obtener más información, vea Estructura de definición de Azure Policy: modo.if{condition-to-evaluate}La condición que determina cuándo aplicar la regla de directiva.
En este escenario,{condition-to-evaluate}determina si la salida de la cadena de[string(field('Microsoft.Logic/workflows/parameters'))]contiene la cadena{connector-name}.
Para obtener más información, vea Estructura de definición de Azure Policy: regla de directiva.value[string(field('Microsoft.Logic/workflows/parameters'))]Valor que se va a comparar con la condición.
En este escenario,valuees la salida de cadena de[string(field('Microsoft.Logic/workflows/parameters'))], que convierte el objeto$connectorsdentro del objetoMicrosoft.Logic/workflows/parametersen una cadena.contains{connector-name}Operador lógico y valor que se va a usar para comparar con la propiedad value.
En este escenario, el operadorcontainsse asegura de que la regla funciona independientemente de dónde aparezca{connector-name}, donde la cadena,{connector-name}, es el identificador del conector que desea restringir o bloquear.
Por ejemplo, supongamos que desea bloquear el uso de conexiones a las plataformas o bases de datos de medios sociales:
- X:x
- Facebook:facebook
- Pinterest:pinterest
- SQL Server o Azure SQL:sql
Para encontrar estos identificadores de conector, consulte Búsqueda del identificador de referencia del conector anteriormente en este artículo.then{effect-to-apply}Efecto que se va a aplicar cuando se cumpla la condición de if.
En este escenario,{effect-to-apply}es bloquear y generar un error en una solicitud u operación que no cumpla con la directiva.
Para obtener más información, vea Estructura de definición de Azure Policy: regla de directiva.effectdenyeffectesdenyo bloquear la solicitud para guardar una aplicación lógica que usa la conexión especificada.
Para obtener más información, consulte Comprender los efectos de Azure Policy: denegar.Por ejemplo, supongamos que desea bloquear el guardado de aplicaciones lógicas que usan conexiones de Gmail. Esta es la definición de directiva que puede usar:
{ "mode": "All", "policyRule": { "if": { "value": "[string(field('Microsoft.Logic/workflows/parameters'))]", "contains": "gmail" }, "then": { "effect": "deny" } }, "parameters": {} }Esta es la forma en que aparece la regla de definición de directiva:
Cuando finalice, seleccione Guardar.
Después de guardar la definición de la directiva, Azure Policy genera y agrega más valores de propiedad a la definición de la directiva.
Para asignar la definición de directiva en la que desea aplicar la directiva, cree una asignación de directiva, como se describe más adelante en esta guía.
Para más información sobre las definiciones de Azure Policy, consulte:
- Estructura de definición de Azure Policy
- Creación y administración de directivas para aplicar el cumplimiento
- Definiciones de directivas integradas de Azure Policy en Azure Logic Apps
Creación de asignación de directiva
Debe asignar la definición de directiva en la que desea aplicar la directiva. Por ejemplo, puede asignar la definición de directiva a un único grupo de recursos, varios grupos de recursos, un inquilino de Microsoft Entra o una suscripción de Azure. Para esta tarea, siga estos pasos a fin de crear una asignación de directiva:
En el cuadro de búsqueda de Azure Portal, ingrese directiva y seleccione Directiva.
En el menú Directiva, en Creación, seleccione Asignaciones. En la barra de herramientas Asignaciones , seleccione Asignar directiva.
En la página Asignar directiva , en Aspectos básicos, proporcione esta información para la asignación de directiva:
Parámetro Obligatorio Descripción Ámbito Sí Recursos en los que desea aplicar la asignación de directiva.
1. Junto al cuadro Ámbito, seleccione el botón de puntos suspensivos ( ... ).
2. En la lista Suscripción, seleccione la suscripción de Azure.
3. De manera opcional, en la lista Grupo de recursos, seleccione el grupo de recursos.
4. Cuando finalice, haga clic en Seleccionar.Exclusiones No Recursos de Azure que quiera excluir de la asignación de directiva.
1. Junto al cuadro Exclusiones, seleccione el botón de puntos suspensivos ( ... ).
2. En la lista Recurso, seleccione el recurso >Agregar al ámbito seleccionado.
3. Cuando finalice, seleccione Guardar.Selectores de recursos No Definición de directiva Sí El nombre de la definición de directiva que desea asignar y aplicar. Este ejemplo continúa con la directiva de Gmail de ejemplo, Bloquear conexiones de Gmail.
1. Junto al cuadro Definición de directiva, seleccione el botón de puntos suspensivos ( ... ).
2. Busque y seleccione la definición de directiva con el filtro Tipo o el cuadro Buscar.
3. Cuando finalice, haga clic en Seleccionar.Invalidaciones No Nombre de asignación Sí Nombre que se va a usar para la asignación de directiva, si es diferente de la definición de directiva. Descripción No Descripción de la asignación de directiva. Aplicación de directivas Sí Configuración que habilita o deshabilita la asignación de política. Por ejemplo, para asignar la directiva a un grupo de recursos de Azure mediante el ejemplo de Gmail:
Seleccione Revisar y crear cuando haya terminado.
Después de crear una directiva, es posible que tenga que esperar hasta 15 minutos para que surta efecto. Los cambios también pueden tener efectos similares en cuanto a desfase temporal.
Una vez que la directiva surte efecto, pruebe la directiva en la sección siguiente.
Para obtener más información, consulte Inicio rápido: Creación de una asignación de directiva para identificar recursos no conformes.
Prueba de la directiva
Para probar la directiva, empiece a crear una conexión con el conector ahora restringido en el diseñador del flujo de trabajo. Siguiendo con el ejemplo de Gmail, al iniciar sesión en Gmail, aparece un error que indica que el flujo de trabajo no pudo crear la conexión.
El mensaje de error incluye esta información:
| Descripción | Contenido |
|---|---|
| Motivo del error | "Resource 'gmail' was disallowed by policy." |
| Nombre de asignación | "Block Gmail connections" |
| Id. de asignación | "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyLogicApp-RG/providers/Microsoft.Authorization/policyAssignments/4231890fc3bd4352acb0b673" |
| Identificador de la definición de directiva | "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/policyDefinitions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e" |
Contenido relacionado
- Obtenga más información acerca de Azure Policy.