Compartilhar via


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 o Azure Policy, você pode definir e impor políticas que impedem a criação ou o uso de conexões para conectores que você 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 guia mostra como configurar uma política que bloqueia conexões específicas usando o portal do Azure. Você também pode criar definições de política de outras maneiras. Por exemplo, você pode usar a API REST do Azure, o Azure PowerShell, a CLI do Azure ou os modelos do Azure Resource Manager. Para obter mais informações, consulte Criar e gerenciar políticas para impor a conformidade.

Pré-requisitos

  • Uma conta e uma assinatura do Azure. Caso não tenha uma assinatura, crie uma conta Azure gratuita.

  • A ID de referência para o conector que você deseja bloquear. Este guia mostra como encontrar essa ID de referência.

Localizar ID de referência do conector

Se você já tiver um fluxo de trabalho de aplicativo lógico com a conexão que deseja bloquear, ignore esta seção. Caso contrário, siga estas etapas para localizar a ID de referência do conector:

Localizar o ID usando o documento de referência do conector

  1. Revise a lista de conectores gerenciados do Azure Logic Apps.

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

    Por exemplo, se você quiser bloquear o conector do Gmail, vá para esta página:

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

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

    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/gmail"

Localizar a ID usando o portal do Azure

  1. Abra o recurso de aplicativo lógico no portal do Azure.

  2. Na barra lateral do recurso, 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.

  3. Na página de conexões de API , selecione a conexão. Depois que a página de conexão for aberta, no canto superior direito, selecione Exibição JSON.

  4. 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}"

    O exemplo a seguir mostra a propriedade id e o valor para uma conexão do Gmail.

    "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/gmail"

  5. No valor da propriedade id, copie e salve a ID de referência do conector, que aparece no final, por exemplo, gmail.

    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/gmail"

Bloquear a criação de conexões

Para bloquear a criação de uma conexão em um fluxo de trabalho, siga estas etapas:

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

    A captura de tela mostra a caixa de pesquisa do portal do Azure com a política inserida e a Política realçada.

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

    A captura de tela mostra a página Definições com a definição de política realçada.

  3. Na página Definição de política , forneça as informações para sua definição de política, com base nas propriedades na tabela que seguem a imagem:

    A captura de tela mostra os valores de definição de política para bloquear o Gmail.

    Parâmetro Obrigatório Valor Descrição
    Local da definição Sim < Nome da assinatura do Azure> Assinatura do Azure para usar na definição de política

    1. Para localizar sua assinatura, selecione as reticências (...).
    2. Na lista Assinatura, localize e selecione sua assinatura.
    3. Ao concluir, selecione Selecionar.
    Nome Sim < policy-definition-name> O nome a ser usado para a definição de política.
    Descrição Não < policy-definition-name> Uma descrição para a definição de política.
    Categoria Sim Aplicativos lógicos O nome de uma categoria ou nova categoria existente para a definição de política.
  4. Na regra Política, a caixa de edição JSON é pré-preenchida com um modelo de definição de política. Substitua este modelo pela definição de política com base nas propriedades descritas na tabela a seguir e usando esta sintaxe:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "field": "Microsoft.Web/connections/api.id",
             "like": "*managedApis/{connector-name}"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
    Keyword 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:

    - X: x
    - Facebook: facebook
    - Pinterest: pinterest
    - SQL Server ou SQL do Azure: sql

    Para encontrar essas IDs do conector, consulte Localizar ID de referência do conector anteriormente neste artigo.
    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, suponha que você queira bloquear a criação de conexões com o conector do Gmail. Esta é a definição de política que você pode usar:

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

    Esta é a maneira como a caixa de regra política é exibida:

    A captura de tela mostra a caixa de regras de política com um exemplo de regra de política.

    Para vários conectores, você pode adicionar mais de uma condição, por exemplo:

    {
       "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": {}
     }
    
  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.

Para atribuir a definição de política em que você deseja impor a política, crie uma atribuição de política, conforme descrito posteriormente neste artigo.

Para obter mais informações sobre definições do Azure Policy, consulte:

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

