Eventos
Crie aplicativos e agentes de IA
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.
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 início rápido mostra como configurar o logon único para aplicativos em execução no plano Enterprise dos Aplicativos Spring do Azure.
spring-cloud
anteriormente, desinstale-a para evitar incompatibilidades de configuração e de versão.
az extension add --upgrade --name spring
az extension remove --name spring-cloud
Para configurar o logon único para o aplicativo, é necessário preparar as credenciais. As seções a seguir descrevem as etapas para usar um provedor existente ou para provisionar um registro de aplicativo com o Microsoft Entra ID.
Siga estas etapas para configurar o logon único usando um Provedor de Identidade existente. Se você estiver provisionando um registro de aplicativo do Microsoft Entra, vá para a seção a seguir, Criar e configurar um registro de aplicativo com o Microsoft Entra ID.
Configure seu provedor de identidade existente para permitir redirecionamentos de volta ao Gateway do Spring Cloud para VMware Tanzu e ao portal de API do VMware Tanzu. O Gateway do Spring Cloud tem apenas um URI para permitir o reingresso no gateway. O portal da API tem dois URIs para dar suporte à interface do usuário e à API subjacente. Os comandos a seguir recuperam esses URIs que você adiciona à configuração do provedor de logon único.
export GATEWAY_URL=$(az spring gateway show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
export PORTAL_URL=$(az spring api-portal show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
echo "https://${GATEWAY_URL}/login/oauth2/code/sso"
echo "https://${PORTAL_URL}/oauth2-redirect.html"
echo "https://${PORTAL_URL}/login/oauth2/code/sso"
Obtenha Client ID
e Client Secret
para o provedor de identidade.
Obtenha Issuer URI
para seu provedor de identidade. Você deve configurar o provedor com um URI emissor, que é o URI que ele afirma como Identificador do Emissor. Por exemplo, se o issuer-uri
fornecido for https://example.com
, então uma solicitação de configuração do Provedor OpenID é feita para https://example.com/.well-known/openid-configuration
. Espera-se que o resultado seja uma resposta de configuração do Provedor OpenID.
Observação
Você só pode usar servidores de autorização que dão suporte ao protocolo de descoberta OpenID Connect.
Obtenha JWK URI
para seu provedor de identidade para uso posterior.
JWK URI
normalmente assume a forma de ${ISSUER_URI}/keys
ou ${ISSUER_URI}/<version>/keys
. O aplicativo do Serviço de Identidade usa as JWK (Chaves Web JSON) públicas para verificar os JWT (Tokens Web JSON) emitidos pelo servidor de autorização do provedor de identidade de logon único.
Para registrar o aplicativo com o Microsoft Entra ID, siga estas etapas. Se você estiver usando as credenciais de um provedor existente, vá para a seção a seguir, Implantar o aplicativo do Serviço de Identidade.
Use o seguinte comando para criar um registro de aplicativo com o Microsoft Entra ID e salvar a saída:
az ad app create --display-name <app-registration-name> > ad.json
Use o seguinte comando para recuperar a ID do aplicativo e coletar o segredo do cliente:
export APPLICATION_ID=$(cat ad.json | jq -r '.appId')
az ad app credential reset --id ${APPLICATION_ID} --append > sso.json
Use o seguinte comando para atribuir uma Entidade de Serviço ao registro do aplicativo:
az ad sp create --id ${APPLICATION_ID}
Use os seguintes comandos para recuperar as URLs para o Gateway do Spring Cloud e o portal da API e adicione as URLs de resposta necessárias ao Registro de Aplicativo do Active Directory.
export APPLICATION_ID=$(cat ad.json | jq -r '.appId')
export GATEWAY_URL=$(az spring gateway show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
export PORTAL_URL=$(az spring api-portal show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
az ad app update \
--id ${APPLICATION_ID} \
--web-redirect-uris "https://${GATEWAY_URL}/login/oauth2/code/sso" "https://${PORTAL_URL}/oauth2-redirect.html" "https://${PORTAL_URL}/login/oauth2/code/sso"
Use o comando a seguir para recuperar o Client ID
do aplicativo. Salve a saída para usar posteriormente neste início rápido.
cat sso.json | jq -r '.appId'
Use o comando a seguir para recuperar o Client Secret
do aplicativo. Salve a saída para usar posteriormente neste início rápido.
cat sso.json | jq -r '.password'
Use o comando a seguir para recuperar Issuer URI
. Salve a saída para usar posteriormente neste início rápido.
export TENANT_ID=$(cat sso.json | jq -r '.tenant')
echo "https://login.microsoftonline.com/${TENANT_ID}/v2.0"
Recupere JWK URI
da saída do comando a seguir. O aplicativo do Serviço de Identidade usa as JWK (Chaves Web JSON) públicas para verificar os JWT (Tokens Web JSON) emitidos pelo Active Directory.
export TENANT_ID=$(cat sso.json | jq -r '.tenant')
echo "https://login.microsoftonline.com/${TENANT_ID}/discovery/v2.0/keys"
Para concluir a experiência de logon único, use as etapas a seguir para implantar o aplicativo do Serviço de Identidade. O aplicativo do Serviço de Identidade fornece apenas uma rota para ajudar a identificar o usuário.
Navegue até a pasta do projeto.
Use o seguinte comando para criar o aplicativo identity-service
:
az spring app create \
--resource-group <resource-group-name> \
--name identity-service \
--service <Azure-Spring-Apps-service-instance-name>
Use o seguinte comando para habilitar a configuração externalizada para o serviço de identidade, associando-se ao Serviço de Configuração de Aplicativo:
az spring application-configuration-service bind \
--resource-group <resource-group-name> \
--app identity-service \
--service <Azure-Spring-Apps-service-instance-name>
Use o seguinte comando para habilitar a descoberta e o registro de serviço para o serviço de identidade, associando-se ao Registro de Serviço:
az spring service-registry bind \
--resource-group <resource-group-name> \
--app identity-service \
--service <Azure-Spring-Apps-service-instance-name>
Use o seguinte comando para implantar o serviço de identidade:
az spring app deploy \
--resource-group <resource-group-name> \
--name identity-service \
--service <Azure-Spring-Apps-service-instance-name> \
--config-file-pattern identity/default \
--source-path apps/acme-identity \
--build-env BP_JVM_VERSION=17 \
--env "JWK_URI=<jwk-uri>"
Use o seguinte comando para rotear solicitações ao serviço de identidade:
az spring gateway route-config create \
--resource-group <resource-group-name> \
--name identity-routes \
--service <Azure-Spring-Apps-service-instance-name> \
--app-name identity-service \
--routes-file azure-spring-apps-enterprise/resources/json/routes/identity-service.json
Você pode configurar o Gateway do Spring Cloud para autenticar solicitações usando o logon único. Para configurar o Gateway do Spring Cloud a fim de usar o logon único, siga estas etapas:
Use os seguintes comandos para configurar o Gateway do Spring Cloud a fim de usar o logon único:
export GATEWAY_URL=$(az spring gateway show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
az spring gateway update \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--api-description "Fitness Store API" \
--api-title "Fitness Store" \
--api-version "v1.0" \
--server-url "https://${GATEWAY_URL}" \
--allowed-origins "*" \
--client-id <client-id> \
--client-secret <client-secret> \
--scope "openid,profile" \
--issuer-uri <issuer-uri>
Instrua o aplicativo de serviço de carrinho a usar o Gateway do Spring Cloud para autenticação. Use o seguinte comando para fornecer as variáveis de ambiente necessárias:
az spring app update \
--resource-group <resource-group-name> \
--name cart-service \
--service <Azure-Spring-Apps-service-instance-name> \
--env "AUTH_URL=https://${GATEWAY_URL}" "CART_PORT=8080"
Instrua o aplicativo de serviço de pedidos a usar o Gateway do Spring Cloud para autenticação. Use o seguinte comando para fornecer as variáveis de ambiente necessárias:
az spring app update \
--resource-group <resource-group-name> \
--name order-service \
--service <Azure-Spring-Apps-service-instance-name> \
--env "AcmeServiceSettings__AuthUrl=https://${GATEWAY_URL}"
Use o seguinte comando para recuperar a URL para o Gateway do Spring Cloud:
echo "https://${GATEWAY_URL}"
Você pode abrir a URL de saída em um navegador para explorar o aplicativo atualizado. Agora a função de Logon está em operação, permitindo que você adicione itens ao carrinho e faça pedidos. Depois de entrar, o botão de informações do cliente exibe o nome do usuário conectado.
Você pode configurar o portal da API para VMware Tanzu para usar o logon único a fim de exigir a autenticação antes de explorar as APIs. Use os seguintes comandos para configurar o logon único para o portal da API:
export PORTAL_URL=$(az spring api-portal show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
az spring api-portal update \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> \
--client-id <client-id> \
--client-secret <client-secret> \
--scope "openid,profile,email" \
--issuer-uri <issuer-uri>
Use os seguintes comandos para recuperar a URL do portal da API:
export PORTAL_URL=$(az spring api-portal show \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-service-instance-name> | jq -r '.properties.url')
echo "https://${PORTAL_URL}"
Você pode abrir a URL de saída em um navegador para explorar as APIs do aplicativo. Você será direcionado para entrar antes de explorar as APIs.
Se planejar continuar trabalhando com os tutoriais e inícios rápidos subsequentes, deixe esses recursos onde estão. Quando não for mais necessário, exclua o grupo de recursos, que excluirá os recursos no grupo de recursos. Para excluir o grupo de recursos usando a CLI do Azure, use os seguintes comandos:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Prossiga para qualquer um dos seguintes inícios rápidos opcionais:
Eventos
Crie aplicativos e agentes de IA
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 agora