Proteger o acesso ao portal do programador na Gestão de API

APLICA-SE A: Developer | Básico | Básico v2 | Padrão | Padrão v2 | Prémio

O Gerenciamento de API tem um portal de desenvolvedor gerenciado, autônomo e totalmente personalizável, que pode ser usado externamente (ou internamente) para permitir que os usuários desenvolvedores descubram e interajam com as APIs publicadas por meio do Gerenciamento de API. O portal do desenvolvedor tem várias opções para facilitar a inscrição e o login seguros do usuário.

Nota

Por padrão, o portal do desenvolvedor permite o acesso anônimo. Isso significa que qualquer pessoa pode visualizar o portal e o conteúdo, como APIs, sem fazer login, embora a funcionalidade, como usar o console de teste, seja restrita. Você pode habilitar uma configuração que exija que os usuários entrem para exibir o portal do desenvolvedor. No portal do Azure, no menu esquerdo da sua instância de Gerenciamento de API, em Portal do desenvolvedor, selecione Configurações de identidade.> Em Utilizadores anónimos, selecione (ativar) Redirecionar utilizadores anónimos para a página de início de sessão.

Opções de autenticação

  • Usuários externos - A opção preferida quando o portal do desenvolvedor é consumido externamente é habilitar o controle de acesso de empresa para consumidor por meio do Azure Ative Directory B2C (Azure AD B2C).

    • O Azure AD B2C oferece a opção de usar contas nativas do Azure AD B2C: os usuários se inscrevem no Azure AD B2C e usam essa identidade para acessar o portal do desenvolvedor.
    • O Azure AD B2C também é útil se você quiser que os usuários acessem o portal do desenvolvedor usando mídias sociais existentes ou contas organizacionais federadas.
    • O Azure AD B2C fornece muitos recursos para melhorar a experiência de inscrição e entrada do usuário final, incluindo acesso condicional e MFA.

    Para conhecer as etapas para habilitar a autenticação do Azure AD B2C no portal do desenvolvedor, consulte Como autorizar contas de desenvolvedor usando o Azure Ative Directory B2C no Gerenciamento de API do Azure.

  • Usuários internos - A opção preferida quando o portal do desenvolvedor é consumido internamente é aproveitar sua ID corporativa do Microsoft Entra. O Microsoft Entra ID fornece uma experiência de logon único (SSO) perfeita para usuários corporativos que precisam acessar e descobrir APIs por meio do portal do desenvolvedor.

    Para conhecer as etapas para habilitar a autenticação do Microsoft Entra no portal do desenvolvedor, consulte Como autorizar contas de desenvolvedor usando a ID do Microsoft Entra no Gerenciamento de API do Azure.

  • Autenticação básica - Uma opção padrão é usar o provedor de nome de usuário e senha interno do portal do desenvolvedor, que permite que os desenvolvedores se registrem diretamente no Gerenciamento de API e entrem usando contas de usuário do Gerenciamento de API. O registo do utilizador através desta opção está protegido por um serviço CAPTCHA.

Console de teste do portal do desenvolvedor

Além de fornecer configuração para que os usuários desenvolvedores se inscrevam para acesso e entrem, o portal do desenvolvedor inclui um console de teste onde os desenvolvedores podem enviar solicitações de teste por meio do Gerenciamento de API para as APIs de back-end. Esse recurso de teste também existe para usuários contribuintes do Gerenciamento de API que gerenciam o serviço usando o portal do Azure.

Se a API exposta por meio do Gerenciamento de API do Azure estiver protegida com OAuth 2.0 - ou seja, um aplicativo de chamada (portador) precisa obter e passar um token de acesso válido - você poderá configurar o Gerenciamento de API para gerar um token válido em nome de um usuário do console de teste do portal do Azure ou do portal do desenvolvedor. Para obter mais informações, consulte Como autorizar o console de teste do portal do desenvolvedor configurando a autorização de usuário do OAuth 2.0.

Para habilitar o console de teste para adquirir um token OAuth 2.0 válido para teste de API:

  1. Adicione um servidor de autorização de usuário OAuth 2.0 à sua instância. Você pode usar qualquer provedor OAuth 2.0, incluindo Microsoft Entra ID, Azure AD B2C ou um provedor de identidade de terceiros.

  2. Em seguida, configure a API com as configurações para esse servidor de autorização. No portal, configure a autorização do OAuth 2.0 na página >Configurações da API Autorização de usuário de segurança>.

    Captura de tela das configurações de OAuth para uma API no portal.

Essa configuração do OAuth 2.0 para teste de API é independente da configuração necessária para o acesso do usuário ao portal do desenvolvedor. No entanto, o provedor de identidade e o usuário podem ser os mesmos. Por exemplo, um aplicativo de intranet pode exigir acesso do usuário ao portal do desenvolvedor usando SSO com sua identidade corporativa. Essa mesma identidade corporativa poderia obter um token, por meio do console de teste, para o serviço de back-end que está sendo chamado com o mesmo contexto de usuário.

Cenários

Diferentes opções de autenticação e autorização se aplicam a diferentes cenários. As seções a seguir exploram configurações de alto nível para três cenários de exemplo. Mais etapas são necessárias para proteger e configurar totalmente as APIs expostas por meio do Gerenciamento de API. No entanto, os cenários se concentram intencionalmente nas configurações mínimas recomendadas em cada caso para fornecer a autenticação e a autorização necessárias.

Cenário 1 - API e aplicativos da intranet

  • Um colaborador do Gerenciamento de API e um desenvolvedor de API de back-end deseja publicar uma API protegida pelo OAuth 2.0.
  • A API será consumida por aplicativos de área de trabalho cujos usuários entram usando SSO por meio do Microsoft Entra ID.
  • Os desenvolvedores de aplicativos de desktop também precisam descobrir e testar as APIs por meio do portal do desenvolvedor do Gerenciamento de API.

