Usar o portal de API para o VMware Tanzu

Observação

Azure Spring Apps é o novo nome do serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns locais por um tempo enquanto trabalhamos para atualizar ativos como capturas de tela, vídeos e diagramas.

Este artigo se aplica a(o):❌ Básico/Standard ✔️ Enterprise

Esse artigo mostra como usar o portal API para VMware Tanzu com o plano Azure Spring Apps Enterprise.

O portal de API é um dos componentes comerciais do VMware Tanzu. O portal de API oferece suporte à visualização de definições de API do Spring Cloud Gateway para VMware Tanzu e ao teste de rotas de API específicas do navegador. Ele também dá suporte à habilitação da autenticação de SSO (logon único) por meio da configuração.

Pré-requisitos

Configurar logon único (SSO)

O portal de API dá suporte à autenticação e à autorização usando o SSO (logon único) com um IdP (provedor de identidade) OpenID compatível com o protocolo de descoberta do OpenID Connect.

Observação

Há suporte apenas para servidores de autorização compatíveis com o protocolo de descoberta do OpenID Connect. Certifique-se de configurar o servidor de autorização externo para permitir redirecionamentos de volta ao portal da API. Veja a documentação do servidor de autorização e adicione https://<api-portal-external-url>/login/oauth2/code/sso à lista de URIs de redirecionamento permitidos.

Propriedade Necessário? Descrição
issuerUri Yes O URI declarado pelo aplicativo como o 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 será feita para "https://example.com/.well-known/openid-configuration". Espera-se que o resultado seja uma resposta de configuração do Provedor OpenID.
clientId Yes A ID de cliente do OpenID Connect fornecida pelo IdP
clientSecret Yes O segredo do cliente do OpenID Connect fornecido pelo IdP
scope Yes Uma lista de escopos a incluir em tokens de identidade JWT. Essa lista deve ser baseada nos escopos permitidos pelo provedor de identidade

Para configurar o SSO com o Microsoft Entra ID, veja Como configurar o logon único com o Microsoft Entra ID para Spring Cloud Gateway e API Portal para Tanzu.

Observação

Ao configurar a propriedade de SSO incorreta, como a senha incorreta, deve-se removê-la inteiramente e adicionar a configuração correta.

Configurar a contagem de instâncias

Use as etapas a seguir para configurar a contagem de instâncias usando o portal de API:

  1. Navegue até sua instância de serviço e selecione Portal de API.
  2. Selecione Escalar horizontalmente.
  3. Configure Contagem de instâncias e selecione Salvar.

Atribuir um ponto de extremidade público para o portal de API

Utilize os seguintes passos para atribuir um ponto final público ao portal API:

  1. Selecione Portal de API.
  2. Selecione Visão geral para exibir o estado em execução e os recursos alocados ao portal de API.
  3. Selecione Sim ao lado de Atribuir ponto de extremidade para atribuir um ponto de extremidade público. Um URL é gerado em alguns minutos.
  4. Salve-a para uso posterior.

Configurar o recurso de teste da API

O portal de API permite que você visualize APIs centralmente e experimente-as usando o recurso de teste de API. A teste de API está habilitada por padrão e essa configuração ajuda você a desativá-la em toda a instância do portal de API. Para obter mais informações, veja a seção Experimentar APIs no portal de API.

Use as etapas a seguir para habilitar ou desabilitar o teste de API:

  1. Navegue até sua instância de serviço e selecione Portal de API.
  2. Selecione Configuração.
  3. Selecione ou desmarque Habilitar teste de API e selecione Salvar.

Configurar o roteamento de API com o OpenAPI Spec no Spring Cloud Gateway para Tanzu

Esta seção descreve como exibir e experimentar as APIs com definições de esquema no portal da API. Use as etapas a seguir para configurar o roteamento de API com uma URL de especificação do OpenAPI no Spring Cloud Gateway para Tanzu.

  1. Crie um aplicativo no Azure Spring Apps para o qual o gateway roteia o tráfego.

  2. Gere a definição de OpenAPI e obtenha o URI para acessá-la. As duas opções de URI a seguir são aceitas:

    • A primeira opção é usar um ponto de extremidade publicamente acessível, como a URI https://petstore3.swagger.io/api/v3/openapi.json, que inclui a especificação do OpenAPI.
    • A segunda opção é colocar a definição de OpenAPI no caminho relativo do aplicativo no Azure Spring Apps e construir o URI no formato http://<app-name>/<relative-path-to-OpenAPI-spec>. Você pode escolher ferramentas como SpringDocs para gerar a especificação do OpenAPI automaticamente, para que o URI possa ser semelhante a http://<app-name>/v3/api-docs.
  3. Use o comando a seguir para atribuir um ponto de extremidade público ao gateway para acessá-lo.

    az spring gateway update --assign-endpoint
    
  4. Use o seguinte comando para configurar as propriedades do Spring Cloud Gateway para Tanzu:

    az spring gateway update \
        --api-description "<api-description>" \
        --api-title "<api-title>" \
        --api-version "v0.1" \
        --server-url "<endpoint-in-the-previous-step>" \
        --allowed-origins "*"
    
  5. Configure regras de roteamento para os aplicativos.

    Para criar regras para acessar o aplicativo na configuração de rotas do Spring Cloud Gateway para Tanzu, salve o conteúdo a seguir no arquivo sample.json.

    {
       "open_api": {
          "uri": "https://petstore3.swagger.io/api/v3/openapi.json"
       },
       "routes": [
          {
             "title": "Petstore",
             "description": "Route to application",
             "predicates": [
                "Path=/pet",
                "Method=PUT"
             ],
             "filters": [
                "StripPrefix=0"
             ]
          }
       ]
    }
    

    O valor open_api.uri é o ponto de extremidade público ou URI construído na segunda etapa acima. É possível adicionar predicados e filtros aos caminhos definidos na especificação do OpenAPI.

    Use o seguinte comando para aplicar a regra ao aplicativo criado na primeira etapa:

    az spring gateway route-config create \
        --name sample \
        --app-name <app-name> \
        --routes-file sample.json
    
  6. Verifique a resposta das rotas criadas. Também é possível exibir as rotas no portal.

Exibir APIs expostas no portal de API

Observação

Demora vários minutos para sincronizar o Spring Cloud Gateway para Tanzu e o portal de API.

Selecione o endpoint URL para acessar o portal de API. Você vê todas as rotas configuradas no Spring Cloud Gateway for Tanzu.

Captura de tela do portal API que mostra as rotas configuradas.

Experimentar APIs no portal de API

Use as seguintes etapas para experimentar as APIs:

  1. Selecione a API que você deseja experimentar.

  2. Selecione EXECUTE e a resposta aparecerá.

    Captura de tela do portal de API que mostra a opção Executar selecionada.

Habilitar/desabilitar o portal API após a criação do serviço

Você pode habilitar e desabilitar o portal API após a criação do serviço usando o portal do Azure ou a CLI do Azure. Antes de desativar o portal API, é necessário cancelar a atribuição do seu ponto final.

Use os seguintes passos para habilitar ou desabilitar o portal API utilizando o portal Azure:

  1. Navegue até seu recurso de serviço e selecione portal de API.
  2. Selecione Gerenciar.
  3. Marque ou desmarque Habilitar portal API e selecione Salvar.
  4. Agora você pode visualizar o estado do portal API na página do portal API.

Próximas etapas