Bloquear o uso do conector nos Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)

Se sua organização não permitir a conexão com recursos restritos ou desaprovados usando seus conectores gerenciados nos Aplicativos Lógicos do Azure, você poderá bloquear a funcionalidade de criar e usar essas conexões em fluxos de trabalho de aplicativo lógico. Com aAzure Policy, você pode definir e impor políticas que impedem a criação ou o uso de conexões com conectores que deseja bloquear. Por exemplo, por motivos de segurança, talvez você queira bloquear conexões para plataformas específicas de mídia social ou outros serviços e sistemas.

Este artigo mostra como configurar uma política que bloqueia conexões específicas usando o portal do Azure, mas você pode criar definições de política de outras maneiras. Por exemplo, você pode usar os modelos da API REST do Azure, do Azure PowerShell, da CLI do Azure e do Azure Resource Manager. Para saber mais, confira o Tutorial: criar e gerenciar políticas para impor conformidade.

Pré-requisitos

Localizar ID de referência do conector

Se você já tem um aplicativo lógico com a conexão que deseja bloquear, siga as etapas para o portal do Azure. Caso contrário, siga estas etapas:

Documento de referência do conector

  1. Confira Conectores de Aplicativos Lógicos do Azure.

  2. Localizar a página de referência para o conector que você deseja bloquear.

    Por exemplo, se desejar bloquear o conector do Instagram, que é preterido, vá para esta página:

    https://learn.microsoft.com/connectors/instagram/

  3. Copie e salve a ID de referência do conector no final do URL da página, sem a barra (/), por exemplo, instagram.

    Mais tarde, depois de criar a definição de política, use essa ID na instrução de condição da definição, por exemplo:

    "like": "*managedApis/instagram"

Portal do Azure

  1. No portal do Azure, encontre e abra seu fluxo de aplicativo lógico.

  2. No menu de aplicativo lógico, selecione uma das seguintes opções:

    • No painel aplicativo lógico, em Ferramentas de Desenvolvimento, selecione Conexões de API.

    • No menu do aplicativo lógico, em Fluxos de trabalho, selecione Conexões. No painel Conexões, selecione Conexões de API se ainda não estiver selecionada.

    1. No painel conexões de API, selecione a conexão. Quando o painel de conexão for aberto, no canto superior direito, selecione Exibição JSON.

    2. Localize o objeto api, que contém uma propriedade id e um valor que tem o seguinte formato:

      "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region}/managedApis/{connection-name}"

      Por exemplo, aqui está a propriedade id e o valor de uma conexão do Instagram:

      "id": "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Web/locations/westus/managedApis/instagram"

    3. Por exemplo, copie e salve a ID de referência do conector no final do idvalor da propriedadeinstagram.

      Mais tarde, depois de criar a definição de política, use essa ID na instrução de condição da definição, por exemplo:

      "like": "*managedApis/instagram"

Bloquear a criação de conexões

