Noções Básicas do App Gateway

O App Gateway é um appliance de software que permite integrar aplicativos hospedados em uma instância de computação, em uma infraestrutura de nuvem ou em um servidor local com o IAM para fins de autenticação.

O App Gateway funciona como proxy reverso que protege aplicativos web restringindo o acesso não autorizado da rede a eles. O App Gateway intercepta qualquer solicitação HTTP para esses aplicativos e garante que os usuários sejam autenticados no serviço IAM antes de encaminhar a solicitação a esses aplicativos. O App Gateway propaga a identidade do usuário autenticado para os aplicativos.

Se o usuário não estiver autenticado com o serviço IAM, o App Gateway redirecionará o usuário para a página de acesso para validação de credenciais.

Nota

Se você estiver usando o Cloud Gate, será importante que o nome de um usuário só contenha os caracteres mostrados em Criando um Usuário porque o nome para exibição é enviado como um cabeçalho HTTP. Se forem usados caracteres ASCII não imprimíveis, o Cloud Gate considerará a solicitação inválida e retornará um erro 400.

Usos do App Gateway

Use o App Gateway para:

  • Integrar aplicativos empresariais hospedados no local ou em uma infraestrutura de nuvem com o serviço IAM para fins de autenticação.

    Por exemplo, se você tiver um aplicativo web hospedado no local ou em uma infraestrutura de nuvem, poderá integrar esse aplicativo com qualquer outro baseado na nuvem para sign-on único. Use o App Gateway para integrar um aplicativo web com o serviço IAM e, em seguida, verifique se os outros aplicativos baseados na nuvem usam o serviço IAM como mecanismo de autenticação. Todos esses aplicativos usam o sign-on único fornecido pelo serviço IAM.

  • Exponha os aplicativos web de intranet para acesso à Internet.

    Se o aplicativo web estiver hospedado e for acessado por meio de uma intranet e você quiser expor o acesso a esse aplicativo pela internet, use o App Gateway como proxy de qualquer solicitação da internet e para exigir que os usuários se autenticem no serviço IAM antes de acessar o aplicativo web da intranet. Nesse caso, você implanta o App Gateway na DMZ da rede enquanto o aplicativo permanece na zona da intranet.

  • Integre com aplicativos que não têm um mecanismo de autenticação nativo e não suportam métodos de integração OAuth, OpenID Connect ou federação SAML.

    Se o aplicativo não suportar os padrões de autenticação suportados pelo IAM (SAML, OAuth e OpenID Connect) e você não puder usar os SDKs do IAM no aplicativo, poderá usar o App Gateway para integrar o aplicativo web com o serviço IAM.

  • Integre com aplicativos que suportem a autenticação baseada em Cabeçalho HTTP.

    Para aplicativos web que suportam autenticação baseada em Cabeçalho HTTP, o método de integração do App Gateway não exige alteração no código-fonte do aplicativo web. Configure as políticas de autenticação do aplicativo no serviço IAM para adicionar variáveis de cabeçalho na solicitação antes que o App Gateway encaminhe a solicitação ao aplicativo. Fazendo isso, o aplicativo pode identificar o usuário autenticado no IAM.

Como o App Gateway funciona

O App Gateway é implantado na infraestrutura de um cliente, independentemente de se a infraestrutura está na nuvem, é local ou híbrida. Ele funciona como proxy reverso, interceptando todas as solicitações do cliente para o aplicativo. Em seguida, o App Gateway verifica se um usuário já está conectado ao serviço IAM. Se o usuário tiver acessado, o App Gateway adicionará variáveis de cabeçalho à solicitação para que o aplicativo que está sendo protegido possa acessá-la. O aplicativo confia que o App Gateway identificou o usuário conectado nos valores do domínio de identidades e cria a sessão do usuário.

Certifique-se de que a comunicação entre o App Gateway e o aplicativo seja segura para evitar alterações nos valores de variáveis de cabeçalho antes que a solicitação seja enviada ao aplicativo.

mostra como o aplicativo, o App Gateway, o domínio de identidades e o browser do usuário interagem quando um usuário tenta acessar qualquer recurso do aplicativo, mas não está conectado a um domínio de identidades

As etapas a seguir explicam o fluxo de autenticação baseada em form entre o web browser, o App Gateway e um aplicativo empresarial:

