Compartilhar via


Proteger serviços de back-end usando a autenticação de certificado do cliente no Gerenciamento de API do Azure

APLICA-SE A: todas as camadas do Gerenciamento de API

O Gerenciamento de API permite que você proteja o acesso ao serviço de back-end de uma API usando certificados de cliente e autenticação TLS mútua. Este artigo mostra como gerenciar certificados no Gerenciamento de API usando o portal do Azure. Também explica como configurar uma API para usar um certificado para acessar um serviço de back-end.

Você também pode gerenciar certificados de Gerenciamento de API usando a API REST de Gerenciamento de API.

Opções de certificado

O Gerenciamento de API fornece duas opções para gerenciar certificados usados para proteger o acesso aos serviços de back-end:

  • Faça referência a um certificado gerenciado no Azure Key Vault.
  • Adicione um arquivo de certificado diretamente no Gerenciamento de API.

Observação

Atualmente, a integração com o cofre de chaves para esse cenário não está disponível em workspaces.

Recomendamos que você use certificados do cofre de chaves porque isso melhora a segurança do Gerenciamento de API:

  • Certificados armazenados em cofres de chaves podem ser reutilizados entre serviços.
  • As políticas de acesso granular podem ser aplicadas a certificados armazenados em cofres de chaves.
  • Os certificados atualizados no cofre de chaves são automaticamente girados no Gerenciamento de API. Após uma atualização no cofre de chaves, um certificado no Gerenciamento de API é atualizado dentro de quatro horas. Você também pode atualizar manualmente o certificado usando o portal do Azure ou por meio da API REST de gerenciamento.

Pré-requisitos

Observação

Recomendamos que você use o módulo Azure Az PowerShell para interagir com o Azure. Para começar, consulte Instalar o Microsoft Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, veja Migrar o Microsoft Azure PowerShell do AzureRM para o Az.

  • Se você ainda não criou uma instância de Gerenciamento de API, consulte Criar uma instância de serviço de Gerenciamento de API.

  • Configure a autenticação de certificado do cliente do serviço de back-end. Para obter informações sobre como configurar a autenticação de certificado no Serviço de Aplicativo do Azure, consulte Configurar a autenticação mútua do TLS no Serviço de Aplicativo.

  • Verifique se você tem acesso ao certificado e à senha para gerenciamento em um cofre de chaves do Azure ou um certificado para carregar no serviço de Gerenciamento de API. O certificado deve estar no formato PFX. Os certificados autoassinados são permitidos.

  • Se você usar um certificado autoassinado ou outro certificado de AC personalizado e sua instância de Gerenciamento de API estiver em uma das camadas clássicas, instale os certificados de AC raiz e intermediários correspondentes no Gerenciamento de API para habilitar a validação do certificado de serviço de back-end. Para obter mais informações, consulte Como adicionar um certificado de AC personalizado no Gerenciamento de API do Azure

    Se você não instalar os certificados de AC, o Gerenciamento de API não poderá validar o certificado de serviço de back-end e as solicitações para o serviço de back-end falharão, a menos que você desabilite a validação da cadeia de certificados. Consulte Desabilitar a validação da cadeia de certificados para certificados autoassinados mais adiante neste artigo.

    Importante

    Se sua instância de Gerenciamento de API estiver em uma das camadas v2, você só poderá configurar detalhes de certificados de AC nas credenciais de autorização de um back-end. Consulte as diretrizes para back-ends para obter mais informações.

    Observação

    Não há suporte para certificados de AC para validação de certificado na camada consumo.

Pré-requisitos para a integração do cofre de chaves

  1. Se você ainda não tiver um cofre de chaves, crie um. Para obter informações sobre como criar um cofre de chaves, consulte Início Rápido: Criar um cofre de chaves usando o portal do Azure.

  2. Habilite uma identidade gerenciada atribuída pelo sistema ou atribuída pelo usuário no Gerenciamento de API.

