Sobre credenciais de API e gerenciador de credenciais

APLICA-SE A: Todas as camadas de gerenciamento de API

Para ajudá-lo a gerenciar o acesso a APIs de back-end, sua instância de Gerenciamento de API inclui um gerenciador de credenciais. Use o gerenciador de credenciais para gerenciar, armazenar e controlar o acesso às credenciais da API a partir da sua instância de Gerenciamento de API.

Nota

  • Atualmente, você pode usar o gerenciador de credenciais para configurar e gerenciar conexões (anteriormente chamadas de autorizações) para APIs OAuth 2.0 de back-end.
  • Nenhuma alteração significativa é introduzida com o gerenciador de credenciais. Os provedores de credenciais e conexões OAuth 2.0 usam as APIs de autorização de Gerenciamento de API existentes e o provedor de recursos.

Conexões gerenciadas para APIs do OAuth 2.0

Usando o gerenciador de credenciais, você pode simplificar muito o processo de autenticação e autorização de usuários, grupos e entidades de serviço em um ou mais serviços de back-end ou SaaS que usam OAuth 2.0. Usando o gerenciador de credenciais do Gerenciamento de API, configure facilmente o OAuth 2.0, consinta, adquira tokens, armazene tokens em cache em um repositório de credenciais e atualize tokens sem escrever uma única linha de código. Use políticas de acesso para delegar autenticação à sua instância de Gerenciamento de API, entidades de serviço, usuários ou grupos. Para obter informações básicas sobre o OAuth 2.0, consulte Plataforma de identidade da Microsoft e fluxo de código de autorização do OAuth 2.0.

Esse recurso permite que as APIs sejam expostas com ou sem uma chave de assinatura, usem autorizações OAuth 2.0 para serviços de back-end e reduzam os custos de desenvolvimento ao aumentar, implementar e manter recursos de segurança com integrações de serviços.

Diagrama do gerenciador de credenciais de gerenciamento de API e provedores de identidade SaaS suportados.

Casos de utilização de exemplo

Usando conexões OAuth gerenciadas no Gerenciamento de API, os clientes podem se conectar facilmente a provedores de SaaS ou serviços de back-end que usam o OAuth 2.0. Seguem-se alguns exemplos:

  • Conecte-se facilmente a um back-end SaaS anexando o token de autorização armazenado e solicitações de proxy

  • Solicitações de proxy para um aplicativo Web do Serviço de Aplicativo do Azure ou back-end do Azure Functions anexando o token de autorização, que pode enviar solicitações posteriormente para um back-end SaaS aplicando lógica de transformação

  • Solicitações de proxy para back-ends de federação do GraphQL anexando vários tokens de acesso para executar facilmente a federação

  • Exponha um ponto de extremidade de token de recuperação, adquira um token armazenado em cache e chame um back-end SaaS em nome do usuário a partir de qualquer computação, por exemplo, um aplicativo de console ou daemon Kubernetes. Combine seu SDK SaaS favorito em um idioma compatível.

  • Cenários autônomos do Azure Functions ao se conectar a vários back-ends SaaS.

  • O Durable Functions fica um passo mais perto dos Aplicativos Lógicos com conectividade SaaS.

  • Com conexões OAuth 2.0, cada API no Gerenciamento de API pode atuar como um conector personalizado de Aplicativos Lógicos.

Como funciona o gestor de credenciais?

As credenciais de token no gerenciador de credenciais consistem em duas partes: gerenciamento e tempo de execução.

  • A parte de gerenciamento no gerenciador de credenciais cuida da instalação e configuração de um provedor de credenciais para tokens OAuth 2.0, habilitando o fluxo de consentimento para o provedor de identidade e configurando uma ou mais conexões com o provedor de credenciais para acesso às credenciais. Para obter detalhes, consulte Gerenciamento de conexões.

  • A parte de tempo de execução usa a get-authorization-context política para buscar e armazenar os tokens de acesso e atualização da conexão. Quando uma chamada entra no Gerenciamento de API e a get-authorization-context política é executada, ela primeiro valida se o token de autorização existente é válido. Se o token de autorização tiver expirado, o Gerenciamento de API usará um fluxo OAuth 2.0 para atualizar os tokens armazenados do provedor de identidade. Em seguida, o token de acesso é usado para autorizar o acesso ao serviço de back-end. Para obter detalhes, consulte Tempo de execução de conexões.

Quando usar o gerenciador de credenciais?

A seguir estão três cenários para usar o gerenciador de credenciais.

Cenário de configuração

Depois de configurar o provedor de credenciais e uma conexão, o gerenciador de API pode testar a conexão. O gerenciador de API configura uma API OAuth de back-end de teste para usar a get-authorization-context política usando a identidade gerenciada da instância. O gerenciador de API pode então testar a conexão chamando a API de teste.