Para bloquear a criação de uma conexão totalmente em um aplicativo lógico, siga estas etapas:

  1. Na caixa de pesquisa do portal do Azure, insira a política e selecione Políticas.

    Screenshot showing main Azure portal search box with

  2. No menu Política, em Criação, selecione Definições. Na barra de ferramentas do painel Definições, selecione Definição de política.

    Screenshot showing the

  3. No painel Definição de política, forneça as informações para a definição de sua política, com base nas propriedades descritas no exemplo:

    Screenshot showing the policy definition properties.

    Propriedade Obrigatório Valor Descrição
    Local da definição Sim <Azure-subscription-name> Assinatura do Azure para usar na definição de política

    1. Para localizar sua assinatura, selecione o botão de reticências ( ... ).
    2. Na lista Assinatura, localize e selecione sua assinatura.
    3. Ao concluir, selecione Selecionar.

    Nome Sim <Nome da definição de política> O nome para usar na definição de política
    Descrição Não <Nome da definição de política> Uma descrição para a definição de política
    Categoria Sim Aplicativos lógicos O nome de uma categoria existente ou uma nova categoria para a definição de política
    Imposição de política Sim Enabled Essa configuração especifica se a definição de política deve ser habilitada ou desabilitada quando ao salvar seu trabalho.
  4. Em POLICY RULE, a caixa de edição JSON é pré-preenchida com um modelo de definição de política. Substitua este modelo pela sua definição de política com base nas propriedades descritas na tabela abaixo e seguindo esta sintaxe:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "field": "Microsoft.Web/connections/api.id",
             "like": "*managedApis/{connector-name}"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
    Propriedade Valor Descrição
    mode All O modo que determina os tipos de recursos que a política avalia.

    Esse cenário define mode para All, que aplica a política a grupos de recursos do Azure, assinaturas e todos os tipos de recursos.

    Para saber mais, consulte a Estrutura de definição de política – modo.

    if {condition-to-evaluate} A condição que determina quando impor a regra de política

    Nesse cenário, o {condition-to-evaluate} determina se o api.id valor em Microsoft.Web/connections/api.id corresponde em *managedApis/{connector-name}, que especifica um valor curinga (*).

    Para saber mais, consulte a Estrutura de definição de política – Regra de política.

    field Microsoft.Web/connections/api.id O field valor a ser comparado a condição

    Nesse cenário, o field usa o alias, Microsoft.Web/connections/api.id, para acessar o valor na Propriedade do conector, api.id.

    like *managedApis/{connector-name} O operador lógico e o valor a ser usado para comparar o valor field

    Nesse cenário, o like operador e o caractere curinga (*) verificam se a regra funciona independente da sua região e a cadeia de caracteres, *managedApis/{connector-name}, é o valor a ser correspondido e {connector-name} é a ID do conector que você deseja bloquear.

    Por exemplo, suponha que você deseja bloquear a criação de conexões para bancos de dados ou plataformas de mídia social:

    - Twitter: twitter
    - Instagram: instagram
    - Facebook: facebook
    - Pinterest: pinterest
    - SQL Server ou SQL do Azure: sql

    Para encontrar essas IDs de conector, consulte Localizar ID de referência do conector, mencionado antes neste tópico.

    then {effect-to-apply} O efeito para aplicar quando a ifcondição é atendida

    Nesse cenário, o {effect-to-apply} é bloquear e reprovar uma solicitação ou operação que não está em conformidade com a política.

    Para saber mais, consulte a Estrutura de definição de política – Regra de política.

    effect deny O effect é para bloquear a solicitação de criar a conexão especificada

    Para saber mais, consulte Entender os efeitos da Azure Policy - Negar.

    Por exemplo, imagine que você deseja bloquear a criação de conexões com o conector do Instagram. Esta é a definição de política que você pode usar:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "field": "Microsoft.Web/connections/api.id",
             "like": "*managedApis/instagram"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
    }
    

    A forma que a opção REGRA DE POLÍTICA é exibida assim:

    Screenshot showing the

    Para vários conectores, você pode adicionar mais condições, por exemplo:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "anyOf": [
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/instagram"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/twitter"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/facebook"
                },
                {
                   "field": "Microsoft.Web/connections/api.id",
                   "like": "*managedApis/pinterest"
                }
             ]
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
  5. Quando terminar, selecione Salvar. Depois de salvar a definição de política, o Azure Policy gera e adiciona mais valores de propriedade à definição de política.

  6. Em seguida, para atribuir a definição de política onde você deseja impor a política, selecione criar uma atribuição de política.

Para obter mais informações sobre as definições do Azure Policy, confira estes tópicos:

Bloquear a associação de conexões com aplicativos lógicos

