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.
Observação
Os planos Basic, Standard e Enterprise entraram em um período de aposentadoria em 17 de março de 2025. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
Este artigo se aplica a:✅ Básico/Standard ❎ Enterprise
Este artigo explica como acessar o Spring Cloud Config Server e o Spring Cloud Service Registry gerenciados pelos Aplicativos Spring do Azure usando o controle de acesso baseado em função (RBAC) do Microsoft Entra.
Observação
Aplicativos implantados e em execução dentro do serviço Azure Spring Apps são conectados automaticamente com autenticação e autorização baseadas em certificado ao acessar o Registro de Serviço e o Config Server do Spring Cloud. Você não precisa seguir estas diretrizes para esses aplicativos. Os certificados relacionados são totalmente gerenciados pela plataforma Azure Spring Apps e são injetados automaticamente em seu aplicativo quando conectados ao Config Server e ao Registro de Serviço.
Atribuir função a usuário/grupo do Microsoft Entra, MSI ou entidade de serviço
Atribua a função ao [usuário | grupo | entidade de serviço | identidade gerenciada] no escopo [grupo de gerenciamento | assinatura | grupo de recursos | recurso].
| Nome da função | Descrição |
|---|---|
| Leitor do Config Server do Azure Spring Apps | Permita acesso de leitura ao Config Server do Azure Spring Apps. |
| Colaborador do Config Server do Azure Spring Apps | Permita acesso de leitura, gravação e exclusão ao Config Server do Azure Spring Apps. |
| Leitor do Registro de Serviço do Azure Spring Apps | Permita acesso de leitura ao Registro de Serviço do Azure Spring Apps. |
| Colaborador do Registro de Serviço do Azure Spring Apps | Permita acesso de leitura, gravação e exclusão ao Registro de Serviço do Azure Spring Apps. |
Para ver as etapas detalhadas, confira Atribuir funções do Azure usando o portal do Azure.
Acesse o Config Server e Pontos de Extremidade do Registro do Serviço
Depois que a função for atribuída, o destinatário poderá acessar o Config Server do Spring Cloud e os pontos de extremidade do registro de serviço do Spring Cloud usando os seguintes procedimentos:
Obtenha um token de acesso. Após um usuário do Microsoft Entra ser atribuído à função, ele poderá usar os seguintes comandos para se conectar ao CLI do Azure com o usuário, entidade de serviço ou identidade gerenciada para obter um token de acesso. Para obter detalhes, consulte Autenticar CLI do Azure.
az login az account get-access-tokenComponha o ponto de extremidade. Damos suporte aos pontos de extremidade padrão do Config Server do Spring Cloud e do Registro de Serviço do Spring Cloud gerenciados pelo Azure Spring Apps.
https://SERVICE_NAME.svc.azuremicroservices.io/eureka/<path>https://SERVICE_NAME.svc.azuremicroservices.io/config/<path>
Observação
Se você estiver usando o Microsoft Azure operado pela 21Vianet, substitua
*.azuremicroservices.iopor*.microservices.azure.cn. Para mais informações, confira a seção Verificar pontos de extremidade no Azure no guia do desenvolvedor do Microsoft Azure operado pela 21Vianet.Acesse o ponto de extremidade composto com o token de acesso. Coloque o token de acesso em um cabeçalho para fornecer autorização:
--header 'Authorization: Bearer {TOKEN_FROM_PREVIOUS_STEP}'.Por exemplo:
a. Acessar um ponto de extremidade como
https://SERVICE_NAME.svc.azuremicroservices.io/config/actuator/healthpara ver o status de integridade do Config Server.b. Acessar um ponto de extremidade como
https://SERVICE_NAME.svc.azuremicroservices.io/eureka/eureka/appspara ver os aplicativos registrados no registro de serviço do Spring Cloud (aqui, Eureka).Se a resposta for
401 Unauthorized, verifique se a função foi atribuída com sucesso. Levará vários minutos para que a função entre em vigor ou para verificar se o token de acesso não expirou.
Para saber mais sobre o ponto de extremidade do atuador, confira Pontos de extremidade prontos para produção.
Para pontos de extremidade Eureka, confira Eureka-REST-operations
Para obter pontos de extremidade do servidor de configuração e informações detalhadas de caminho, confira ResourceController.java e EncryptionController.java.
Registrar aplicativos Spring Boot no Registro de Serviço e no Config Server do Spring Cloud gerenciados pelo Azure Spring Apps
Após a função ser atribuída, você poderá registrar aplicativos Spring Boot no Spring Cloud Config Server e no Service Registry gerenciados pelos Aplicativos Spring do Azure com autenticação de token do Microsoft Entra. O Config Server e o Registro de Serviço dão suporte ao modelo REST personalizado para injetar o token de portador para autenticação.
Para saber mais, confira as amostras Acesso ao Config Server gerenciado pelo Azure Spring Apps e Acesso ao Registro de Serviço gerenciado pelo Azure Spring Apps. As seções a seguir explicam alguns detalhes importantes nessas amostras.
Em AccessTokenManager.java:
AccessTokenManager é responsável por obter um token de acesso do Microsoft Entra ID. Configure as informações de login da entidade de serviço no arquivo application.properties e inicialize ApplicationTokenCredentials para obter o token. Você pode encontrar esse arquivo em ambas as amostras.
prop.load(in);
tokenClientId = prop.getProperty("access.token.clientId");
String tenantId = prop.getProperty("access.token.tenantId");
String secret = prop.getProperty("access.token.secret");
String clientId = prop.getProperty("access.token.clientId");
credentials = new ApplicationTokenCredentials(
clientId, tenantId, secret, AzureEnvironment.AZURE);
CustomConfigServiceBootstrapConfiguration.java:
CustomConfigServiceBootstrapConfiguration implementa o modelo REST personalizado para o Servidor de Configuração e injeta o token do Microsoft Entra ID como cabeçalhos Authorization. Você pode encontrar este arquivo na amostra do Config Server.
public class RequestResponseHandlerInterceptor implements ClientHttpRequestInterceptor {
@Override
public ClientHttpResponse intercept(HttpRequest request, byte[] body, ClientHttpRequestExecution execution) throws IOException {
String accessToken = AccessTokenManager.getToken();
request.getHeaders().remove(AUTHORIZATION);
request.getHeaders().add(AUTHORIZATION, "Bearer " + accessToken);
ClientHttpResponse response = execution.execute(request, body);
return response;
}
}
Em CustomRestTemplateTransportClientFactories.java:
As duas classes anteriores são para a implementação do modelo REST personalizado para o Registro de Serviço do Spring Cloud. A parte intercept é igual ao Config Server acima. Adicione factory.mappingJacksonHttpMessageConverter() aos conversores de mensagem. Você pode encontrar este arquivo na amostra do Registro de Serviço do Spring Cloud.
private RestTemplate customRestTemplate() {
/*
* Inject your custom rest template
*/
RestTemplate restTemplate = new RestTemplate();
restTemplate.getInterceptors()
.add(new RequestResponseHandlerInterceptor());
RestTemplateTransportClientFactory factory = new RestTemplateTransportClientFactory();
restTemplate.getMessageConverters().add(0, factory.mappingJacksonHttpMessageConverter());
return restTemplate;
}
Se você estiver executando aplicativos em um cluster de Kubernetes, recomendamos o uso de um endereço IP para registrar o Registro de Serviço do Spring Cloud para acesso.
eureka.instance.prefer-ip-address=true