Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
A partir de 1º de maio de 2025, o Azure AD B2C não estará mais disponível para compra para novos clientes. Saiba mais em nossas perguntas frequentes.
Saiba como restringir o acesso à API de Gerenciamento de API do Azure a clientes autenticados com o Azure AD B2C (Azure Active Directory B2C). Siga as instruções neste artigo para criar e testar uma política de entrada no Gerenciamento de API do Azure que restringe o acesso apenas às solicitações que incluem um token de acesso válido emitido pelo Azure AD B2C.
Pré-requisitos
Antes de começar, verifique se você tem os seguintes recursos em vigor:
- Umlocatário do Azure AD B2C
- Um aplicativo registrado em seu locatário
- Fluxos de usuário criados em seu locatário
- Uma API publicada no Gerenciamento de API do Azure
Obter a ID do aplicativo B2C do Azure AD
Ao proteger uma API no Gerenciamento de API do Azure com o Azure AD B2C, você precisará de vários valores para a política de entrada criada no Gerenciamento de API do Azure. Primeiro, registre o ID de um aplicativo que você criou anteriormente em seu cliente do Azure AD B2C. Se você estiver usando o aplicativo criado para atender aos pré-requisitos, use o ID do aplicativo para webapp1.
Para registrar um aplicativo no locatário do Azure AD B2C, você pode usar a nossa nova experiência unificada de Registros de aplicativo ou a nossa experiência herdada Aplicativos. Saiba mais sobre a nova experiência de registros.
- Entre no portal do Azure.
- Se você tiver acesso a vários locatários, selecione o ícone Configurações no menu superior para alternar para seu locatário do Azure AD B2C no menu Diretórios + assinaturas.
- No painel esquerdo, selecione Azure AD B2C. Como alternativa, você pode selecionar Todos os serviços e, em seguida, pesquisar e selecionar o Azure AD B2C.
- Selecione registros de aplicativo e, em seguida, selecione a guia Aplicativos de Propriedade .
- Registre o valor na coluna ID do aplicativo (cliente) para webapp1 ou para outro aplicativo criado anteriormente.
Obter um ponto de extremidade do emissor do token
Em seguida, obtenha a URL de configuração conhecida para um dos fluxos de usuário do Azure AD B2C. Você também precisa do URI do ponto de extremidade do emissor do token que deseja suportar no Gerenciamento de API do Azure.
No portal do Azure, vá até o locatário do Azure AD B2C.
Em Políticas, selecione Fluxos dos usuários.
Selecione uma política existente (por exemplo, B2C_1_signupsignin1) e selecione Executar fluxo de usuário.
Registre a URL no hiperlink exibido sob o título Executar fluxo de usuário próximo à parte superior da página. Esta URL é o ponto de descoberta bem conhecido do OpenID Connect para o fluxo do usuário, e você o usará na próxima seção quando configurar a política de entrada na Gestão de APIs do Azure.
Selecione o hiperlink para ir para a página de configuração conhecida do OpenID Connect.
Na página que é aberta no navegador, registre o valor do
issuer. Por exemplo:https://<tenant-name>.b2clogin.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0/Você usará esse valor na próxima seção, quando configurar sua API no Gerenciamento de API do Azure.
Agora você deve ter dois URLs registrados para uso na próxima seção: o URL do ponto de extremidade de configuração conhecido do OpenID Connect e o URI do emissor. Por exemplo:
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/B2C_1_signupsignin1/v2.0/.well-known/openid-configuration
https://<tenant-name>.b2clogin.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/
Configurar a política de entrada no Gerenciamento de API do Azure
Agora você está pronto para adicionar a política de entrada no Gerenciamento de API do Azure que valida chamadas à API. Ao adicionar uma política de validação JWT (token Web JSON) que verifica o público-alvo e o emissor em um token de acesso, você pode garantir que somente as chamadas à API com um token válido sejam aceitas.
No portal do Azure, acesse sua instância de Gerenciamento de API do Azure.
Selecione APIs.
Selecione a API que você deseja proteger com o Azure AD B2C.
Selecione a guia Design.
Em Processamento de Entrada, selecione</>para abrir o editor de código de política.
Coloque a seguinte
<validate-jwt>marca dentro da<inbound>política e faça o seguinte:um. Atualize o valor
urlno elemento<openid-config>com o URL de configuração conhecido de sua política.
b. Atualize o<audience>elemento com a ID do aplicativo que você criou anteriormente em seu locatário B2C (por exemplo, webapp1).
c. Atualize o elemento<issuer>com o ponto de extremidade do emissor do token que você registrou anteriormente.<policies> <inbound> <validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid."> <openid-config url="https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/B2C_1_signupsignin1/v2.0/.well-known/openid-configuration" /> <audiences> <audience>00001111-aaaa-2222-bbbb-3333cccc4444</audience> </audiences> <issuers> <issuer>https://<tenant-name>.b2clogin.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/</issuer> </issuers> </validate-jwt> <base /> </inbound> <backend> <base /> </backend> <outbound> <base /> </outbound> <on-error> <base /> </on-error> </policies>
Suporte para vários aplicativos e emissores
Vários aplicativos normalmente interagem com uma única API REST. Para permitir que sua API aceite tokens destinados a vários aplicativos, adicione suas IDs de aplicativo ao <audiences> elemento na política de entrada do Gerenciamento de API do Azure.
<!-- Accept tokens intended for these recipient applications -->
<audiences>
<audience>00001111-aaaa-2222-bbbb-3333cccc4444</audience>
<audience>11112222-bbbb-3333-cccc-4444dddd5555</audience>
</audiences>
Da mesma forma, para dar suporte a vários emissores de token, adicione seus URIs de ponto de extremidade ao elemento <issuers> na política de entrada do Gerenciamento de API do Azure.
<!-- Accept tokens from multiple issuers -->
<issuers>
<issuer>https://<tenant-name>.b2clogin.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/</issuer>
<issuer>https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/</issuer>
</issuers>
Migrar para b2clogin.com
Se você tiver uma API de Gerenciamento de APIs do Azure que valida tokens emitidos pelo ponto de extremidade herdado login.microsoftonline.com, deverá migrar a API e os aplicativos que o chamam para usar tokens emitidos pelo b2clogin.com.
Você pode seguir este processo geral para executar uma migração em etapas:
- Crie suporte na política de entrada do Gerenciamento de API do Azure para tokens emitidos tanto por b2clogin.com quanto por login.microsoftonline.com.
- Atualize seus aplicativos um de cada vez para obter tokens do endpoint b2clogin.com.
- Depois que todos os aplicativos estiverem obtendo corretamente tokens de b2clogin.com, remova o suporte para tokens emitidos por login.microsoftonline.com da API.
O exemplo a seguir da política de entrada do Gerenciamento de API do Azure ilustra como aceitar tokens emitidos por b2clogin.com e login.microsoftonline.com. Além disso, a política dá suporte a solicitações de API de dois aplicativos.
<policies>
<inbound>
<validate-jwt header-name="Authorization" failed-validation-httpcode="401" failed-validation-error-message="Unauthorized. Access token is missing or invalid.">
<openid-config url="https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/B2C_1_signupsignin1/v2.0/.well-known/openid-configuration" />
<audiences>
<audience>00001111-aaaa-2222-bbbb-3333cccc4444</audience>
<audience>11112222-bbbb-3333-cccc-4444dddd5555</audience>
</audiences>
<issuers>
<issuer>https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/</issuer>
<issuer>https://<tenant-name>.b2clogin.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0/</issuer>
</issuers>
</validate-jwt>
<base />
</inbound>
<backend> <base /> </backend>
<outbound> <base /> </outbound>
<on-error> <base /> </on-error>
</policies>
Próximas etapas
Para obter informações adicionais sobre políticas de Gerenciamento de API do Azure, consulte o índice de referência de política do Gerenciamento de API do Azure.
Para obter informações sobre como migrar APIs Web baseadas em OWIN e seus aplicativos para b2clogin.com, consulte Migrar uma API Web baseada em OWIN para b2clogin.com.