Quando você cria uma conexão dentro de um fluxo de trabalho de aplicativo lógico, essa conexão existe como um recurso separado do Azure. Ao excluir apenas o fluxo de aplicativo lógico, a conexão não é excluída automaticamente e continua a existir até ser excluída. Você pode ter um cenário em que o recurso de conexão já existe ou no qual é preciso criar o recurso de conexão para usar fora de um aplicativo lógico. Você ainda pode bloquear a capacidade de associar a conexão a um fluxo de trabalho de aplicativo lógico diferente criando uma política que impede salvar fluxos de trabalho de aplicativos lógicos que tentam usar a conexão restrita ou não aprovada. Essa política afeta apenas os fluxos de trabalho do aplicativo lógico que ainda não usam a conexão.

  1. Na caixa de pesquisa do portal do Azure, insira a política e selecione Políticas.

    Screenshot showing the Azure portal search box with

  2. No menu Política, em Criação, selecione Definições. Na barra de ferramentas do painel Definições, selecione Definição de política.

    Screenshot showing

  3. Em Definição de política, forneça as informações para a definição de política, com base nas propriedades descritas no exemplo e continua a usar o Instagram como exemplo:

    Screenshot showing policy definition properties.

    Propriedade Obrigatório Valor Descrição
    Local da definição Sim <Azure-subscription-name> Assinatura do Azure para usar na definição de política

    1. Para localizar sua assinatura, selecione o botão de reticências ( ... ).
    2. Na lista Assinatura, localize e selecione sua assinatura.
    3. Ao concluir, selecione Selecionar.

    Nome Sim <Nome da definição de política> O nome para usar na definição de política
    Descrição Não <Nome da definição de política> Uma descrição para a definição de política
    Categoria Sim Aplicativos lógicos O nome de uma categoria existente ou uma nova categoria para a definição de política
    Imposição de política Sim Enabled Essa configuração especifica se a definição de política deve ser habilitada ou desabilitada quando ao salvar seu trabalho.
  4. Em POLICY RULE, a caixa de edição JSON é pré-preenchida com um modelo de definição de política. Substitua este modelo pela sua definição de política com base nas propriedades descritas na tabela abaixo e seguindo esta sintaxe:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "value": "[string(field('Microsoft.Logic/workflows/parameters'))]",
             "contains": "{connector-name}"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
    Propriedade Valor Descrição
    mode All O modo que determina os tipos de recursos que a política avalia.

    Esse cenário define mode para All, que aplica a política a grupos de recursos do Azure, assinaturas e todos os tipos de recursos.

    Para saber mais, consulte a Estrutura de definição de política – modo.

    if {condition-to-evaluate} A condição que determina quando impor a regra de política

    Nesse cenário, o {condition-to-evaluate} determina se a saída da cadeia de caracteres de [string(field('Microsoft.Logic/workflows/parameters'))], contém a cadeia de caracteres {connector-name}.

    Para saber mais, consulte a Estrutura de definição de política – Regra de política.

    value [string(field('Microsoft.Logic/workflows/parameters'))] O valor a ser comparado a condição

    Nesse cenário, o value é a saída da cadeia de caracteres de [string(field('Microsoft.Logic/workflows/parameters'))], que converte o $connectors objeto dentro do Microsoft.Logic/workflows/parameters objeto em uma cadeia de caracteres.

    contains {connector-name} O operador lógico e o valor a ser usado para comparar com a propriedade value

    Nesse cenário, o contains operador garante que a regra funcione independente de onde {connector-name} aparece, em que a cadeia de caracteres, {connector-name}, é a ID do conector que você deseja restringir ou bloquear.

    Por exemplo, imagine que você deseja bloquear o uso de conexões para bancos de dados ou plataformas de mídia social:

    - Twitter: twitter
    - Instagram: instagram
    - Facebook: facebook
    - Pinterest: pinterest
    - SQL Server ou SQL do Azure: sql

    Para encontrar essas IDs de conector, consulte Localizar ID de referência do conector, mencionado antes neste tópico.

    then {effect-to-apply} O efeito para aplicar quando a ifcondição é atendida

    Nesse cenário, o {effect-to-apply} é bloquear e reprovar uma solicitação ou operação que não está em conformidade com a política.

    Para saber mais, consulte a Estrutura de definição de política – Regra de política.

    effect deny O effect é para deny ou bloquear a solicitação para salvar um aplicativo lógico que usa a conexão especificada

    Para saber mais, consulte Entender os efeitos da Azure Policy - Negar.

    Por exemplo, imagine que você deseja bloquear o processo de salvar aplicativos lógicos que usam conexões do Instagram. Esta é a definição de política que você pode usar:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "value": "[string(field('Microsoft.Logic/workflows/parameters'))]",
             "contains": "instagram"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    

    A forma que a opção REGRA DE POLÍTICA é exibida assim:

    Screenshot showing policy definition rule.

  5. Quando terminar, selecione Salvar. Depois de salvar a definição de política, o Azure Policy gera e adiciona mais valores de propriedade à definição de política.

  6. Em seguida, para atribuir a definição de política onde você deseja impor a política, selecione criar uma atribuição de política.