Etapa Descrição
Legenda 1 Em um web browser, um usuário solicita acesso a um aplicativo por meio de um URL exposto pelo App Gateway.
Legenda 2

O App Gateway intercepta a solicitação, verifica se o usuário não tem uma sessão no serviço IAM e, em seguida, redireciona o browser do usuário para a página de acesso.

Na etapa 2, se o usuário tiver uma sessão no serviço IAM, isso significará que ele já está conectado. Em caso afirmativo, um token de acesso será enviado ao App Gateway e as etapas restantes serão ignoradas.

Legenda 3 O serviço IAM apresenta a página de acesso ou qualquer mecanismo de acesso configurado para o domínio.
Legenda 4 O usuário acessa o serviço IAM.
Legenda 5 Após a autenticação bem-sucedida, o serviço IAM cria uma sessão para o usuário e emite um token de acesso ao App Gateway.
Legenda 6 O App Gateway usa o token para identificar o usuário. Em seguida, adiciona variáveis de cabeçalho à solicitação e encaminha a solicitação para o aplicativo.
Legenda 7 O aplicativo recebe as informações de cabeçalho, valida a identidade do usuário e inicia a sessão do usuário.

O App Gateway intercepta qualquer solicitação subsequente para os recursos protegidos do aplicativo. O App Gateway identifica o usuário, adiciona variáveis de cabeçalho à solicitação e encaminha a solicitação ao aplicativo.

Para sair do sistema, o usuário chama o URL de log-out de um aplicativo. O App Gateway identifica o URL de log-out e redireciona o usuário para o ponto final de log-out do OAuth do domínio de identidades (/oauth2/v1/userlogout). Depois que o serviço IAM desconecta o usuário, o browser do usuário pode ser redirecionado pelo IAM para um URL do aplicativo, que pode então remover a sessão do usuário do aplicativo.

Como Funciona o Log-out do App Gateway

Os usuários podem fazer log-out dos aplicativos protegidos pelo App Gateway usando dois mecanismos: URL de Log-out do App Gateway ou chamando um recurso protegido por um método de autenticação de log-out.

Usar URL de log-out do App Gateway

O App Gateway fornece um URL de log-out central que pode ser usado para fazer log-out do usuário pelo sign-on único fornecido pelo serviço IAM. Qualquer chamada a esse ponto final aciona o processo de logout. Após o log-out do usuário, qualquer acesso subsequente a um recurso de aplicativo protegido exigirá que o usuário acesse o serviço IAM novamente.

Esse ponto final suporta dois parâmetros anexados ao URL:
  • postlogouturl: O URL de uma página de destino após o log-out. Esse valor deve ser codificado por URL. Se o parâmetro não for especificado, o App Gateway redirecionará o browser do usuário para o URL de Log-out especificado nas Definições de Sessão da Console.
  • state: Esse é um parâmetro opcional a ser usado pelo aplicativo empresarial, após a finalização do processo de log-out.

Sintaxe

http(s)://<appgateway_host>:<appgateway_port>/cloudgate/logout.html?postlogouturl=<url_encoded>&state=<state_value>

Fazer Log-out do Ponto Final com Parâmetros

Se o URL base do App Gateway for https://myappgateway.example.com:4443, use o seguinte URL para fazer log-out do usuário pelo sign-on único: https://myappgateway.example.com:4443/cloudgate/logout.html?postlogouturl=http%3A%2F%2Fwww.oracle.com&state=123

Usar Recurso Protegido pelo método de autenticação de Log-out

Você pode criar um recurso em seu aplicativo empresarial e configurar uma política de autenticação para esse recurso usando o método de autenticação Forms+Logout. Quando o usuário acessa esse recurso, o App Gateway chama o processo de log-out e desconecta o usuário pelo sign-on único fornecido pelo serviço IAM.

Sintaxe

http(s)://<appgateway_host>:<appgateway_port>/<logout_resource>

Recurso Protegido pelo método de autenticação de Log-out

Se você tiver criado o recurso /myapp/logout em seu aplicativo empresarial e designado Forms+Logout como Método de Autenticação para esse recurso na seção Política de Autenticação, quando os usuários acessarem o URL https://myappgateway.example.com:4443/myapp/logout, eles serão desconectados do sign-on único fornecido pelo serviço IAM.