Observação:

Usar o Microsoft Entra ID para Proteger o Gateway de API do OCI Usando OAuth e o OpenID Connect

Introdução

O Gateway de API do OCI (Oracle Cloud Infrastructure) é um serviço totalmente gerenciado sem servidor no OCI que pode ser usado para proteger pontos finais de API e aplicativos Web. Ele fornece muitas funcionalidades de segurança, como limitação de taxa, aplicação de autorização, roteamento dinâmico, aplicação de SSL etc. Vimos muitas solicitações de nossos clientes perguntando como os tokens Entra ID OAuth da Microsoft podem ser usados para proteger APIs em execução por trás do OCI API Gateway ou como podemos aproveitar os tokens Entra ID da Microsoft para autenticação no OCI API Gateway. Para obter mais informações sobre a autenticação do OCI API Gateway, consulte Validando tokens para adicionar autenticação e autorização a implantações de API.

Objetivos

Pré-requisitos

Tarefa 1: Configurar o ID do Microsoft Entra como um Provedor de Identidades OAuth (IdP)

No lado do Microsoft Entra ID, precisamos configurar dois aplicativos clientes no Microsoft Entra ID: um que será usado para autenticar no Microsoft Entra ID, outro aplicativo cliente será usado para expor uma API no Microsoft Entra ID e recuperaremos um token para essa API exposta usando o ID do cliente, segredo do primeiro aplicativo via Postman. Examinaremos esse token e usaremos os campos de público (aud) e emissor a serem importados na configuração do Gateway de API do OCI.

Para criar e configurar os dois aplicativos clientes no Microsoft Entra ID, siga estas etapas:

  1. Para criar o primeiro aplicativo, abra o portal Entra ID da Microsoft, clique em Registros do Aplicativo e Novo Registro para registrar um novo aplicativo.

  2. Especifique as seguintes informações e clique em Registrar.

    • Nome: informe o nome do aplicativo.
    • Tipos de conta suportados: Selecione Contas neste diretório organizacional apenas (Diretório Padrão apenas - Tenant único).

    Imagem 1

  3. Clique em Expor uma API para expor isso aos aplicativos clientes adicionando o URI do ID do aplicativo e clique em Adicionar um escopo para adicionar o escopo. Para este tutorial, fornecemos valores de teste, conforme mostrado nas imagens a seguir, para expor uma API e adicionar um escopo.

    Registrando a API da Web e expondo-a por meio de escopos, designando uma atribuição de aplicativo, você pode inserir acesso baseado em permissões a seus recursos para usuários autorizados e aplicativos clientes que acessam sua API.

    Observação: Anote o URI do ID do aplicativo, que será usado posteriormente durante a captura de um token do Microsoft Entra ID.

    Imagem 2

    Imagem 3

  4. Clique em Atribuições de aplicativo para adicionar uma atribuição de aplicativo, que é para o primeiro aplicativo.

    Imagem 4

  5. Para criar o segundo aplicativo, abra o portal Entra ID da Microsoft, clique em Registros do Aplicativo e Novo Registro para registrar um novo aplicativo.

  6. Especifique as seguintes informações e clique em Registrar.

    • Nome: informe o nome do aplicativo.
    • Tipos de conta suportados: Selecione Contas neste diretório organizacional apenas (Diretório Padrão apenas - Tenant único).

    Imagem 6

  7. Anote o ID do Aplicativo (cliente), pois o usaremos como uma credencial na API de geração de token para obter um token para o primeiro aplicativo cliente exposto como uma API.

    Imagem 5

  8. Clique em Certificados e segredos, Novo segredo do cliente, especifique as informações a seguir e clique em Adicionar.

    • Descrição: Digite uma descrição curta do segredo.
    • Expira: Selecione a expiração. Por padrão, a expiração do segredo é definida como seis meses.

    Imagem 7

    Observação: Anote o segredo copiando o campo de valor.

    O segredo entrará em par com o ID do aplicativo (cliente) acima.

    Imagem 8

  9. Clique em Permissões de API e em Adicionar uma permissão para Api_App. Na seção Selecionar uma API, selecione APIs que minha organização usa e selecione a API que foi exposta ao configurar o primeiro aplicativo.

    Imagem 9

    Imagem 10

  10. Selecione Permissão do aplicativo e a permissão exposta e clique em Adicionar permissões.

    Imagem 11

    Imagem 12

  11. Clique em Visão Geral, Pontos Finais e copie o URL do ponto final do token OAuth 2.0 (v1), que será usado para a emissão de tokens JWT.

    Imagem 13

  12. Em Pontos Finais, capturaremos o URL de ponto final OpenID conhecido que contém o URI JWKS remoto.

    Imagem 14