Para obter mais informações sobre as definições do Azure Policy, confira estes tópicos:

Criar atribuição de política

Em seguida, você precisa atribuir a definição de política onde deseja impor a política, por exemplo, em um único grupo de recursos, em vários grupos de recursos, em um locatário do Microsoft Entra ou em uma assinatura do Azure. Para executar essa tarefa, siga as etapas a seguir para criar uma atribuição de política:

  1. No portal do Azure, na caixa de pesquisa, insira a política e selecione Política.

    Screenshot showing Azure portal search box with

  2. No menu Política, em Criação, selecione Atribuições. Na barra de ferramentas do painel Atribuições, selecione Atribuir política.

    Screenshot showing

  3. No painel Atribuir política, em Noções básicas, forneça estas informações para a atribuição de política:

    Propriedade Obrigatório Descrição
    Escopo Sim Os recursos nos quais você deseja impor a atribuição de política.

    1. Próximo a opção Escopo, selecione o botão de reticências ( ... ).
    2. Na lista Assinatura, selecione a assinatura do Azure.
    3. Opcionalmente, na lista Grupo de Recursos, selecione o grupo de recursos.
    4. Ao concluir, selecione Selecionar.

    Exclusões Não Qualquer recurso do Azure para excluir da atribuição de política.

    1. Próximo a opção Exclusões, selecione o botão de reticências ( ... ).
    2. Na lista Recursos, selecione o recurso >Adicionar ao Escopo Selecionado.
    3. Ao concluir, selecione Salvar.

    Definição de política Sim O nome para a definição de política que você deseja atribuir e impor. Este exemplo continua com a política do Instagram de exemplo, "Bloquear conexões do Instagram".

    1. Próximo a opção Definição de política, selecione o botão de reticências ( ... ).
    2. Localize e selecione a definição de política usando o filtro tipo ou a opção Pesquisa.
    3. Ao concluir, selecione Selecionar.

    Nome da atribuição Sim O nome para usar na atribuição de política, se for diferente da definição de política
    ID da Atribuição Sim A ID gerada automaticamente para a atribuição de política
    Descrição Não Uma descrição para a atribuição de política
    Imposição de política Sim A configuração que habilita ou desabilita a atribuição de política
    Atribuída por Não O nome da pessoa que criou e aplicou a atribuição de política

    Por exemplo, para atribuir a política a um grupo de recursos do Azure usando o exemplo do Instagram:

    Screenshot showing policy assignment properties.

  4. Quando terminar, selecione Review + create.

    Depois de criar uma política, você deve aguardar até 15 minutos para a política entrar em vigor. As alterações também podem sofrer efeitos de atrasos semelhantes.

  5. Depois que a política entrar em vigor, você poderá testar sua política.

Para obter mais informações, consulte Guia de início rápido: criar uma atribuição de política para identificar recursos não compatíveis.

Testar a política

Para testar a política, comece a criar uma conexão usando o conector atualmente restrito no designer de fluxo. Ainda com o exemplo do Instagram, quando você se conecta no Instagram, o erro de que seu aplicativo lógico falhou ao criar a conexão é exibido:

Screenshot showing connection failure due to applied policy.

A mensagem inclui estas informações:

Descrição Conteúdo
Motivo da falha "Resource 'instagram' was disallowed by policy."
Nome da atribuição "Block Instagram connections"
ID da Atribuição "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/resourceGroups/MyLogicApp-RG/providers/Microsoft.Authorization/policyAssignments/4231890fc3bd4352acb0b673"
ID de definição de política "/subscriptions/xxxxxXXXXXxxxxxXXXXXxxxxxXXXXX/providers/Microsoft.Authorization/policyDefinitions/b5ddcfec-1b24-4cac-a353-360846a59f24"

Próximas etapas