Diagrama do cenário de configuração inicial para o gerenciador de credenciais.

Cenário autônomo

Por padrão, quando uma conexão é criada, uma política de acesso e uma conexão são pré-configuradas para a identidade gerenciada da instância de Gerenciamento de API. Para usar essa conexão, diferentes usuários podem entrar em um aplicativo cliente, como um aplicativo Web estático, que chama uma API de back-end exposta por meio do Gerenciamento de API. Para fazer essa chamada, as conexões são aplicadas usando a get-authorization-context política. Como a chamada de API usa uma conexão pré-configurada que não está relacionada ao contexto do usuário, os mesmos dados são retornados para todos os usuários.

Diagrama do cenário de identidade gerenciada para o gerenciador de credenciais.

Cenário assistido (delegado pelo usuário)

Para habilitar uma experiência de autenticação simplificada para usuários de aplicativos cliente, como aplicativos Web estáticos, que chamam APIs SaaS de back-end que exigem um contexto de usuário, você pode habilitar o acesso a uma conexão em nome de uma identidade de usuário ou grupo do Microsoft Entra. Nesse caso, um usuário configurado precisa fazer login e fornecer consentimento apenas uma vez, e a instância de Gerenciamento de API criará e gerenciará sua conexão depois disso. Quando o Gerenciamento de API recebe uma chamada de entrada para ser encaminhada para um serviço externo, ele anexa o token de acesso da conexão à solicitação. Isso é ideal para quando as solicitações e respostas de API são voltadas para um indivíduo (por exemplo, recuperar informações de perfil específicas do usuário).

Diagrama de cenário delegado pelo usuário para o gerenciador de credenciais.

Como configurar o gerenciador de credenciais?

Requisitos

  • A identidade atribuída ao sistema gerenciado deve ser habilitada para a instância de Gerenciamento de API.

  • A instância de Gerenciamento de API deve ter conectividade de saída com a Internet na porta 443 (HTTPS).

Disponibilidade

  • Todas as camadas de serviço de Gerenciamento de API

  • Não suportado no gateway auto-hospedado

  • Não suportado em nuvens soberanas ou nas seguintes regiões: australiacentral, australiacentral2, indiacentral

Exemplos passo a passo

Considerações de segurança

O token de acesso e outros segredos (por exemplo, segredos de cliente) são criptografados com uma criptografia de envelope e armazenados em um armazenamento interno multilocatário. Os dados são criptografados com AES-128 usando uma chave que é exclusiva por dados. Essas chaves são criptografadas assimetricamente com um certificado mestre armazenado no Cofre de Chaves do Azure e giradas todos os meses.

Limites

Recurso Limite
Número máximo de provedores de credenciais por instância de serviço 1,000
Número máximo de conexões por provedor de credenciais 10.000
Número máximo de políticas de acesso por ligação 100
Número máximo de pedidos de autorização por minuto e por ligação 250

Perguntas mais frequentes (FAQ)

Quando os tokens de acesso são atualizados?

Para uma conexão de código de autorização de tipo, os tokens de acesso são atualizados da seguinte maneira: Quando a política é executada em tempo de execução, o get-authorization-context Gerenciamento de API verifica se o token de acesso armazenado é válido. Se o token tiver expirado ou estiver perto de expirar, o Gerenciamento de API usará o token de atualização para buscar um novo token de acesso e um novo token de atualização do provedor de identidade configurado. Se o token de atualização tiver expirado, um erro será lançado e a conexão precisará ser autorizada novamente antes de funcionar.

O que acontece se o segredo do cliente expirar no provedor de identidade?

No tempo de execução, o Gerenciamento de API não pode buscar novos tokens e ocorre um erro.

  • Se a conexão for do tipo código de autorização, o segredo do cliente precisará ser atualizado no nível do provedor de credenciais.

  • Se a conexão for do tipo credenciais de cliente, o segredo do cliente precisará ser atualizado no nível de conexão.

Esse recurso é suportado usando o Gerenciamento de API em execução dentro de uma rede virtual?

Sim, desde que a conectividade de saída na porta 443 esteja habilitada para a marca de serviço AzureConnectors . Para obter mais informações, consulte Referência de configuração de rede virtual.

O que acontece quando um provedor de credenciais é excluído?

Todas as conexões subjacentes e políticas de acesso também são excluídas.

Os tokens de acesso são armazenados em cache pelo Gerenciamento de API?

Nas camadas de serviço clássica e v2, o token de acesso é armazenado em cache pela instância de Gerenciamento de API até 3 minutos antes do tempo de expiração do token. Se o token de acesso estiver a menos de 3 minutos da expiração, o tempo armazenado em cache será até que o token de acesso expire.

Os tokens de acesso não são armazenados em cache na camada de Consumo.