Quando você cria uma conexão em um fluxo de trabalho, essa conexão existe como um recurso separado do Azure. Se você excluir apenas o fluxo de trabalho ou o recurso de aplicativo lógico, o recurso de conexão não será excluído automaticamente e continuará existindo até ser excluído. Você pode ter um cenário em que o recurso de conexão já existe ou onde você precisa criar o recurso de conexão para uso fora do recurso de aplicativo lógico.

Você ainda pode bloquear a capacidade de associar a conexão a um recurso de aplicativo lógico diferente criando uma política que impede salvar fluxos de trabalho que tentam usar a conexão restrita ou não aprovada. Essa política afeta apenas fluxos de trabalho 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.

    A captura de tela mostra a caixa de pesquisa do portal do Azure com a política inserida e a Política realçada.

  2. No menu Política, em Criação, selecione Definições. Na barra de ferramentas da página Definições , selecione a definição de política.

    A captura de tela mostra a página Definições com a definição de política realçada.

  3. Na definição de política, forneça as informações para sua definição de política, com base nas propriedades na tabela que segue a imagem.

    Captura de tela mostrando valores de definição de política para salvar conexões do Gmail.

    Parâmetro Obrigatório Valor Descrição
    Local da definição Sim < Nome da assinatura do Azure> 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 < policy-definition-name> O nome para usar na definição de política
    Descrição Não < policy-definition-name> 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
  4. Em Regra de Política, a caixa de edição JSON é pré-preenchida com um modelo de definição de política. Substitua este modelo pela definição de política com base nas propriedades descritas na tabela a seguir e usando esta sintaxe:

    {
       "mode": "All",
       "policyRule": {
          "if": {
             "value": "[string(field('Microsoft.Logic/workflows/parameters'))]",
             "contains": "{connector-name}"
          },
          "then": {
             "effect": "deny"
          }
       },
       "parameters": {}
     }
    
    Keyword 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:

    - X: x
    - Facebook: facebook
    - Pinterest: pinterest
    - SQL Server ou SQL do Azure: sql

    Para encontrar essas IDs do conector, consulte Localizar ID de referência do conector anteriormente neste artigo.
    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, suponha que você queira bloquear o salvamento de aplicativos lógicos que usam conexões do Gmail. Esta é a definição de política que você pode usar:

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

    Esta é a maneira como a regra de definição de política é exibida:

    A captura de tela mostra uma regra de definição de política.

  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.

Para atribuir a definição de política em que você deseja impor a política, crie uma atribuição de política, conforme descrito posteriormente neste guia.

Para obter mais informações sobre definições do Azure Policy, consulte:

Criar atribuição de política

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

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

    A captura de tela mostra a caixa de pesquisa do portal do Azure com a política inserida e a Política realçada.

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

    A captura de tela mostra a barra de ferramentas Atribuições com a política 'Assign' realçada.

  3. Na página Atribuir política , em Noções Básicas, forneça essas informações para a atribuição de política:

    Parâmetro 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.
    Seletores de recurso Não
    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 Gmail de exemplo, bloquear conexões do Gmail.

    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.
    Substituições Não
    Nome da atribuição Sim O nome a ser usado para a atribuição de política, se diferente da definiçã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.

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

    Captura de tela mostrando valores de atribuição de política.

  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.

Depois que a política entrar em vigor, teste sua política na próxima seção.

Para saber mais, confira o Início Rápido: Criar uma atribuição de política para identificar recursos fora de conformidade.

Testar a política

Para testar a política, comece a criar uma conexão usando o conector atualmente restrito no designer de fluxo. Continuando com o exemplo do Gmail, ao entrar no Gmail, você recebe um erro de que o fluxo de trabalho falhou ao criar a conexão.

A mensagem de erro inclui estas informações:

Descrição Conteúdo
Motivo da falha "Resource 'gmail' was disallowed by policy."
Nome da atribuição "Block Gmail connections"
ID da Atribuição "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyLogicApp-RG/providers/Microsoft.Authorization/policyAssignments/4231890fc3bd4352acb0b673"
ID de definição de política "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Authorization/policyDefinitions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"