Configurar o acesso ao Key Vault

  1. No portal, vá para o cofre de chaves.
  2. No menu à esquerda, selecione Configurações>de Acesso. Observe o modelo de permissão configurado.
  3. Dependendo do modelo de permissão, configure uma política de acesso do cofre de chaves ou o Acesso do RBAC do Azure para uma identidade gerenciada do Gerenciamento de API.

Para adicionar uma política de acesso do cofre de chaves:

  1. No menu à esquerda, selecione Políticas de acesso.
  2. Na página Políticas de acesso, selecione + Criar.
  3. Na guia Permissões , em Permissões secretas, selecione Obter e Listar e selecione Avançar.
  4. Na guia Principal , pesquise o nome do recurso de sua identidade gerenciada e selecione Avançar. Se você estiver usando uma identidade atribuída pelo sistema, a entidade de segurança será o nome da instância de Gerenciamento de API.
  5. Selecione novamente Avançar. Na guia Revisar + criar, selecione Criar.

Para criar um certificado no cofre de chaves ou importar um certificado para o cofre de chaves, consulte Início Rápido: Definir e recuperar um certificado do Azure Key Vault usando o portal do Azure.

Requisitos para firewall do Key Vault

Se o firewall do Key Vault estiver habilitado no cofre de chaves, você deverá atender a estes requisitos:

  • Você deve usar a identidade gerenciada atribuída pelo sistema da instância de Gerenciamento de API para acessar o cofre de chaves.

  • No firewall do Key Vault, habilite a opção Permitir que os serviços confiáveis da Microsoft ignorem esse firewall. O Gerenciamento de API dá suporte à conectividade de serviço confiável para acessar o cofre de chaves para as opções do plano de gerenciamento.

  • Verifique se o endereço IP do cliente local tem permissão para acessar o cofre de chaves temporariamente enquanto você seleciona um certificado ou segredo a ser adicionado ao Gerenciamento de API do Azure. Para obter mais informações, confira Definir configurações de rede do Azure Key Vault.

    Depois de concluir a configuração, você pode bloquear o endereço do cliente no firewall do cofre de chaves.

Importante

A partir de março de 2026, não será mais oferecido suporte à conectividade confiável com os serviços do Azure a partir do gateway de Gerenciamento de API ao ativar a configuração de firewall 'Permitir que serviços confiáveis da Microsoft ignorem este firewall'. Para continuar acessando esses serviços no gateway de Gerenciamento de API após essa alteração, verifique se você escolheu uma opção de acesso à rede com suporte diferente. Para operações de plano de controle, você pode continuar a usar conectividade de serviço confiável. Saiba mais.

Requisitos de rede virtual

Se a instância do Gerenciamento de API for implantada em uma rede virtual, defina também as configurações de rede a seguir:

  • Habilite um ponto de extremidade de serviço para o Key Vault na sub-rede de Gerenciamento de API.
  • Configure uma regra de NSG (grupo de segurança de rede) para permitir tráfego de saída para as marcas de serviço AzureKeyVault e AzureActiveDirectory.

Para obter detalhes, consulte a configuração de rede ao configurar o Gerenciamento de API em uma rede virtual.

Adicionar um certificado do cofre de chaves

Veja Pré-requisitos para a integração do cofre de chaves.

Importante

Para adicionar um certificado do cofre de chaves à instância de Gerenciamento de API, você deve ter permissões para listar segredos do cofre de chaves.

Atenção

Ao usar um certificado do cofre de chaves no Gerenciamento de API, tenha cuidado para não excluir o certificado, o cofre de chaves ou a identidade gerenciada usada para acessar o cofre de chaves.