Principais configurações:

Configuração Referência
Autorize os usuários desenvolvedores do portal do desenvolvedor do Gerenciamento de API usando suas identidades corporativas e a ID do Microsoft Entra. Autorizar as contas de programador ao utilizar o Microsoft Entra ID no API Management do Azure
Configure o console de teste no portal do desenvolvedor para obter um token OAuth 2.0 válido para que os desenvolvedores de aplicativos de desktop exerçam a API de back-end.

A mesma configuração pode ser usada para o console de teste no portal do Azure, que é acessível aos colaboradores do Gerenciamento de API e desenvolvedores de back-end.

O token pode ser usado em combinação com uma chave de assinatura do Gerenciamento de API.
Como autorizar a consola de testes do portal do programador ao configurar a autorização de utilizador OAuth 2.0

Subscrições na Gestão de API do Azure
Valide o token OAuth 2.0 e as declarações quando uma API é chamada por meio do Gerenciamento de API com um token de acesso. Política validate-jwt

Vá um passo além com esse cenário, movendo o Gerenciamento de API para o perímetro da rede e controlando a entrada por meio de um proxy reverso. Para obter uma arquitetura de referência, consulte Proteger APIs com o Application Gateway e o Gerenciamento de API.

Cenário 2 - API externa, aplicativo de parceiro

  • Um colaborador do Gerenciamento de API e desenvolvedor de API de back-end deseja realizar uma prova de conceito rápida para expor uma API herdada por meio do Gerenciamento de API do Azure. A API através do Gerenciamento de API será voltada externamente (internet).
  • A API usa autenticação de certificado de cliente e será consumida por um novo aplicativo de página única (SPA) voltado para o público que está sendo desenvolvido offshore por um parceiro.
  • O SPA usa OAuth 2.0 com OpenID Connect (OIDC).
  • Os desenvolvedores de aplicativos acessarão a API em um ambiente de teste por meio do portal do desenvolvedor, usando um ponto de extremidade de back-end de teste para acelerar o desenvolvimento de frontend.

Principais configurações:

Configuração Referência
Configure o acesso do desenvolvedor frontend ao portal do desenvolvedor usando a autenticação padrão de nome de usuário e senha.

Os desenvolvedores também podem ser convidados para o portal do desenvolvedor.
Configurar usuários do portal do desenvolvedor para autenticação usando nomes de usuário e senhas

Como gerir contas de utilizador na Gestão de API do Azure
Valide o token OAuth 2.0 e as declarações quando o SPA chamar o Gerenciamento de API com um token de acesso. Neste caso, o público é o Gerenciamento de API. Política validate-jwt
Configure o Gerenciamento de API para usar a autenticação de certificado de cliente no back-end. Serviços de back-end seguros usando autenticação de certificado de cliente no Gerenciamento de API do Azure

Vá um passo além com esse cenário usando o portal do desenvolvedor com autorização do Microsoft Entra e colaboração B2B do Microsoft Entra para permitir que os parceiros de entrega colaborem mais de perto. Considere delegar o acesso ao Gerenciamento de API por meio do RBAC em um ambiente de desenvolvimento ou teste e habilite o SSO no portal do desenvolvedor usando suas próprias credenciais corporativas.

Cenário 3 - API externa, SaaS, aberta ao público

  • Um colaborador do Gerenciamento de API e desenvolvedor de API de back-end está escrevendo várias novas APIs que estarão disponíveis para desenvolvedores da comunidade.

  • As APIs estarão disponíveis publicamente, com funcionalidade completa protegida por trás de um paywall e protegida usando OAuth 2.0. Depois de comprar uma licença, o desenvolvedor receberá suas próprias credenciais de cliente e chave de assinatura que é válida para uso em produção.

  • Os desenvolvedores da comunidade externa descobrirão as APIs usando o portal do desenvolvedor. Os desenvolvedores se inscreverão e entrarão no portal do desenvolvedor usando suas contas de mídia social.

  • Os usuários do portal do desenvolvedor interessados com uma chave de assinatura de teste podem explorar a funcionalidade da API em um contexto de teste, sem a necessidade de comprar uma licença. O console de teste do portal do desenvolvedor representará o aplicativo de chamada e gerará um token de acesso padrão à API de back-end.

    Atenção

    É necessário cuidado extra ao usar um fluxo de credenciais de cliente com o console de teste do portal do desenvolvedor. Consulte as considerações de segurança.

Principais configurações:

Configuração Referência
Configure produtos no Gerenciamento de API do Azure para representar as combinações de APIs que são expostas aos desenvolvedores da comunidade.

Configure assinaturas para permitir que os desenvolvedores consumam as APIs.
Tutorial: criar e publicar um produto

Subscrições na Gestão de API do Azure
Configure o acesso do desenvolvedor da comunidade ao portal do desenvolvedor usando o Azure AD B2C. O Azure AD B2C pode ser configurado para trabalhar com um ou mais provedores de identidade de mídia social downstream. Como autorizar as contas de programador ao utilizar o Azure Active Directory B2C na Gestão de API do Azure
Configure o console de teste no portal do desenvolvedor para obter um token OAuth 2.0 válido para a API de back-end usando o fluxo de credenciais do cliente. Como autorizar a consola de testes do portal do programador ao configurar a autorização de utilizador OAuth 2.0

Ajuste as etapas de configuração mostradas neste artigo para usar o fluxo de concessão de credenciais do cliente em vez do fluxo de concessão do código de autorização.

Vá um passo além, delegando o registro do usuário ou a assinatura do produto e estenda o processo com sua própria lógica.

Próximos passos