Acesse o Config Server e o Registro do Serviço
Observação
Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
O plano consumo e dedicado Standard será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano dedicado e consumo Standard dos Aplicativos Spring do Azure para os Aplicativos de Contêiner 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-token
Componha 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.io
por*.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/health
para ver o status de integridade do Config Server.b. Acessar um ponto de extremidade como
https://SERVICE_NAME.svc.azuremicroservices.io/eureka/eureka/apps
para 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);
Em 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;
}
}
No 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