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.
Selecione outro provedor de autenticação para ir para ele.
Este artigo mostra como configurar a autenticação para o Serviço de Aplicativo do Azure ou o Azure Functions de modo que seu aplicativo conecte os usuários com a Plataforma de Identidade da Microsoft (Microsoft Entra) como o provedor de autenticação.
Escolher um locatário para o aplicativo e os usuários
Antes que o aplicativo possa conectar usuários, você precisará registrá-lo em um locatário de força de trabalho ou um locatário externo. Caso esteja disponibilizando o aplicativo para funcionários ou convidados comerciais, registre o aplicativo em um locatário da força de trabalho. Se o aplicativo for para consumidores e clientes comerciais, registre-o em um locatário externo.
Entre no portal do Azure e acesse seu aplicativo do Serviço de Aplicativo ou aplicativo do Functions.
No menu à esquerda do aplicativo, selecione Configurações>Autenticação e escolha Adicionar o provedor de identidade.
Na página Adicionar um provedor de identidade, selecione Microsoft como o valor do provedor de identidade para fazer login nas identidades Microsoft e Microsoft Entra.
Em Escolher um locatário para seu aplicativo e seus usuários, selecione:
- Configuração da força de trabalho (locatário atual) para funcionários e convidados corporativos
- Configuração externa para consumidores e clientes corporativos
Escolha o registro do aplicativo
O recurso de autenticação do Serviço de Aplicativo pode criar automaticamente um registro de aplicativo para você. Ou você pode usar um registro que você ou um administrador de diretório cria separadamente.
Crie um novo registro de aplicativo automaticamente, a menos que você precise criar um registro de aplicativo separadamente. Você poderá personalizar o registro do aplicativo no centro de administração do Microsoft Entra mais tarde, se desejar.
As seguintes situações são os casos mais comuns para usar um registro de aplicativo existente:
- Sua conta não tem permissões para criar registros de aplicativos em seu locatário do Microsoft Entra.
- Você quer usar um registro de aplicativo de um locatário do Microsoft Entra diferente daquele no qual seu aplicativo está contido. Esse é sempre o caso se você selecionou a configuração externa quando escolheu um locatário.
- A opção de criar um registro não está disponível para nuvens governamentais.
Opção 1: criar e usar um novo registro de aplicativo
Selecione Criar novo registro de aplicativo.
Para Nome, insira o nome do novo registro do aplicativo.
Selecione o valor do tipo de conta com suporte :
- Locatário atual – Locatário único. Somente contas neste diretório organizacional. Todas as contas de usuário e de convidado em seu diretório podem usar o aplicativo ou a API. Use essa opção se o público-alvo forem os membros da sua organização.
- Qualquer diretório do Microsoft Entra – Multilocatário. Contas em qualquer diretório organizacional. Todos os usuários com uma conta corporativa ou de estudante da Microsoft podem usar o aplicativo ou a API. Essas contas incluem escolas e empresas que usam o Office 365. Use essa opção se sua audiência alvo incluir clientes empresariais ou educacionais e para habilitar multilocação.
- Qualquer diretório do Microsoft Entra e contas pessoais da Microsoft. Contas em qualquer diretório organizacional e contas pessoais da Microsoft (por exemplo, Skype ou Xbox). Todos os usuários com uma conta corporativa ou de estudante ou uma conta pessoal da Microsoft podem usar seu aplicativo ou API. Ele inclui escolas e empresas que usam o Office 365, juntamente com contas pessoais que são usadas para entrar em serviços como Xbox e Skype. Use essa opção para direcionar o conjunto mais amplo de identidades da Microsoft e habilitar a multilocação.
- Somente contas pessoais da Microsoft. Contas pessoais usadas para entrar em serviços como Xbox e Skype. Use essa opção para direcionar o conjunto mais amplo de identidades da Microsoft.
Você poderá alterar o nome do registro ou os tipos de conta com suporte posteriormente, se desejar.
Um segredo do cliente é criado como uma configuração de aplicativo com slot autoadesiva denominada MICROSOFT_PROVIDER_AUTHENTICATION_SECRET. Se quiser gerenciar o segredo no Azure Key Vault, atualize essa configuração mais tarde para usar as referências do Key Vault. Como alternativa, você pode alterar isso para usar uma identidade em vez de um segredo do cliente. O suporte para usar uma identidade está atualmente em versão prévia.
Opção 2: usar um registro atual criado separadamente
Para usar um registro existente, selecione:
Escolha um registro de aplicativo existente neste diretório. Em seguida, selecione um registro de aplicativo na lista suspensa.
Forneça os detalhes de um registro de aplicativo existente. Em seguida, forneça:
ID do aplicativo (do cliente).
Segredo do cliente (recomendado). Um valor secreto que o aplicativo usa para provar sua identidade quando solicita um token. Esse valor é salvo na configuração do aplicativo como uma configuração de aplicativo com slot autoadesiva denominada
MICROSOFT_PROVIDER_AUTHENTICATION_SECRET. Se o segredo do cliente não estiver definido, as operações de entrada do serviço usarão o fluxo de concessão implícita do OAuth 2.0, o que não recomendamos.Você também pode configurar o aplicativo para usar uma identidade em vez de um segredo do cliente. O suporte para usar uma identidade está atualmente em versão prévia.
URL do emissor. Essa URL assume o formato
<authentication-endpoint>/<tenant-id>/v2.0. Substitua<authentication-endpoint>pelo valor do ponto de extremidade de autenticação específico para o ambiente de nuvem. Por exemplo, um locatário da força de trabalho no Azure global usariahttps://login.microsoftonline.comcomo seu ponto de extremidade de autenticação.Observação
Se você criou seu provedor de identidade usando a configuração expressa (Opção 1), a URL do emissor é configurada automaticamente para usar o endpoint herdado
https://sts.windows.net. Para alinhar-se às práticas recomendadas atuais do Microsoft Entra ID, edite seu provedor de identidade e atualize a URL do emissor para usarhttps://login.microsoftonline.com/<tenant-id>/v2.0.
Se você precisar criar manualmente um registro de aplicativo em um locatário da força de trabalho, confira Registrar um aplicativo com a plataforma de identidade da Microsoft. Conforme você passa pelo processo de registro, observe a ID do aplicativo (cliente) e os valores de segredo do cliente.
Durante o processo de registro, na seção URIs de Redirecionamento , selecione Web para plataforma e insira um URI de redirecionamento. Por exemplo, digite https://contoso.azurewebsites.net/.auth/login/aad/callback.
Agora, modifique o registro do aplicativo:
No painel esquerdo, selecione Expor uma API>Adicionar>Salvar. Esse valor identifica exclusivamente o aplicativo quando ele é usado como um recurso, o que permite que tokens que concedem acesso sejam solicitados. O valor é um prefixo para escopos que você cria.
Para um aplicativo de locatário único, é possível usar o valor padrão que está no formato
api://<application-client-id>. Você também pode especificar um URI mais legível, comohttps://contoso.com/api, com base em um dos domínios verificados para seu locatário. Para um aplicativo multilocatário, você deve fornecer um URI personalizado. Para obter mais informações sobre formatos aceitos para URIs de ID do aplicativo, consulte as práticas recomendadas de segurança para propriedades de aplicativo na ID do Microsoft Entra.Selecione Adicionar um escopo e:
- Em Nome do escopo, digite user_impersonation.
- Em Quem pode dar consentimento, selecione Administradores e usuários se você quiser permitir que os usuários consintam com este escopo.
- Insira o nome do escopo de consentimento. Insira uma descrição que você deseja que os usuários vejam na página de consentimento. Por exemplo, insira o nome do aplicativodo Access.
- Selecione Adicionar escopo.
(Recomendado) Crie uma declaração de cliente para o aplicativo. Para criar um segredo do cliente:
- No painel esquerdo, selecione Certificados & segredos>Segredos do cliente>Novo segredo do cliente.
- Insira uma descrição e expiração e selecione Adicionar.
- No campo Valor, copiar o valor do segredo do cliente. Depois que você se afastar dessa página, ela não aparecerá novamente.
Você também pode configurar o aplicativo para usar uma identidade em vez de um segredo do cliente. O suporte para usar uma identidade está atualmente em versão prévia.
(Opcional) Para adicionar várias URLs de resposta, selecione Autenticação.
Configurar as verificações adicionais
As verificações adicionais determinam quais solicitações têm permissão para acessar seu aplicativo. Você pode personalizar esse comportamento agora ou ajustar essas configurações posteriormente na página de Autenticação principal selecionando Editar ao lado das configurações de Autenticação.
Para o Requisito de aplicativo cliente, escolha se deseja:
- Permitir solicitações somente desse próprio aplicativo.
- Permitir solicitações de aplicativos cliente específicos.
- Permitir solicitações de qualquer aplicativo (não recomendado).
Para o requisito de identidade, escolha se deseja:
- Permita solicitações de qualquer identidade.
- Permita solicitações de identidades específicas.
Para requisitos de locatário, escolha se deseja:
- Permita apenas solicitações do mesmo locatário do registro do aplicativo.
- Permitir solicitações de locatários específicos.
- Use restrições padrão com base no inquilino do registro do aplicativo.
Talvez seu aplicativo ainda precise tomar outras decisões de autorização no código. Para obter mais informações, consulte Usar uma política de autorização interna mais adiante neste artigo.
Defina as configurações de autenticação
As configurações de autenticação determinam como seu aplicativo responde a solicitações não autenticadas. As seleções padrão redirecionam todas as solicitações para entrar com esse novo provedor. Você pode personalizar esse comportamento agora ou ajustar essas configurações posteriormente na página de Autenticação principal selecionando Editar ao lado das configurações de Autenticação. Para obter mais informações, consulte Fluxo de autenticação.
Para restringir o acesso, decida se deseja:
- Exigir autenticação.
- Permitir acesso não autenticado.
Para solicitações não autenticadas, escolha opções de erro:
- HTTP
302 Found redirect: recomendado para sites - HTTP
401 Unauthorized: recomendado para APIs - HTTP
403 Forbidden - HTTP
404 Not found
Selecione Repositório de tokens (recomendado). O repositório de tokens coleta, armazena e atualiza tokens para o aplicativo. Você poderá desabilitar esse comportamento mais tarde se o aplicativo não precisar de tokens ou se precisar otimizar o desempenho.
Adicionar o provedor de identidade
Se você selecionou a configuração da força de trabalho, poderá selecionar Avançar: Permissões e adicionar as permissões do Microsoft Graph de que o aplicativo precisa. Essas permissões são adicionadas ao registro do aplicativo, mas você também poderá alterá-las mais tarde. Caso selecionou a configuração externa, poderá adicionar permissões do Microsoft Graph posteriormente.
- Selecione Adicionar.
Agora você está pronto para usar a plataforma de identidade da Microsoft para autenticação em seu aplicativo. O provedor está listado na página Autenticação . A partir daí, você pode editar ou excluir essa configuração de provedor.
Para obter um exemplo de como configurar a entrada do Microsoft Entra para um aplicativo Web que acessa o Armazenamento do Azure e o Microsoft Graph, confira Adicionar a autenticação de aplicativo ao seu aplicativo Web.
Autorizar solicitações
Por padrão, a autenticação do Serviço de Aplicativo manipula apenas a autenticação. Ela determina se o chamador é quem eles dizem que são. A autorização, determinando se o chamador deve ter acesso a algum recurso. É uma etapa além da autenticação. Para obter mais informações, confira Noções básicas de autorização.
Seu aplicativo pode tomar decisões de autorização em código. A autenticação do Serviço de Aplicativo fornece algumas verificações internas, o que pode ajudar, mas elas por si só podem não ser suficientes para atender às necessidades de autorização do seu aplicativo. As seções a seguir abrangem esses recursos.
Dica
Os aplicativos multilocatários devem validar a ID do emissor e do locatário da solicitação como parte desse processo para garantir que os valores sejam permitidos. Quando a autenticação do Serviço de Aplicativo é configurada para um cenário multilocatário, ela não valida de qual locatário a solicitação vem. Um aplicativo pode precisar ser limitado a locatários específicos, com base em se a organização se inscreveu para o serviço (por exemplo). Confira Atualizar seu código para lidar com vários valores de emissor.
Realizar validações a partir do código de aplicativo
Ao realizar verificações de autorização no código do aplicativo, você poderá usar as informações de declarações que a autenticação do Serviço de Aplicativo disponibiliza. Para mais informações, confira Acessar as declarações de usuário no código do aplicativo.
O cabeçalho injetado x-ms-client-principal contém um objeto JSON codificado Base64 com as declarações invocadas sobre o chamador. Por padrão, essas declarações passam por um mapeamento de declarações, portanto, os nomes da declaração podem nem sempre corresponder ao que você veria no token. Por exemplo, a declaração tid é mapeada para http://schemas.microsoft.com/identity/claims/tenantid em vez disso.
Você também pode trabalhar diretamente com o token de acesso subjacente a partir do cabeçalho x-ms-token-aad-access-token injetado.
Usar uma política de autorização integrada
O registro de aplicativo criado autentica as solicitações recebidas para seu locatário do Microsoft Entra. Por padrão, ele também permite que qualquer pessoa dentro do locatário acesse o aplicativo. Essa abordagem é adequada para muitos aplicativos. Alguns aplicativos precisam restringir ainda mais o acesso tomando decisões de autorização.
O código do aplicativo geralmente é o melhor lugar para lidar com a lógica de autorização personalizada. Entretanto, para cenários comuns, a plataforma de identidade da Microsoft fornece verificações integradas que você pode usar para limitar o acesso.
Esta seção mostra como habilitar verificações internas usando a API V2 de autenticação do Serviço de Aplicativo. Atualmente, a única maneira de configurar essas verificações internas é usando os modelos do Azure Resource Manager ou a API REST.
Dentro do objeto de API, a configuração do provedor de identidade do Microsoft Entra tem uma validation seção que pode incluir um defaultAuthorizationPolicy objeto, conforme mostrado na seguinte estrutura:
{
"validation": {
"defaultAuthorizationPolicy": {
"allowedApplications": [],
"allowedPrincipals": {
"identities": []
}
}
}
}
| Propriedade | Descrição |
|---|---|
defaultAuthorizationPolicy |
Um grupo de requisitos que deve ser atendido para acesso ao aplicativo. O acesso é concedido com base em um AND lógico sobre cada uma de suas propriedades configuradas dele. Quando allowedApplications e allowedPrincipals ambos estão configurados, a solicitação de entrada deve atender aos dois requisitos a serem aceitos. |
allowedApplications |
Uma lista de permitidos de IDs de cliente do aplicativo de cadeia de caracteres que representam o recurso do cliente que chama o aplicativo. Quando essa propriedade é configurada como uma matriz não vazia, somente os tokens obtidos por um aplicativo especificado na lista são aceitos. Essa política avalia a declaração appid ou azp do token de entrada, que precisa ser um token de acesso. Confira as Declarações de conteúdo. |
allowedPrincipals |
Um grupo de verificações que determinam se a entidade de segurança que é representada pela solicitação de entrada pode acessar o aplicativo. A satisfação de allowedPrincipals é baseada em um OR lógico aplicado sobre as propriedades configuradas dele. |
identities (em allowedPrincipals) |
Uma lista de permissões de IDs de objeto da cadeia de caracteres que representam os usuários ou aplicativos que têm acesso. Quando essa propriedade é configurada como uma matriz não íntegra, o allowedPrincipals requisito pode ser atendido se o usuário ou o aplicativo que a solicitação representa for especificado na lista. Há um limite de 500 caracteres (total) na lista de identidades.Essa política avalia a declaração oid do token de entrada. Confira as Declarações de conteúdo. |
Além disso, você pode configurar algumas verificações por meio de uma configuração de aplicativo, independentemente da versão da API que você está usando. Você pode definir a configuração do WEBSITE_AUTH_AAD_ALLOWED_TENANTS aplicativo com uma lista separada por vírgulas de até 10 IDs de locatário; por exemplo, aaaabbbb-0000-cccc-1111-dddd2222eeee. Essa configuração pode exigir que o token de entrada seja de um dos locatários especificados, conforme especificado na declaração tid.
Você pode definir a configuração do aplicativo WEBSITE_AUTH_AAD_REQUIRE_CLIENT_SERVICE_PRINCIPAL como true ou 1 para exigir que o token de entrada inclua uma declaração oid. Se você tiver configurado allowedPrincipals.identities, essa configuração será ignorada e tratada como verdadeira porque a oid declaração é verificada em relação a essa lista de identidades fornecida.
As solicitações que falham nessas verificações internas obtêm uma resposta HTTP 403 Forbidden .
Usar uma identidade gerenciada em vez de um segredo (versão prévia)
Em vez de configurar um segredo do cliente para o registro do aplicativo, você pode configurar um aplicativo para confiar em uma identidade gerenciada. Usar uma identidade em vez de um segredo significa que você não precisa gerenciar um segredo. Você não tem eventos de expiração secretos para lidar e não tem o mesmo nível de risco associado a possivelmente divulgar ou vazar esse segredo.
A identidade permite que você crie uma credencial de identidade federada, que pode ser usada em vez de um segredo do cliente como uma declaração de cliente. Essa abordagem está disponível apenas para configurações de força de trabalho. O recurso de autenticação integrado atualmente dá suporte a credenciais de identidade federadas como uma prévia.
Você pode usar as etapas nesta seção para configurar seu recurso do Serviço de Aplicativo ou do Azure Functions para usar esse padrão. As etapas aqui pressupõem que você já configurou um registro de aplicativo usando um dos métodos com suporte e que você já tem um segredo definido.
Crie um recurso de identidade gerenciado atribuído pelo usuário de acordo com estas instruções.
Atribua essa identidade ao seu serviço de aplicativo ou ao recurso do Azure Functions.
Importante
A identidade gerenciada atribuída pelo usuário que você cria só deve ser atribuída ao Serviço de Aplicativo ou ao aplicativo do Azure Functions por meio desse registro. Se você atribuir a identidade a outro recurso, você está dando a esse recurso acesso desnecessário ao registro do aplicativo.
Anote os valores da ID do objeto e da ID do cliente da identidade gerenciada. Você precisará da ID do objeto para criar uma credencial de identidade federada na próxima etapa. Você usará a ID do cliente da identidade gerenciada em uma etapa posterior.
Siga as instruções da ID do Microsoft Entra para configurar uma credencial de identidade federada em um aplicativo existente. Essas instruções também incluem seções para atualizar o código do aplicativo, que você pode ignorar.
Adicionar uma nova configuração de aplicativo chamada
OVERRIDE_USE_MI_FIC_ASSERTION_CLIENTID. Defina o valor da ID do Cliente da identidade gerenciada que você obteve em uma etapa anterior. Não use a ID do cliente do registro do aplicativo. Marque essa configuração de aplicativo como de slot fixo.Nas configurações de autenticação internas para o recurso de aplicativo, defina o nome da configuração do segredo do cliente como
OVERRIDE_USE_MI_FIC_ASSERTION_CLIENTID.Para fazer essa alteração usando o portal do Azure:
- Volte para o serviço de aplicativo ou o recurso do Azure Functions e selecione a guia Autenticação .
- Na seção Provedor de identidade , para a entrada da Microsoft , selecione o ícone na coluna Editar .
- Na caixa de diálogo Editar provedor de identidade, abra a lista suspensa para o Nome da configuração do segredo do cliente e selecione
OVERRIDE_USE_MI_FIC_ASSERTION_CLIENTID. - Clique em Salvar.
Para fazer essa alteração usando a API REST:
- Defina a propriedade
clientSecretSettingNamecomoOVERRIDE_USE_MI_FIC_ASSERTION_CLIENTID. Você pode encontrar essa propriedade emproperties>identityProviders>azureActiveDirectory>registration.
Verifique se o aplicativo funciona conforme o esperado. Você deve ser capaz de realizar com sucesso um novo login.
Quando estiver satisfeito com o comportamento usando uma identidade gerenciada, remova o segredo existente:
Verifique se o código do aplicativo não depende da configuração do aplicativo. Se isso acontecer, siga as instruções para atualizar o código do aplicativo para solicitar um token de acesso.
Remova a configuração do aplicativo que anteriormente mantinha seu segredo. O nome dessa configuração de aplicativo é o valor de nome da configuração do segredo do cliente anterior, antes de defini-lo como
OVERRIDE_USE_MI_FIC_ASSERTION_CLIENTID.Entre no Centro de administração do Microsoft Entra usando o locatário que contém o registro do aplicativo. Vá para o registro do aplicativo novamente.
Em Certificados &segredos, selecione segredos do cliente e remova o segredo do cliente.
Seu aplicativo agora está configurado para usar a autenticação da ID do Microsoft Entra sem segredos.
Configurar aplicativos cliente para acessar o Serviço de Aplicativo
Em seções anteriores, você registrou seu Serviço de Aplicativo ou aplicativo do Azure Functions para autenticar usuários. As seções a seguir explicam como registrar clientes nativos ou aplicativos daemon no Microsoft Entra. Esses clientes ou aplicativos podem solicitar acesso a APIs expostas pelo Serviço de Aplicativo em nome de usuários ou de si mesmos, como em uma arquitetura de N camadas. Se você quiser autenticar apenas os usuários, as etapas nas seções a seguir não serão necessárias.
Aplicativo cliente nativo
Você pode registrar clientes nativos para solicitar acesso às APIs do aplicativo do Serviço de Aplicativo em nome de um usuário conectado:
No menu do portal do Azure, selecione a ID do Microsoft Entra.
No painel esquerdo, selecione Gerenciar>registros de aplicativo. Em seguida, selecione Novo registro.
No painel Registrar um aplicativo , para Nome, insira um nome para o registro do aplicativo.
No URI de Redirecionamento, selecione Cliente público/nativo (móvel &desktop) e insira a URL de redirecionamento. Por exemplo, digite
https://contoso.azurewebsites.net/.auth/login/aad/callback.Selecione Registrar.
Depois que o registro do aplicativo for criado, copie o valor da ID do aplicativo (cliente).
Observação
Para um aplicativo da Microsoft Store, use o SID de pacote como o URI.
No painel esquerdo, selecione Gerenciar>permissões de API. Em seguida, selecione Adicionar uma permissão>Minhas APIs.
Selecione o registro de aplicativo criado anteriormente para seu aplicativo do Serviço de Aplicativo. Se o registro do aplicativo não aparecer, verifique se você adicionou o escopo user_impersonation nele.
Em Permissões delegadas, selecione user_impersonation e, em seguida, Adicionar permissões.
Agora você configurou um aplicativo cliente nativo que pode solicitar acesso ao aplicativo do Serviço de Aplicativo em nome de um usuário.
Aplicativo cliente daemon (chamadas de serviço a serviço)
Em uma arquitetura de N camadas, seu aplicativo cliente pode adquirir um token para chamar um Serviço de Aplicativo ou um aplicativo do Azure Functions em nome do próprio aplicativo cliente, não em nome de um usuário. Esse cenário é útil para aplicativos daemon não interativos que executam tarefas sem um usuário conectado. Ele usa a concessão de credenciais de cliente padrão do OAuth 2.0. Para saber mais, confira a plataforma de identidade da Microsoft e o fluxo de credenciais do cliente OAuth 2.0.
No menu do portal do Azure, selecione a ID do Microsoft Entra.
No painel esquerdo, selecione Gerenciar>registros de aplicativo. Em seguida, selecione Novo registro.
No painel Registrar um aplicativo , para Nome, insira um nome para o registro do aplicativo.
Para um aplicativo daemon, você não precisa de um URI de redirecionamento, portanto, você pode manter a caixa de URI de redirecionamento vazia.
Selecione Registrar.
Depois que o registro do aplicativo for criado, copie o valor da ID do aplicativo (cliente).
No painel esquerdo, selecione Gerenciar>Certificados > segredos. Em seguida, selecione Segredos>Novo segredo do cliente.
Insira uma descrição e expiração e selecione Adicionar.
No campo Valor, copiar o valor do segredo do cliente. Depois que você se afastar dessa página, ela não aparecerá novamente.
Agora você pode solicitar um token de acesso usando a ID do cliente e o segredo do cliente. Defina o resource parâmetro como o valor URI de ID do aplicativo de destino. O token de acesso resultante pode ser apresentado ao aplicativo de destino por meio do cabeçalho de Autorização OAuth 2.0 padrão. A autenticação do Serviço de Aplicativo valida e usa o token para indicar que o chamador está autenticado. Nesse caso, o chamador é um aplicativo, não um usuário.
Essa abordagem permite que qualquer aplicativo cliente em seu locatário do Microsoft Entra solicite um token de acesso e se autentique no aplicativo de destino. Se você também quiser impor a autorização para permitir apenas determinados aplicativos cliente, deverá executar uma configuração extra.
Defina uma função de aplicativo no manifesto do registro do aplicativo que representa o Serviço de Aplicativo ou o aplicativo do Azure Functions que você deseja proteger.
No registro do aplicativo que representa o cliente que precisa ser autorizado, selecione Permissões da API>Adicionar uma permissão>Minhas APIs.
Selecione o registro de aplicativo que você criou anteriormente. Se você não vir o registro de aplicativo, verifique se você adicionou uma função de aplicativo.
Em permissões de aplicativo, selecione a função de aplicativo que você criou anteriormente. Em seguida, selecione Adicionar permissões.
Selecione Conceder consentimento do administrador para autorizar o aplicativo cliente a solicitar a permissão.
Semelhante ao cenário anterior (antes de adicionar qualquer função), agora você pode solicitar um token de acesso para o mesmo recurso de destino. O token de acesso inclui uma
rolesdeclaração que contém as funções de aplicativo que foram autorizadas para o aplicativo cliente.
No código de aplicativo do Serviço de Aplicativo de destino ou do Azure Functions, agora você pode validar se o token tem as funções esperadas. A autenticação do Serviço de Aplicativo não executa essa validação. Para mais informações, confira Acessar as declarações de usuário no código do aplicativo.
Agora você configurou um aplicativo cliente daemon que pode acessar seu aplicativo do Serviço de Aplicativo usando sua própria identidade.
Práticas recomendadas
Independentemente da configuração que você usa para configurar a autenticação, as seguintes práticas recomendadas mantêm seu locatário e aplicativos mais seguros:
- Configure cada aplicativo do Serviço de Aplicativo com seu próprio registro no Microsoft Entra.
- Dê a cada aplicativo do Serviço de Aplicativo suas próprias permissões e consentimento.
- Evite o compartilhamento de permissões entre ambientes. Use os registros de aplicativo separados para os slots de implantação separados. Quando você está testando um novo código, essa prática pode ajudar a evitar que problemas afetem o aplicativo de produção.
Migrar para o Microsoft Graph
Alguns aplicativos mais antigos podem ser configurados com uma dependência do Azure AD Graph, que está obsoleto e programado para a retirada completa. Por exemplo, o código do seu aplicativo pode chamar o Azure AD Graph para verificar a associação de grupo como parte de um filtro de autorização em um pipeline de middleware. Os aplicativos devem ser movidos para o Microsoft Graph. Para obter mais informações, confira Migrar seus aplicativos do Azure AD Graph para o Microsoft Graph.
Durante essa migração, talvez seja necessário fazer algumas alterações na configuração da autenticação do Serviço de Aplicativo. Depois de adicionar as permissões do Microsoft Graph ao registro do seu aplicativo, você poderá:
Atualize o valor da URL do Emissor para incluir o
/v2.0sufixo se ainda não o fizer.Remova as solicitações de permissões do Azure AD Graph da configuração de entrada. As propriedades a serem alteradas dependem da versão da API de gerenciamento que você está usando:
- Se você estiver usando a API V1 (
/authsettings), essa configuração estará na matrizadditionalLoginParams. - Se você estiver usando a API V2 (
/authsettingsV2), essa configuração estará na matrizloginParameters.
Você precisa remover qualquer referência a
https://graph.windows.net, por exemplo. Essa alteração inclui oresourceparâmetro, que o/v2.0endpoint não dá suporte. Ele também inclui todos os escopos que você solicita especificamente que são do Azure AD Graph.Você também precisa atualizar a configuração para solicitar as novas permissões do Microsoft Graph que você configurou para o registro do aplicativo. Em muitos casos, você pode usar o escopo padrão para simplificar essa configuração. Para fazer isso, adicione um novo parâmetro de entrada:
scope=openid profile email https://graph.microsoft.com/.default.- Se você estiver usando a API V1 (
Com essas alterações, quando a autenticação do Serviço de Aplicativo tenta entrar, ela não solicita mais permissões para o Azure AD Graph. Em vez disso, ela obterá um token para o Microsoft Graph. Qualquer uso desse token no código do seu aplicativo também precisa ser atualizado, conforme descrito em Migrar seus aplicativos do Azure AD Graph para o Microsoft Graph.