Para adicionar um certificado do cofre de chaves ao Gerenciamento de API:

  1. No portal do Azure, acesse sua instância de Gerenciamento de API.

  2. Em Segurança, selecione Certificados.

  3. Selecione Certificados>+ Adicionar.

  4. Na ID, insira um nome.

  5. Em Certificado, selecione Cofre de chaves.

  6. Insira o identificador de um certificado do cofre de chaves ou escolha Selecionar para selecionar um certificado de um cofre de chaves.

    Importante

    Se você inserir manualmente um identificador de certificado do cofre de chaves, certifique-se de que ele não tenha informações de versão. Caso contrário, o certificado não será girado automaticamente no Gerenciamento de API após uma atualização no cofre de chaves.

  7. Na identidade do cliente, selecione uma identidade atribuída pelo sistema ou uma identidade gerenciada atribuída pelo usuário existente. Para obter mais informações, confira Usar identidades gerenciadas no Gerenciamento de API do Azure.

    Observação

    A identidade precisa ter permissões para obter e listar certificados do cofre de chaves. Se você ainda não configurou o acesso ao cofre de chaves, o Gerenciamento de API solicitará que ele possa configurar automaticamente a identidade com as permissões necessárias.

  8. Selecione Adicionar.

    Captura de tela que mostra como adicionar um certificado do cofre de chaves ao Gerenciamento de API no portal.

  9. Clique em Salvar.

Carregar um certificado

Para carregar um certificado do cliente no Gerenciamento de API:

  1. No portal do Azure, acesse sua instância de Gerenciamento de API.

  2. Em Segurança, selecione Certificados.

  3. Selecione Certificados>+ Adicionar.

  4. Na ID, insira um nome.

  5. Em Certificado, selecione Personalizado.

  6. Navegue para selecionar o arquivo de certificado .pfx e digite sua senha.

  7. Selecione Adicionar.

    Captura de tela do upload de um certificado do cliente no Gerenciamento de API no portal.

  8. Clique em Salvar.

Depois que o certificado for carregado, ele será exibido na janela Certificados. Se você tiver muitos certificados, observe a impressão digital do certificado que você acabou de carregar. Você precisará dele para configurar uma API para usar o certificado do cliente para autenticação de gateway.

Configurar uma API para usar um certificado do cliente para a autenticação de gateway

  1. No portal do Azure, acesse sua instância de Gerenciamento de API.

  2. Em APIs, selecione APIs.

  3. Selecione uma API na lista.

  4. Na guia Design , selecione o ícone de lápis na seção Back-end .

  5. Nas credenciais do Gateway, selecione o certificado do cliente e, em seguida, selecione o certificado na lista de certificados do cliente .

  6. Clique em Salvar.

    Usar certificado do cliente para a autenticação de gateway

Atenção

Esta alteração tem efeito imediato. As chamadas para operações da API usarão o certificado para autenticar no servidor de back-end.

Dica

Quando um certificado é especificado para autenticação de gateway para o serviço de back-end de uma API, ele se torna parte da política para essa API e pode ser exibido no editor de políticas.

Desabilitar a validação da cadeia de certificados para certificados autoassinados

Se você estiver usando certificados autoassinados e sua instância de Gerenciamento de API estiver em uma das camadas clássicas, será necessário desabilitar a validação da cadeia de certificados para permitir que o Gerenciamento de API se comunique com o sistema de back-end. Caso contrário, você receberá um código de erro 500. Para desabilitar essa validação, você pode usar os New-AzApiManagementBackend cmdlets do PowerShell (para um novo back-end) ou Set-AzApiManagementBackend (para um back-end existente) e definir o -SkipCertificateChainValidation parâmetro como True:

$context = New-AzApiManagementContext -ResourceGroupName 'ContosoResourceGroup' -ServiceName 'ContosoAPIMService'
New-AzApiManagementBackend -Context  $context -Url 'https://contoso.com/myapi' -Protocol http -SkipCertificateChainValidation $true

Você também pode desabilitar a validação da cadeia de certificados usando a API REST de back-end.

Excluir um certificado do cliente

Para excluir um certificado, selecione Excluir no menu de reticências (...):

Excluir um certificado

Importante

Se o certificado for referenciado por políticas, uma tela de aviso será exibida. Para excluir o certificado, primeiro você deve removê-lo de todas as políticas configuradas para usá-lo.