Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever em uma conta gratuita, consulte Conceitos básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Implementar Sign-On Único no Oracle Fusion Cloud Transportation Management 6.4.3
Introdução
Você pode integrar aplicativos aos domínios do Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) para ativar a autenticação e o Sign-On Único (SSO) por meio de vários métodos. Embora muitos aplicativos suportem protocolos padrão como SAML e OAuth, o Oracle Fusion Cloud Transportation Management (Oracle Transportation Management) suporta autenticação baseada em cabeçalho HTTP para SSO.
O gateway de aplicativo age como um proxy de autenticação entre o OCI IAM e o Oracle Transportation Management. Ele está disponível em duas opções de implantação: uma imagem do Docker e uma imagem de appliance virtual. Este tutorial se concentra na implantação e no uso da versão baseada no Docker.
Implementar o SSO ajuda a aproveitar os recursos de segurança do OCI IAM, incluindo MFA, segurança adaptável, políticas de sign-on e assim por diante. Isso ajuda a impor uma camada adicional de controle de acesso para proteger ainda mais sua instância do Oracle Transportation Management.
Objetivos
-
Crie um aplicativo empresarial no domínio do OCI que represente o Oracle Transportation Management.
-
Crie um gateway de aplicativo no domínio do OCI e associe-o ao aplicativo empresarial.
-
Faça download dos arquivos de requisitos para configurar a imagem do Docker.
-
Crie uma instância do OCI Compute e atualize as configurações de rede para permitir entrada.
-
Configure a imagem do Docker para executar o gateway de aplicativo.
-
Atualize a configuração de SSO da configuração do servidor do Oracle Transportation Management.
-
Valide o fluxo de log-in para garantir que a autenticação SSO funcione.
Pré-requisitos
-
Acesso a uma tenancy da OCI. Para obter mais informações, consulte Oracle Cloud Infrastructure - Free Tier.
-
Atribuição de administrador de domínio de identidades para o domínio de identidades do OCI IAM. Para obter mais informações, consulte Noções Básicas de Atribuições de Administrador.
-
Uma instância do Oracle Transportation Management.
-
Acesso do administrador à camada do aplicativo do Oracle Transportation Management.
Tarefa 1: Configurar um Aplicativo Empresarial
Os seguintes detalhes são necessários sobre o Oracle Transportation Management antes de continuar:
-
Lista de recursos e nível de proteção: Por exemplo,
/home
,/jobs
ou/*
. Também se isso exigir acesso público ou autenticação do usuário. -
Host/IP com porta em que o aplicativo Oracle Transportation Management está sendo executado, como o servidor de origem.
-
O cabeçalho HTTP que o Oracle Transportation Management espera que o OCI IAM seja aprovado, que será reconciliado com um usuário no banco de dados do Oracle Transportation Management. Estamos usando o
appuid
neste tutorial.
Siga as etapas:
-
Abra o menu Oracle Cloud Console de navegação e clique em Identidade & Segurança. Em Identity, clique em Domains. Escolha o compartimento para localizar seu domínio.
-
Clique no nome do domínio e, em Aplicativos integrados, clique em Adicionar aplicativo.
-
Selecione Aplicativo Empresarial e clique em Iniciar workflow.
-
Informe um nome para o aplicativo. O URL do Aplicativo é o host e porta do servidor de gateway de aplicativo. Também pode ser um URL que tem um redirecionamento para o gateway de aplicativo. Marque Exibir em Meus Aplicativos. Se você quiser restringir este aplicativo apenas a usuários autorizados, marque O usuário deve receber este aplicativo.
-
Clique em Próximo e, em seguida, em Próximo novamente para ignorar as telas de configuração OAuth.
-
Clique em Adicionar Recurso para adicionar os recursos do GTM. Forneça um nome e um URL de recurso. No nosso caso, será
/.*
, pois estamos protegendo todos os recursos. Marque Usar expressões regex. -
Clique no botão Adicionar recurso gerenciado e selecione o recurso na Etapa 6 anterior no menu Recurso. Selecione o Método de autenticação como Token de Formulário ou Acesso. Em Cabeçalhos, digite
appuid
como o Nome eUser Name
como o Valor.Observação: Em nosso exemplo, selecionamos
Default
como o único recurso eForm or Access token
como nosso método de autenticação para proteger todos os recursos. Isso garante que somente usuários autenticados tenham permissão de acesso. O Oracle Transportation Management também precisa de um cabeçalhoappuid
com o nome de usuário como o valor. Identificamos isso como parte de nossa tarefa inicial de coletar detalhes. -
Clique em Concluir e ative o aplicativo clicando na opção Ativar.
-
Designe alguns usuários/grupos ao aplicativo em Recursos. Você pode escolher usuários locais e federados, mas certifique-se de que esses usuários existam no banco de dados do Oracle Transportation Management.
Tarefa 2: Registrar o App Gateway no OCI IAM
O App Gateway fica na frente do seu aplicativo, intercepta solicitações, autentica usuários e permite acesso aos recursos.
Coletar Detalhes do Servidor:
Os seguintes detalhes são necessários sobre o servidor app-gateway antes de continuar:
-
Endereço do host/IP do servidor do App Gateway. Pode ser uma instância do OCI Compute ou qualquer outro servidor em execução em uma nuvem ou on-premises.
-
O servidor do App Gateway precisa de conectividade com a internet para acessar o URL do domínio do OCI IAM. Ele também precisa de conectividade com o aplicativo upstream do Oracle Transportation Management.
-
Detalhes do servidor de origem (host e porta) do Oracle Transportation Management no qual seu aplicativo upstream está sendo executado.
Siga as etapas:
-
Em Identidade, selecione Domínios e clique no domínio que você usou antes.
-
Em Segurança, selecione Gateways de aplicativo e clique em Criar gateway de aplicativo. Informe um nome e clique em Adicionar gateway de aplicativo.
-
Clique em Adicionar Host. Forneça um nome no Identificador de host e adicione os detalhes do servidor de gateway de aplicativo em Host e Porta. Se você ainda não tiver os detalhes, adicione valores de espaço reservado e revisite esta etapa após concluir a Tarefa 4.
-
Clique na caixa de seleção SSL ativado, informe o seguinte em Propriedades adicionais e clique em Adicionar host.
ssl_certificate /usr/local/nginx/conf/cert.pem; ssl_certificate_key /usr/local/nginx/conf/key.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5;
Observação: Não estamos encerrando o SSL no balanceador de carga. Portanto, devemos marcar a caixa de seleção SSL para ativar o acesso ao servidor de gateway de aplicativo por meio de SSL. Os nomes de arquivo e o caminho para o certificado e a chave se baseiam no caminho real no contêiner.
-
Clique em Próximo para adicionar os detalhes do aplicativo empresarial e do servidor de origem que você criou na Tarefa 1.
-
Clique em Adicionar aplicativo e selecione o aplicativo empresarial no menu Aplicativo. Em Selecionar um host, escolha o host na Etapa 3. Em Prefixo do recurso, digite
/
para fazer proxy do aplicativo empresarial. Por fim, em Servidor de origem, informe o nome de host/IP do servidor de aplicativos do Oracle Transportation Management. Clique em Fechar.Observação: Quando você usa
/
como prefixo de recurso, todas as solicitações anteriores a/
são encaminhadas para o aplicativo empresarial. -
Clique em Ativar gateway de aplicativo. Anote a ID do Cliente e o Segredo do Cliente, pois isso será necessário posteriormente.
Tarefa 3: Fazer download dos arquivos de requisitos para configurar o contêiner e gerar a wallet
-
Na Console do OCI, vá para Identidade, Domínios, seu domínio, Definições e clique em Downloads.
-
Faça download da imagem do Docker no Pacote do Docker Unificado do App Gateway para Identity Cloud Service.
-
Em seguida, faça download da ferramenta Wallet AppGateway que será usada para gerar uma wallet.
-
Descompacte os arquivos zip baixados. A imagem do docker estará no formato
.tar.gz
. -
Você precisará copiar o arquivo de imagem e a pasta da wallet da sua máquina local para o servidor do gateway de aplicativo. Veja abaixo um exemplo que mostra como usar o comando scp do shell bash local para enviar o conteúdo da pasta de ferramentas da wallet para o diretório de arquivos no servidor.
scp -i /Users/mac/ssh_private.key -r /Users/mac/idcs-appgateway-wallet-tool-23.2.92-2301160723 opc@xxx.xxx.xxx.xxx:files
Tarefa 4: Criar uma instância de computação do OCI e atualizar as Listas de Segurança de Rede
Observação: Se você estiver configurando um servidor local/máquina virtual em seu próprio ambiente ou em outro provedor de nuvem, poderá usar as etapas a seguir como referência para as configurações.
-
Na Console do OCI, vá para Compute e clique em Instâncias. Selecione o compartimento direito.
-
Clique em Criar Instância. Informe o Nome e selecione um domínio da disponibilidade.
-
Selecione Imagem do SO como Oracle Linux 8 e selecione uma forma apropriada. Estamos usando a memória
E5 Flex/1 OCPU/8GB
. -
Selecione a VCN e a sub-rede pública em que você gostaria de colocar isso.
-
Gere um par de chaves SSH para se conectar à instância usando uma conexão Secure Shell (SSH) ou fazer upload de uma chave pública que você já tem.
-
Clique em Criar e anote o endereço IPv4.
-
Abra a sub-rede e clique na lista de segurança associada a ela.
-
Clique em Adicionar Regras de Entrada e adicione as opções a seguir para permitir a entrada de HTTPS por TCP e SSH.
Source Type: CIDR Source CIDR: 0.0.0.0/0 IP Protocol: TCP Source Port Range: All Destination Port Range: 443
Source Type: CIDR Source CIDR: 0.0.0.0/0 IP Protocol: SSH Source Port Range: All Destination Port Range: 22
Tarefa 5: Configurar o Servidor do App Gateway usando a Imagem do Docker
-
Conecte-se via SSH à instância de computação criada na Tarefa 4 usando sua chave privada.
ssh -i /Users/mac/ssh_private.key opc@xxx.xxx.xxx.xxx
-
Execute o comando a seguir para instalar o Docker e outras bibliotecas e iniciar o serviço. Em seguida, valide se o serviço do docker está em execução.
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io sudo dnf install libnsl* sudo systemctl enable docker sudo systemctl start docker
sudo systemctl status docker
-
Em seguida, adicione o usuário conectado (
opc
nesse caso) à lista de sudoers.sudo usermod -a -G docker $USER
-
Abra a porta do firewall para ativar a comunicação. Estamos usando a porta
443
aqui.sudo firewall-cmd --zone=public --permanent --add-port=443/tcp sudo systemctl stop firewalld sudo systemctl start firewalld
-
Crie um diretório e comece a consolidar os arquivos necessários para criar o contêiner. Estamos usando o
/home/opc/files
para este tutorial.mkdir files cd files
-
Gere um certificado autoassinado usando openSSL.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server-key.pem -out server-cert.pem
Observação: o uso de certificados autoassinados não é recomendado em um ambiente de produção. Em vez disso, use certificados emitidos pela sua CA.
-
Crie o arquivo de ambiente
appgateway
que contém as informações do domínio.vi appgateway-env
CG_APP_TENANT=idcs-XXX IDCS_INSTANCE_URL=https://idcs-XXX.identity.oraclecloud.com:443 NGINX_DNS_RESOLVER=<resolver IP>
Observação: Substitua
XXX
pelos detalhes do domínio do OCI IAM. Para o IP do resolvedor de DNS, consulte os detalhes do servidor de nomes encontrados no arquivo/etc/resolv.conf
. -
Gere o arquivo da wallet
cwallet.sso
usando a ferramenta. Isso é feito executando o comando a seguir. SubstituaClient ID
pelo ID do cliente do gateway de aplicativo observado anteriormente. Clique em Retornar e informe o segredo do cliente quando solicitado.env LD_LIBRARY_PATH=./lib ./cgwallettool --create -i <Client ID>
-
Agora que todos os arquivos estão prontos, atualize as permissões para cada arquivo. Isso garante que o proprietário possa ler, gravar e executar; enquanto grupos e outros só podem ler e executar.
chmod -R 755 <filename>
-
Carregue a imagem no repositório local e valide.
sudo docker load -i appgateway-aarch64-25.1.03-2501230623.tar.gz docker images
-
Crie o contêiner com base nos arquivos e valide. Após executar o comando a seguir, o status do seu contêiner deverá ser UP.
sudo docker run -p 443:443 -d --name appgateway --env-file /home/opc/files/appgateway-env --env HOST_MACHINE=`hostname -f` --volume /home/opc/files/cwallet.sso:/usr/local/nginx/conf/cwallet.sso --volume /home/opc/files/server-key.pem:/usr/local/nginx/conf/key.pem --volume /home/opc/files/server-cert.pem:/usr/local/nginx/conf/cert.pem local.local/idcs-appgateway-docker_linux_arm64_v8:25.1.03-2501230623
docker ps
Tarefa 6: Atualizar Configuração de SSO no Oracle Transportation Management
Observação: Este tutorial é específico ao Oracle Transportation Management 6.4.3. Para obter mais detalhes sobre como definir os vários parâmetros, confira o guia de segurança do Oracle Transportation Management aqui: Guia de Segurança. Para obter outras versões, consulte a Biblioteca da Web da Documentação Local do Transportation and Global Trade Management.
-
Para acesso SSO ao Oracle Transportation Management, o código de chamada precisa ser informado no parâmetro a seguir como parte da solicitação HTTP (em que o nome de usuário é o GID do usuário no banco de dados). O cabeçalho
appuid
será informado no cabeçalho HTTP; o valor desse cabeçalho deve corresponder ao Nome do Usuário no banco de dados.appuid=username
-
Faça log-in na console de administração do Oracle Transportation Management e navegue até o User Manager. Crie/atualize o usuário para garantir que haja um nome de usuário válido que corresponda ao usuário do OCI.
-
A configuração do SSO precisa ser atualizada no arquivo
glog.properties
. Faça login no servidor e navegue até/app/appgtmdevl/Oracle/gtm643/glog/config
. Atualize os parâmetros a seguir.glog.security.sso=true glog.security.sso.app0idName=appuid glog.security.sso.appUidLoCation=3 glog.security.sso.logoutButton=true glog.security.sso.logoutUrl-https://idcs-XXX.identity.oraclecloud.com/sso/vl/user/logout
-
Em seguida, a configuração do OHS precisa ser atualizada. Consulte os exemplos a seguir do caminho para localizar seu arquivo
httpd.conf
.cd /app/OTMappserver/Oracle/Middleware/Oracle_Home/user_projects/domains/otmweb/config/fmwconfig/components/OHS/OTMappserver
cd /app/OTMappserver/Oracle/Middleware/Oracle_Home/user_projects/domains/otmweb/config/fmwconfig/components/OHS/instances/OTMappserver
-
Faça um backup do arquivo e defina os parâmetros a seguir na configuração.
SimulateHttps On AddCertHeader HTTPS
Exemplo:
Listen 1234 NameVirtualHost *:1234 <VirtualHost *:1234> ServerName XXX.XXX DocumentRoot /app/XXX/Oracle/gtm643/web/htdocs DirectoryIndex index.htm <IfModule ossl_module> SSLEngine off </IfModule> <Directory "/app/XXX/Oracle/gtm643/web/htdocs"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> Header set Cache-Control maxage=21600 ExpiresActive On ExpiresDefault "access plus 6 hours" SimulateHttps On AddCertHeader HTTPS </VirtualHost>
-
Reinicie o aplicativo e a camada web para garantir que as alterações tenham efeito.
-
Certifique-se de que a entrada/saída da rede do servidor de gateway de aplicativo para a instância do Oracle Transportation Management seja permitida. Use a Tarefa 4.8 para referência.
Tarefa 7: Fazer logon por meio de SSO e Validar
-
Acesse o URL do servlet em um browser. Exemplo de URL:
https://appgatewayserver.domain:443/GC3/glog.webserver.util.FrameGC3Servlet
. -
Observe que deve haver um redirecionamento para o log-in do OCI IAM. Informe as credenciais do usuário e faça log-in.
-
Após a autenticação bem-sucedida, você será conectado ao Oracle Transportation Management.
Links Relacionados
Confirmações
- Autor - Tonmendu Bose (Engenheiro Sênior de Nuvem)
Mais Recursos de Aprendizado
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal do Oracle Learning YouTube. Além disso, acesse education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Implement Single Sign-On in Oracle Fusion Cloud Transportation Management 6.4.3
G36638-01
Copyright ©2025, Oracle and/or its affiliates.