Noções Básicas do App Gateway

App Gateway é um appliance de software que lhe permite integrar aplicações hospedadas em uma instância de computação, em uma infraestrutura de nuvem ou em um servidor local com o serviç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 com o IAM antes de encaminhar a solicitação para esses aplicativos. O App Gateway propaga a identidade do usuário autenticado para os aplicativos.

Se o usuário não for autenticado com 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, é 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:

  • Integre aplicativos empresariais hospedados localmente ou em uma infraestrutura de nuvem com 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. Utilize o App Gateway para integrar um aplicativo Web com o IAM e, em seguida, certifique-se de que os outros aplicativos baseados na nuvem usem o IAM como mecanismo de autenticação. Todos esses aplicativos usam o sign-on único fornecido pelo IAM.

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

    Se o aplicativo web for hospedado e acessado por meio de uma intranet e você quiser expor acesso a esse aplicativo pela internet, use o App Gateway para fazer proxy de qualquer solicitação de internet e para exigir que os usuários se autenticem no IAM antes do acesso ao aplicativo web intranet. Nesse caso, você implantará o App Gateway na rede DMZ enquanto o aplicativo permanecer na região 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 não for possível usar SDKs do IAM no aplicativo, você poderá usar App Gateway para integrar o aplicativo Web ao 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. É necessário configurar as políticas de autenticação do aplicativo no IAM para adicionar variáveis do cabeçalho na solicitação antes do App Gateway encaminhar a solicitação ao aplicativo. Fazendo isso, o aplicativo pode identificar o usuário autenticado com o 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. O App Gateway então verifica se um usuário já está conectado ao IAM. Se o usuário tiver se conectado, o App Gateway adicionará variáveis de cabeçalho à solicitação, de forma que o aplicativo protegido possa acessar a variável de cabeçalho. 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 da identidade e o browser do usuário interagem quando um usuário tenta acessar qualquer recurso do aplicativo, mas o usuário não tem acesso 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 com o IAM e, em seguida, redireciona o navegador do usuário para a página de acesso.

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

Legenda 3 O IAM apresenta a página de sign-in ou qualquer mecanismo de sign-in configurado para o domínio.
Legenda 4 O usuário acessa o IAM.
Legenda 5 Após a autenticação bem-sucedida, 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 IAM desconectar o usuário, o IAM poderá redirecionar o navegador do usuário para um URL do aplicativo que poderá 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 logout central que pode ser usado para fazer logout do usuário por meio do sign-on único fornecido pelo IAM. Qualquer chamada a esse ponto final aciona o processo de logout. Depois que o usuário for desconectado, qualquer acesso subsequente a um recurso de aplicativo protegido exigirá que o usuário se conecte ao IAM novamente.

Esse ponto final suporta dois parâmetros anexados ao URL:
  • postlogouturl: O URL de uma página inicial pós-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 da Sessão da Console.
  • state: Esse é um parâmetro opcional a ser usado pelo aplicativo empresarial, após a conclusã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 no seu aplicativo empresarial e configurar uma política de autenticação para esse recurso usando o método Forms+Logout. Quando o usuário acede a este recurso, o App Gateway chama o processo de logout e desconecta o usuário do single sign-on fornecido pelo IAM.

Sintaxe

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

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

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