Partilhar via


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

APLICA-SE A: Todas as camadas de 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. Ele 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 que são usados para proteger o acesso aos serviços de back-end:

  • Faça referência a um certificado gerenciado no Cofre de Chaves do Azure.
  • Adicione um arquivo de certificado diretamente no Gerenciamento de API.

Nota

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

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

  • Os certificados armazenados em cofres de chaves podem ser reutilizados em todos os serviços.
  • Políticas de acesso granulares podem ser aplicadas a certificados armazenados em cofres de chaves.
  • Os certificados atualizados no cofre de chaves são renovados automaticamente na Gestão 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

Nota

Recomendamos que utilize o módulo Azure Az do PowerShell para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o 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 do certificado de cliente do seu serviço 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 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 a um certificado para carregar no serviço de Gerenciamento de API. O certificado deve estar no formato PFX. Certificados autoassinados são permitidos.

  • Se usar um certificado auto-assinado ou outro certificado de CA personalizado e a sua instância de Gestão de API estiver num dos níveis clássicos, instale os certificados de CA raiz e intermédios correspondentes na Gestão de APIs para permitir a validação do certificado de serviço de backend. Para mais informações, consulte Como adicionar um certificado de CA personalizado no Azure API Management

    Se não instalar os certificados da CA, a Gestão da API não pode validar o certificado do serviço backend, e os pedidos ao serviço backend falham a menos que desative 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 a sua instância de Gestão de API estiver num dos níveis v2, só pode configurar detalhes dos certificados de CA nas credenciais de autorização de um backend. Consulte as orientações para backends para mais informações.

    Nota

    Os certificados CA necessários para a validação de certificados não são suportados na camada de Consumo.

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

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

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

Configurar o acesso ao cofre de chaves

  1. No portal, aceda ao cofre das chaves.
  2. No menu à esquerda, selecione Configurações>Configuração de acesso. Observe o modelo de permissão que está configurado.
  3. Dependendo do modelo de permissão, configure uma política de acesso ao cofre de chaves ou o acesso RBAC do Azure para uma identidade gerida pelo API Management.

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

  1. No menu à esquerda, selecione Políticas de acesso.
  2. Na página Políticas de acesso , selecione + Criar.
  3. No separador Permissões , em Permissões secretas, selecione Obter e Listar e, em seguida, selecione Seguinte.
  4. No separador Principal , procure o nome do recurso da sua identidade gerida e, em seguida, selecione Seguinte. Se você estiver usando uma identidade atribuída ao sistema, o principal será o nome da sua instância de Gerenciamento de API.
  5. Selecione Avançar novamente. No separador Revisão + Criação, selecione Criar.

Para criar um certificado no cofre da chave ou importar um certificado para o cofre da chave, consulte Guia de início rápido: definir e recuperar um certificado do Cofre da Chave do Azure usando o portal do Azure.

Requisitos para o firewall do Key Vault

Se o firewall do Cofre da Chave estiver habilitado no cofre da chave, você deverá atender aos seguintes 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 Cofre de Chaves, habilite a opção Permitir que Serviços Microsoft Confiáveis ignorem esse firewall . A Gestão de APIs suporta conectividade de serviços de confiança para aceder ao cofre de chaves para opções no plano de controlo.

  • Certifique-se de que o endereço IP do cliente local tenha permissão para acessar o cofre de chaves temporariamente enquanto seleciona um certificado ou segredo para adicionar ao Gerenciamento de API do Azure. Para obter mais informações, consulte Configurar configurações de rede do Cofre da Chave do Azure.

    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, a conectividade de serviço fidedigno para serviços Azure a partir do gateway de Gestão de API, ao ativar a configuração de firewall Permitir que Serviços Microsoft de Confiança contornem esta configuração, deixará de ser suportada. Para continuar a aceder a estes serviços a partir do gateway de Gestão de API após esta alteração, certifique-se de que escolhe uma opção de acesso à rede suportada diferente. Para operações no plano de controlo, pode continuar a usar conectividade de serviços fidedigna. Mais informações.

Requisitos da rede virtual

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

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

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

Adicionar um certificado ao cofre de chaves

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

Importante

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

Atenção

Ao usar um certificado de 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 de cofre de chaves ao Gerenciamento de API:

  1. No portal do Azure, vá para sua instância de Gerenciamento de API.

  2. Em Segurança, selecione Certificados.

  3. Selecione Certificados>+ Adicionar.

  4. Em 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ê mesmo inserir 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. Em 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, consulte Usar identidades gerenciadas no Gerenciamento de API do Azure.

    Nota

    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 de cofre de chaves ao Gerenciamento de API no portal.

  9. Selecione Guardar.

Carregar um certificado

Para carregar um certificado de cliente para o Gerenciamento de API:

  1. No portal do Azure, vá para sua instância de Gerenciamento de API.

  2. Em Segurança, selecione Certificados.

  3. Selecione Certificados>+ Adicionar.

  4. Em Id, insira um nome.

  5. Em Certificado, selecione Personalizado.

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

  7. Selecione Adicionar.

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

  8. Selecione Guardar.

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

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

  1. No portal do Azure, vá para 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. Em Credenciais de Gateway, selecione Certificado de Cliente e, em seguida, selecione um certificado na lista de Certificado de Cliente.

  6. Selecione Guardar.

    Utilizar certificado de cliente para autenticação no gateway

Atenção

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

Gorjeta

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 estiver a usar certificados auto-assinados e a sua instância de Gestão de API estiver num dos níveis clássicos, precisa de desativar a validação da cadeia de certificados para permitir que a Gestão de API comunique com o sistema backend. 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 de cliente

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

Excluir um certificado

Importante

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