Eventos
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Este artigo apresenta um aplicativo Web Java Spring Boot que usa a biblioteca de clientes Microsoft Entra ID Spring Boot Starter para Java para autenticação, autorização e aquisição de token. O aplicativo usa o protocolo OpenID Connect para conectar usuários e restringe o acesso a páginas com base na associação ao grupo de segurança do Microsoft Entra ID.
O diagrama a seguir mostra a topologia do aplicativo:
O aplicativo cliente usa a biblioteca de clientes do Microsoft Entra ID Spring Boot Starter para Java para conectar usuários em um locatário do Microsoft Entra ID e obter um token de ID do Microsoft Entra ID.
O token de ID contém a declaração de grupos. O aplicativo carrega declarações na lista do Spring GrantedAuthorities
para o usuário conectado. Esses valores determinam quais páginas o usuário está autorizado a acessar.
Para assistir a um vídeo que aborda esse cenário, consulte Implementar autorização nos seus aplicativos usando funções de aplicativo, grupos de segurança, escopos e funções de diretório.
AdminGroup
e UserGroup
, contendo o usuário ou usuários que você quer conectar e testar este exemplo. Como alternativa, você pode adicionar o usuário a dois grupos de segurança existentes em seu locatário. Se você optar por usar grupos existentes, modifique a configuração de exemplo para usar o nome e a ID do objeto dos grupos de segurança existentes.As seções a seguir mostram como configurar o aplicativo de exemplo.
Para clonar o exemplo, abra uma janela do Bash e use o seguinte comando:
git clone https://github.com/Azure-Samples/ms-identity-msal-java-samples.git
cd 4-spring-web-app/3-Authorization-II/groups
Como alternativa, navegue até o repositório ms-identity-msal-java-samples, baixe-o como um arquivo .zip e extraia-o para o disco rígido.
Importante
Para evitar limitações de comprimento de caminho de arquivo no Windows, clone ou extraia o repositório em um diretório próximo à raiz do disco rígido.
Há um projeto neste exemplo. As seções a seguir mostram como registrar o aplicativo usando o portal do Azure.
Siga as etapas a seguir para escolher o locatário:
Entre no portal do Azure.
Se sua conta estiver presente em mais de um locatário do Microsoft Entra ID, selecione seu perfil no canto do portal do Azure e selecione Mudar diretório para alterar sua sessão para o locatário desejado do Microsoft Entra ID.
Para registrar o aplicativo, use estas etapas:
Navegue até o portal do Azure e selecione Microsoft Entra ID.
Selecione Registros de aplicativo no painel de navegação e selecione Novo registro.
Na página Registrar um aplicativo que aparece, insira as seguintes informações de registro do aplicativo:
java-spring-webapp-groups
.http://localhost:8080/login/oauth2/code/
.Selecione Registrar para criar o aplicativo.
Na página de registro do aplicativo, localize e copie o valor do ID do aplicativo (cliente) para uso posterior. Use esse valor no(s) arquivo(s) de configuração do aplicativo.
Na página de registo do aplicativo, selecione Segredos de certificados & no painel de navegação para abrir a página em que possa gerar segredos e carregar certificados.
Na seção Segredos do Cliente, escolha Novo Segredo do Cliente.
Insira uma descrição, por exemplo, segredo do aplicativo.
Selecione uma das durações disponíveis: 6 meses, 12 meses ou Personalizar.
Selecione Adicionar. O valor gerado é exibido.
Copie e salve o valor gerado para uso nas etapas posteriores. Esse valor é necessário para os arquivos de configuração do código. Esse valor não é exibido novamente e você não pode recuperá-lo por outros meios. Portanto, salve-o no portal do Azure antes de navegar para qualquer outra tela ou painel.
Na página de registro do aplicativo, selecione Permissões de API no painel de navegação para abrir a página em que é possível adicionar acesso às APIs de que o aplicativo precisa.
Selecione Adicionar permissão.
Verifique se a guia APIs da Microsoft está selecionada.
Na seção APIs da Microsoft frequentemente utilizadas, selecione Microsoft Graph.
Na seção Permissões delegadas, selecione GroupMember.Read.All da lista. Use a caixa de pesquisa, se necessário. Essa permissão é necessária para obter associações de grupo por meio do Graph se o cenário de excedente ocorrer.
Selecione o botão para conceder o consentimento do administrador para GroupMember.Read.All
.
Escolha Adicionar permissões.
Use as etapas a seguir para criar grupos de segurança:
Navegue até o portal do Azure e selecione Microsoft Entra ID.
Selecione Grupos no painel de navegação.
No painel Grupos, selecione Novo Grupo e forneça as seguintes informações:
No painel Grupos, selecione Novo Grupo e forneça as seguintes informações:
Para obter mais informações, veja Gerenciar grupos do Microsoft Entra e associação a grupos.
Você tem as seguintes opções para configurar melhor o aplicativo para receber a declaração de grupos:
Receba todos os grupos aos quais o usuário conectado está atribuído em um locatário do Microsoft Entra ID, incluindo grupos aninhados. Para obter mais informações, consulte a seção Configurar o aplicativo para receber todos os grupos aos quais o usuário conectado está atribuído, inclusive os grupos aninhados.
Receber os valores de reivindicação de grupos de um conjunto filtrado de grupos com os quais o aplicativo está programado para trabalhar. Para obter mais informações, consulte a seção Configurar o aplicativo para receber os valores de reivindicação de grupos de um conjunto filtrado de grupos aos quais um usuário pode ser atribuído. Essa opção não está disponível na edição gratuita do Microsoft Entra ID.
Observação
Para obter o grupo local samAccountName
ou On Premises Group Security Identifier
em vez da ID do grupo, consulte a seção Pré-requisitos para usar atributos de grupo sincronizados do Active Directory em Configurar declarações de grupo para aplicativos usando o Microsoft Entra ID.
Siga as etapas a seguir para configurar o aplicativo:
Na página de registro do aplicativo, selecione Configuração de Token no painel de navegação para abrir a página em que você pode configurar os tokens fornecidos por declarações emitidos para o seu aplicativo.
Selecione Adicionar declaração de grupos para abrir a tela Editar declaração de grupos.
Selecione Grupos de segurança OU Todos os grupos (inclui listas de distribuição, mas não grupos atribuídos ao aplicativo). Escolher ambas nega o efeito da opção Grupos de segurança.
Na seção ID, selecione ID do Grupo. Essa seleção faz com que o Microsoft Entra ID envie a ID de objeto dos grupos aos quais o usuário está atribuído na declaração de grupos do token de ID que seu aplicativo recebe depois de conectar um usuário.
Essa opção é útil quando os seguintes casos são verdadeiros:
Essa opção ajuda o aplicativo a evitar o problema excedente.
Observação
Esse recurso não está disponível na edição gratuita do Microsoft Entra ID.
As atribuições de grupos aninhados não estão disponíveis ao usar essa opção.
Para habilitar essa opção em seu aplicativo, siga as etapas a seguir:
Na página de registro do aplicativo, selecione Configuração de Token no painel de navegação para abrir a página em que você pode configurar os tokens fornecidos por declarações emitidos para o seu aplicativo.
Selecione Adicionar declaração de grupos para abrir a tela Editar declaração de grupos.
Selecione Grupos atribuídos ao aplicativo e não selecione nenhuma outra opção. Se você escolher mais opções, como Grupos de segurança ou Todos os grupos (inclui listas de distribuição, mas não grupos atribuídos ao aplicativo), essas opções negarão o efeito da opção Grupos atribuídos ao aplicativo.
Na seção ID, selecione ID do Grupo. Essa seleção faz com que o Microsoft Entra ID envie a ID de objeto dos grupos aos quais o usuário está atribuído na declaração de grupos do token de ID que seu aplicativo recebe depois de conectar um usuário.
Se você estiver expondo uma API Web usando a opção Expor uma API, também poderá escolher a opção ID de Grupo na seção Acesso. Essa seleção faz com que o Microsoft Entra ID envie a ID de objeto dos grupos aos quais o usuário está atribuído na declaração de grupos do token de acesso emitido para os aplicativos cliente da API.
Na página de registro do aplicativo, selecione Visão geral no painel de navegação para abrir a tela de visão geral do aplicativo.
Selecione o hiperlink com o nome do aplicativo em Aplicativo gerenciado no diretório local. Esse título de campo pode estar truncado, por exemplo, Aplicativo gerenciado em .... Ao selecionar esse link, você navega até a página Visão geral do aplicativo empresarial associada à entidade de serviço do aplicativo no locatário em que você o criou. Você pode navegar de volta para a página de registro do aplicativo usando o botão Voltar do seu navegador.
Selecione Usuários e grupos no painel de navegação para abrir a página na qual você pode atribuir usuários e grupos ao seu aplicativo.
Selecione Adicionar usuário.
Selecione Usuário e grupos na tela resultante.
Escolher os grupos que deseja atribuir a este aplicativo.
Selecione Selecionar para concluir a seleção dos grupos.
Selecione Atribuir para concluir o processo de atribuição em grupo.
Seu aplicativo agora recebe esses grupos selecionados na declaração de grupos quando um usuário que se conecta ao aplicativo é membro de um ou mais desses grupos atribuídos.
Selecione Propriedades no painel de navegação para abrir a página que lista as propriedades básicas do seu aplicativo. Defina a marca Atribuição de usuário necessária? como Sim.
Importante
Quando você define Atribuição de usuário necessária? como Sim, o Microsoft Entra ID verifica se somente os usuários atribuídos ao seu aplicativo no painel Usuários e grupos podem entrar no seu aplicativo. É possível atribuir usuários diretamente ou por meio da atribuição de grupos de segurança aos quais eles pertencem.
Use as seguintes etapas para configurar o aplicativo:
Observação
Nas etapas a seguir, ClientID
é o mesmo que Application ID
ou AppId
.
Abrir o projeto no seu IDE.
Abra o arquivo src\main\resources\application.yml .
Localize o espaço reservado Enter_Your_Tenant_ID_Here
e substitua o valor existente pela ID de locatário do Microsoft Entra.
Localize o espaço reservado Enter_Your_Client_ID_Here
e substitua o valor existente pelo ID do aplicativo ou clientId
do aplicativo java-spring-webapp-groups
copiado do portal do Azure.
Localize o espaço reservado Enter_Your_Client_Secret_Here
e substitua o valor existente pelo valor que você salvou durante a criação do java-spring-webapp-groups
copiado do portal do Azure.
Localize o espaço reservado Enter_Your_Admin_Group_ID_Here
e substitua o valor existente pelo objectId
valor do seu valor do seu AdminGroup.
Localize o espaço reservado Enter_Your_User_Group_ID_Here
e substitua o valor existente pelo valor do objectId
valor do seu AdminGroup.
Abra o arquivo src/main/java/com/microsoft/azuresamples/msal4j/msidentityspringbootwebapp/SampleController.java.
Localize o espaço reservado Enter_Your_Admin_Group_ID_Here
e substitua o valor existente pelo objectId
valor do seu valor do seu AdminGroup.
Localize o espaço reservado Enter_Your_User_Group_ID_Here
e substitua o valor existente pelo valor do objectId
valor do seu AdminGroup.
As seções a seguir mostram como implantar o exemplo no Aplicativos de Contêiner do Azure.
Contributor
ou Owner
na assinatura do Azure para continuar. Para obter mais informações, confira Atribuir funções do Azure usando o portal do Azure.0.3.47
ou superior da CLI dos Aplicativos de Contêiner do Azure. Para instalar a versão mais recente, use o comando az extension add --name containerapp --upgrade --allow-preview
.Use as etapas a seguir para preparar o projeto:
Use o comando Maven a seguir para criar o projeto:
mvn clean verify
Execute o projeto de exemplo localmente usando o seguinte comando:
mvn spring-boot:run
Para entrar no Azure usando a CLIl, execute o comando a seguir e siga os prompts para concluir o processo de autenticação.
az login
Para garantir que você esteja executando a versão mais recente da CLI, execute o comando “upgrade”.
az upgrade
Em seguida, instale ou atualize a extensão dos Aplicativos de Contêiner do Azure para a CLI.
Se você receber erros sobre parâmetros ausentes ao executar comandos az containerapp
na CLI do Azure, verifique se você tem a versão mais recente da extensão dos Aplicativos de Contêiner do Azure instalada.
az extension add --name containerapp --upgrade
Observação
A partir de maio de 2024, as extensões da CLI do Azure já não permitem funcionalidades de versão prévia do recurso por padrão. Para acessar as versões prévias dos recursos dos Aplicativos de Contêiner, instale a extensão Aplicativos de Contêiner com --allow-preview true
.
az extension add --name containerapp --upgrade --allow-preview true
Agora que a extensão ou módulo atual está instalado, registre os namespaces Microsoft.App
e Microsoft.OperationalInsights
.
Observação
Os recursos dos Aplicativos de Contêiner do Azure migraram do namespace Microsoft.Web
para o namespace Microsoft.App
. Consulte a migração de namespace de Microsoft.Web para Microsoft.App em março de 2022 para obter mais detalhes.
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
Agora que a configuração da CLI do Azure foi concluída, você pode definir as variáveis de ambiente que são usadas ao longo deste artigo.
Defina as variáveis a seguir no shell bash.
export RESOURCE_GROUP="ms-identity-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-ms-identity-containerapps"
export API_NAME="ms-identity-api"
export JAR_FILE_PATH_AND_NAME="./target/ms-identity-spring-boot-webapp-0.0.1-SNAPSHOT.jar"
Crie um grupos de recursos.
az group create \
--name $RESOURCE_GROUP \
--location $LOCATION \
Criar um ambiente com um espaço de trabalho da Análise de logs gerado automaticamente.
az containerapp env create \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--location $LOCATION
Mostrar o domínio padrão do ambiente do aplicativo de contêiner. Anote esse domínio para usar em seções posteriores.
az containerapp env show \
--name $ENVIRONMENT \
--resource-group $RESOURCE_GROUP \
--query properties.defaultDomain
Ao implantar seu aplicativo nos Aplicativos de Contêiner do Azure, a URL de redirecionamento é alterada para a URL de redirecionamento da instância do aplicativo implantado nos Aplicativos de Contêiner do Azure. Use as etapas a seguir para alterar essas configurações no arquivo application.yml:
Navegue até o arquivo src\main\resources\application.yml do aplicativo e altere o valor de post-logout-redirect-uri
para o nome de domínio do aplicativo implantado, conforme mostrado no exemplo a seguir. Substitua <API_NAME>
e <default-domain-of-container-app-environment>
pelos valores atuais. Por exemplo, com o domínio padrão para o ambiente do Aplicativo de Contêiner do Azure da etapa anterior e ms-identity-api
para o nome do aplicativo, você usaria https://ms-identity-api.<default-domain>
para o valor post-logout-redirect-uri
.
post-logout-redirect-uri: https://<API_NAME>.<default-domain-of-container-app-environment>
Depois de salvar esse arquivo, use o seguinte comando para recompilar o aplicativo:
mvn clean package
Importante
O arquivo application.yml do aplicativo atualmente contém o valor do segredo do cliente no parâmetro client-secret
. Não é recomendável manter esse valor nesse arquivo. Você também pode estar correndo risco se confirmar o arquivo em um repositório Git. Para obter a abordagem recomendada, consulte Gerenciar segredos nos Aplicativos de Contêiner do Azure.
Como o URI de redirecionamento é alterado para o aplicativo implantado nos Aplicativos de Contêiner do Azure, você também precisa alterar o URI de redirecionamento no registro do aplicativo Microsoft Entra ID. Use as seguintes etapas para fazer essa alteração:
Navegue até a página de registros de aplicativo da plataforma de identidade da Microsoft para desenvolvedores.
Use a caixa de pesquisa para procurar o registro do aplicativo. Por exemplo, java-servlet-webapp-authentication
.
Abra o registro do aplicativo selecionando seu nome.
Selecione Autenticação no menu.
Na seção Web - URIs de redirecionamento, selecione Adicionar URI.
Preencha o URI do aplicativo, anexando /login/oauth2/code/
, por exemplo, https://<containerapp-name>.<default domain of container app environment>/login/oauth2/code/
.
Selecione Salvar.
Implante o pacote JAR nos Aplicativos de Contêiner do Azure.
Observação
Se necessário, você pode especificar a versão do JDK nas variáveis de ambiente de build do Java. Para obter mais informações, confira Compilar variáveis de ambiente para Java em Aplicativos de Contêiner do Azure.
Agora você pode implantar o arquivo WAR com o comando da CLI az containerapp up
.
az containerapp up \
--name $API_NAME \
--resource-group $RESOURCE_GROUP \
--location $LOCATION \
--environment $ENVIRONMENT \
--artifact <JAR_FILE_PATH_AND_NAME> \
--ingress external \
--target-port 8080 \
--query properties.configuration.ingress.fqdn
Observação
A versão padrão do JDK é 17. Se você precisar alterar a versão do JDK para compatibilidade com o seu aplicativo, poderá usar o argumento --build-env-vars BP_JVM_VERSION=<YOUR_JDK_VERSION>
para ajustar o número de versão.
Para obter mais variáveis de ambiente de compilação, consulte Compilar variáveis de ambiente para Java em Aplicativos de Contêiner do Azure.
Neste exemplo, o comando containerapp up
inclui o argumento --query properties.configuration.ingress.fqdn
, que retorna o FQDN (nome de domínio totalmente qualificado), também conhecido como URL do aplicativo. Use as seguintes etapas para verificar o log do aplicativo a fim de investigar qualquer problema de implantação:
Acesse a URL do aplicativo de saída na página Saídas da seção Implantação.
No painel de navegação da página Visão geral da instância de Aplicativos de Contêiner do Azure, selecione Logs para verificar os logs do aplicativo.
Use as seguintes etapas para explorar o exemplo:
/admin_only
. Somente usuários pertencentes ao grupo de segurança AdminGroup
podem visualizar esta página. Caso contrário, uma mensagem de falha de autorização será exibida./regular_user
. Somente usuários pertencentes ao grupo de segurança UserGroup
podem visualizar esta página. Caso contrário, uma mensagem de falha de autorização será exibida.Este exemplo apresenta como usar a biblioteca de clientes do Microsoft Entra ID Spring Boot Starter para Java para conectar usuários ao seu locatário do Microsoft Entra ID. O exemplo também usa o Spring Oauth2 Client e os iniciadores da inicialização do Spring Web. O exemplo usa declarações do token de ID obtido do Microsoft Entra ID para exibir os detalhes do usuário conectado e para restringir o acesso a algumas páginas usando a declaração de grupos para autorização.
A tabela a seguir mostra o conteúdo da pasta do projeto de exemplo:
Arquivo/pasta | Descrição |
---|---|
pom.xml | Dependências de aplicativo. |
src/main/resources/templates/ | Modelos Thymeleaf para IU. |
src/main/resources/application.yml | Configuração da biblioteca do aplicativo e do Microsoft Entra ID Boot Starter. |
src/main/java/com/microsoft/azuresamples/msal4j/msidentityspringbootwebapp/ | Esse diretório contém o ponto de entrada do aplicativo principal, o controlador e as classes de configuração. |
.../MsIdentitySpringBootWebappApplication.java | Classe principal. |
.../SampleController.java | Controlador com mapeamentos de ponto de extremidade. |
.../SecurityConfig.java | Configuração de segurança: por exemplo, quais rotas exigem autenticação. |
.../Utilities.java | Classe Utilitário: por exemplo, declarações de token de ID de filtro. |
CHANGELOG.md | Lista de alterações no exemplo. |
CONTRIBUTING.md | Diretrizes para contribuir com o exemplo. |
LICENÇA | A licença para o exemplo. |
Para extrair detalhes do token, o aplicativo usa o objeto do Spring Security AuthenticationPrincipal
e OidcUser
em um mapeamento de solicitação, conforme mostra o exemplo a seguir. Consulte o Controlador de Exemplo para obter todos os detalhes de como esse aplicativo usa declarações de token de ID.
import org.springframework.security.oauth2.core.oidc.user.OidcUser;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
//...
@GetMapping(path = "/some_path")
public String tokenDetails(@AuthenticationPrincipal OidcUser principal) {
Map<String, Object> claims = principal.getIdToken().getClaims();
}
A declaração de grupos do token inclui os nomes dos grupos aos quais o usuário conectado está atribuído, conforme mostra o exemplo a seguir:
{
...
"groups": [
"xyz-id-xyz",
"xyz-id-xyz",]
...
}
Uma maneira comum de acessar os nomes de grupo está documentada na seção Declarações de token de ID.
O Microsoft Entra ID Boot Starter v3.5 e superior analisa a declaração de grupos automaticamente e adiciona cada grupo ao arquivo Authorities
. Essa configuração permite que os desenvolvedores usem grupos com anotações de condição de mola PrePost
usando o hasAuthority
método. Por exemplo, você pode localizar as seguintes condições @PreAuthorize
demonstradas em SampleController.java:
@GetMapping(path = "/admin_only")
@PreAuthorize("hasAuthority('enter-admin-group-id-here')")
public String adminOnly(Model model) {
// restrict to users who belong to AdminGroup
}
@GetMapping(path = "/regular_user")
@PreAuthorize("hasAnyAuthority('enter-user-group-id-here','enter-admin-group-id-here')")
public String regularUser(Model model) {
// restrict to users who belong to any of UserGroup or AdminGroup
}
O código a seguir obtém uma lista completa de autoridades para um determinado usuário:
@GetMapping(path = "/some_path")
public String tokenDetails(@AuthenticationPrincipal OidcUser principal) {
Collection<? extends GrantedAuthority> authorities = principal.getAuthorities();
}
Para entrar, o aplicativo faz uma solicitação ao ponto de extremidade de entrada do Microsoft Entra ID configurado automaticamente pela biblioteca cliente Spring Boot Starter do Microsoft Entra ID para Java, conforme mostra o exemplo a seguir:
<a class="btn btn-success" href="/oauth2/authorization/azure">Sign In</a>
Para desconectar, o aplicativo faz uma solicitação POST para o ponto de extremidade logout
, conforme mostra o exemplo a seguir:
<form action="#" th:action="@{/logout}" method="post">
<input class="btn btn-warning" type="submit" value="Sign Out" />
</form>
O aplicativo tem uma lógica simples nas páginas de modelo da IU para determinar o conteúdo a ser exibido com base no fato de o usuário estar autenticado, conforme mostra o exemplo a seguir, usando as marcas Spring Security Thymeleaf:
<div sec:authorize="isAuthenticated()">
this content only shows to authenticated users
</div>
<div sec:authorize="isAnonymous()">
this content only shows to not-authenticated users
</div>
Por padrão, o aplicativo protege as páginas Detalhes do token de ID, Somente administradores e Usuários regulares para que apenas usuários conectados possam acessá-las. O aplicativo configura essas rotas usando a propriedade app.protect.authenticated
do arquivo application.yml. Para configurar os requisitos específicos do seu aplicativo, você pode estender AADWebSecurityConfigurationAdapter
em uma de suas classes. Para obter um exemplo, consulte a classe SecurityConfig deste aplicativo, mostrada no código a seguir:
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends AADWebSecurityConfigurerAdapter{
@Value( "${app.protect.authenticated}" )
private String[] protectedRoutes;
@Override
public void configure(HttpSecurity http) throws Exception {
// use required configuration form AADWebSecurityAdapter.configure:
super.configure(http);
// add custom configuration:
http.authorizeRequests()
.antMatchers(protectedRoutes).authenticated() // limit these pages to authenticated users (default: /token_details, /admin_only, /regular_user)
.antMatchers("/**").permitAll(); // allow all other routes.
}
}
Para garantir que o tamanho do token não exceda os limites de tamanho do cabeçalho HTTP, a plataforma de identidade da Microsoft limita o número de IDs de objeto que inclui na declaração de grupos.
O limite de excedente é de 150 para tokens SAML, 200 para tokens JWT e 6 para aplicativos de página única. Se um usuário for um membro de mais grupos do que o limite de excedente, a plataforma de identidade da Microsoft não emitirá os IDs de grupo na declaração de grupos no token. Em vez disso, ele inclui uma declaração excedente no token que indica ao aplicativo consultar a API do Microsoft Graph para recuperar a associação de grupo do usuário.
O Microsoft Entra ID Boot Starter v3.5 e superior analisa a declaração de grupos automaticamente e adiciona cada grupo ao arquivo Authorities
. O iniciador lida automaticamente com o cenário de excedente de grupos.
Observação
Recomendamos veementemente o uso do recurso de filtragem de grupos, se possível, para evitar o excedente de grupos. Para obter mais informações, consulte a seção Configurar o aplicativo para receber os valores de reivindicação de grupos de um conjunto filtrado de grupos aos quais um usuário pode ser atribuído.
Você pode usar o arquivo BulkCreateGroups.ps1 fornecido na pasta AppCreationScripts para criar um grande número de grupos e atribuir usuários a eles. Esse arquivo ajuda a testar cenários de excedente durante o desenvolvimento. Altere o usuário objectId
fornecido no script BulkCreateGroups.ps1 .
O tratamento do excedente requer uma chamada ao Microsoft Graph para ler as associações de grupo do usuário conectado, portanto, o aplicativo precisa ter as permissões User.Read e GroupMember.Read.All para que a função getMemberGroups seja executada com sucesso.
Importante
Para o cenário excedente, verifique se você concedeu o escopo da Admin Consent
API do Microsoft Graph GroupMember.Read.All
para os aplicativos cliente e de serviço. Para obter mais informações, consulte as etapas de registro do aplicativo anteriormente neste artigo.
Use as etapas a seguir para atualizar o registro do aplicativo:
Navegue até o Portal do Azure.
No painel de navegação à esquerda, selecione Azure Active Directory e selecione Registros de aplicativo (versão prévia).
Na tela resultante, selecione o aplicativo java-spring-webapp-groups
.
Na página de registro do aplicativo, selecione Autenticação no menu.
Na seção URIs de redirecionamento, atualize as URLs de resposta para corresponder à URL do site da implantação do Azure, por exemplo, https://java-spring-webapp-groups.azurewebsites.net/login/oauth2/code/
.
Importante
Se seu aplicativo estiver usando um armazenamento na memória, os Serviços de Aplicativo do Azure reduzirão seu site se ele estiver inativo e todos os registros que seu aplicativo estava mantendo serão esvaziados. Além disso, se você aumentar a contagem de instâncias do seu site, as solicitações serão distribuídas entre as instâncias. Assim, os registros dos aplicativos não são os mesmos em cada instância.
Para obter mais informações sobre como os protocolos OAuth 2.0 funcionam neste cenário e em outros cenários, consulte Cenários de autenticação para o Microsoft Entra ID.
Eventos
17 de mar., 21 - 21 de mar., 10
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraTreinamento
Módulo
Conectar usuários com o Microsoft Entra ID em um aplicativo Web Java - Training
Saiba como autenticar usuários com o Microsoft Entra ID e ter acesso autorizado aos dados em um aplicativo Web Java por meio da Biblioteca de Autenticação da Microsoft.
Certificação
Microsoft Certified: Identity and Access Administrator Associate - Certifications
Demonstrar os recursos do Microsoft Entra ID para modernizar as soluções de identidade, implementar soluções híbridas e implementar a governança de identidade.