Acabamos com a parte do Microsoft Entra ID e agora avançamos para configurar o OCI API Gateway. No entanto, antes de configurar o Gateway de API no OCI, coletaremos os detalhes necessários do JWT e do openid-configuration do Microsoft Entra ID usando o Postman. Precisaremos coletar os detalhes abaixo:

Obtenha um token de acesso do Microsoft Entra ID usando o Postman. Observe o valor do escopo; ele deve ser o URI do ID do aplicativo criado na seção Expor uma API do seu Api_App e adicione o /.default ao final, conforme mostrado na imagem a seguir.

Use Postman para recuperar o token JWT do Microsoft Entra ID. Informe o URL da API de token https://login.microsoftonline.com/{tenant-id}/oauth2/token ao substituir {tenant-id} pelo ID do tenant do Azure. Envie uma solicitação e copie o valor access_token.

Imagem 15

Agora, podemos decodificar o token JWT para obter alguns valores, como o Emissor Permitido JWT e o Público Permitido JWT.

Imagem 16

Usaremos o JWT (JSON Web Token) emitido pelo Microsoft Entra ID para a resposta padrão configurada no Gateway de API do OCI.

Tarefa 2: Configurar um Gateway de API do OCI

  1. Vá para Gateway de API do OCI e, na seção Autenticação, selecione Autenticação Única e digite as informações a seguir.

    • Tipo de autenticação: OAuth 2.0/ OpenID Connect.
    • Localização do token: Header.
    • Nome do cabeçalho do token JWT: Authorization.
    • Esquema de autenticação: Bearer.

    Imagem 17

  2. Na seção Validação adicional de JWT, defina Emissores e Públicos-alvo permitidos. Como usamos a API de token v1, os emissores permitidos devem ser definidos como https://sts.windows.net/{tenant-id}/. Substitua {tenant-id} pelo seu ID de tenant do Azure. Públicos permitidos devem conter o valor da reivindicação aud obtido na Tarefa 1.

    Imagem 18

  3. Na seção Tipo de validação, informe o URI JWKS obtido do ponto final OpenID conhecido do Microsoft Entra ID.

    Imagem 19

  4. Para criar uma rota, especifique as seguintes informações e clique em Próximo.

    • Caminho: Defina um caminho.
    • Métodos: Selecione um método.
    • Selecione Adicionar um único backend.
    • Tipo de Backend: Selecione Resposta em estoque.
    • Código de status: Informe o código de status.
    • Corpo: Defina um corpo simples.

    Observação: para fins de simplicidade, estamos expondo uma resposta padrão como o tipo de backend para o Gateway de API. Geralmente, isso seria uma API protegida por meio do Gateway de API; no entanto, a configuração da autenticação do OIDC do Microsoft Entra ID é semelhante.

    Imagem 20

  5. Na seção Revisar, revise a implantação e clique em Criar. Aguarde até que a implantação esteja no estado Active e copie o URL do ponto final.

    Imagem 21

Use Postman para testar o ponto final da API segura. Informe o ponto final e sufoque-o com o caminho da rota. Adicione o cabeçalho Autorização, use o esquema Portador e cole o token JWT obtido do ID do Entra da Microsoft.

Imagem 22

Sua implantação do OCI API Gateway agora está protegida com o Microsoft Entra ID.

Confirmação

Mais Recursos de Aprendizagem

Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal Oracle Learning YouTube. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.

Para obter a documentação do produto, visite o Oracle Help Center.