주:
- 이 사용지침서에서는 Oracle Cloud에 액세스해야 합니다. 무료 계정에 등록하려면 Oracle Cloud Infrastructure Free Tier 시작하기를 참조하십시오.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료할 때 이러한 값을 클라우드 환경과 관련된 값으로 대체하십시오.
Oracle Fusion Cloud Transportation Management 6.4.3에서 Single Sign-On 구현
소개
애플리케이션을 Oracle Cloud Infrastructure Identity and Access Management(OCI IAM) 도메인과 통합하여 다양한 방법을 통해 인증 및 SSO(Single Sign-On)를 활성화할 수 있습니다. 많은 애플리케이션이 SAML 및 OAuth과 같은 표준 프로토콜을 지원하지만 Oracle Fusion Cloud Transportation Management(Oracle Transportation Management)는 SSO에 대한 HTTP-헤더 기반 인증을 지원합니다.
앱 게이트웨이는 OCI IAM과 Oracle Transportation Management 간의 인증 프록시 역할을 합니다. Docker 이미지와 가상 어플라이언스 이미지라는 두 가지 배포 옵션으로 제공됩니다. 이 자습서에서는 Docker 기반 버전의 배포 및 사용에 대해 중점적으로 다룹니다.
SSO를 구현하면 MFA, 적응형 보안, 사인온 정책 등을 포함한 OCI IAM의 보안 기능을 활용하는 데 도움이 됩니다. 이를 통해 추가적인 액세스 제어 계층을 적용하여 Oracle Transportation Management 인스턴스를 더욱 보호할 수 있습니다.
목표
-
OCI 도메인에서 Oracle Transportation Management를 나타내는 엔터프라이즈 애플리케이션을 생성합니다.
-
OCI 도메인에서 앱 게이트웨이를 생성하고 엔터프라이즈 애플리케이션과 연관시킵니다.
-
Docker 이미지 설정에 필요한 파일을 다운로드합니다.
-
OCI 컴퓨트 인스턴스를 생성하고 수신을 허용하도록 네트워크 구성을 업데이트합니다.
-
앱 게이트웨이를 실행할 Docker 이미지를 설정합니다.
-
Oracle Transportation Management 서버 구성의 SSO 구성을 업데이트합니다.
-
로그인 플로우를 검증하여 SSO 인증이 작동하는지 확인합니다.
필수 조건
-
OCI 테넌시에 액세스합니다. 자세한 내용은 Oracle Cloud Infrastructure Free Tier를 참고하세요.
-
OCI IAM ID 도메인에 대한 ID 도메인 관리자 롤입니다. 자세한 내용은 관리자 역할 이해를 참조하십시오.
-
Oracle Transportation Management 인스턴스입니다.
-
Oracle Transportation Management의 애플리케이션 계층에 대한 관리자 접근 권한입니다.
작업 1: 엔터프라이즈 애플리케이션 설정
계속하기 전에 Oracle Transportation Management에 대한 다음 세부정보가 필요합니다.
-
리소스 및 보호 레벨 목록: 예:
/home
,/jobs
또는/*
. 또한 공용 액세스 또는 사용자 인증이 필요한 경우에도 마찬가지입니다. -
원천 서버와 같이 Oracle Transportation Management 애플리케이션이 실행 중인 포트를 사용하는 호스트/IP입니다.
-
Oracle Transportation Management에서 OCI IAM이 전달될 것으로 예상되는 HTTP 헤더로, Oracle Transportation Management 데이터베이스의 사용자에 대해 조정됩니다. 이 자습서에서는
appuid
를 사용하고 있습니다.
단계를 수행합니다:
-
Oracle Cloud 콘솔 탐색 메뉴를 열고 ID 및 보안을 누릅니다. ID에서 도메인을 누릅니다. 도메인을 찾을 컴파트먼트를 선택합니다.
-
도메인 이름을 누르고 통합 애플리케이션에서 애플리케이션 추가를 누릅니다.
-
엔터프라이즈 애플리케이션을 선택하고 워크플로우 실행을 누릅니다.
-
애플리케이션 이름을 입력합니다. 애플리케이션 URL은 앱 게이트웨이 서버의 호스트 및 포트입니다. 앱 게이트웨이로 재지정되는 URL일 수도 있습니다. 내 앱에 표시를 선택합니다. 이 앱을 권한이 부여된 사용자로만 제한하려면 사용자에게 이 앱이 부여되어야 함에 대한 검사를 수행합니다.
-
OAuth 구성 화면을 건너뛰려면 다음, 다음 순으로 다시 누릅니다.
-
리소스 추가를 눌러 GTM 리소스를 추가합니다. 이름 및 리소스 URL을 제공합니다. 이 경우 모든 리소스를 보호하므로
/.*
가 됩니다. 정규 표현식 사용을 선택합니다. -
관리 리소스 추가 버튼을 누르고 리소스 메뉴에서 이전 단계 6의 리소스를 선택합니다. 인증 방법을 양식 또는 액세스 토큰으로 선택합니다. 머리글에서 이름으로
appuid
를 입력하고 값으로User Name
를 입력합니다.주: 이 예에서는
Default
를 유일한 리소스로,Form or Access token
를 모든 리소스를 보호하기 위한 인증 방법으로 선택했습니다. 이렇게 하면 인증된 사용자만 액세스할 수 있습니다. 또한 Oracle Transportation Management에는 사용자 이름이 값으로 사용되는 헤더appuid
가 필요합니다. 우리는 이것을 세부 사항 수집의 초기 작업의 일부로 확인했습니다. -
완료를 누른 다음 활성화 옵션을 눌러 애플리케이션을 활성화합니다.
-
리소스 아래의 애플리케이션에 일부 사용자/그룹을 지정합니다. 로컬 및 통합 사용자를 모두 선택할 수 있지만 이러한 사용자가 Oracle Transportation Management 데이터베이스에 존재하는지 확인하십시오.
태스크 2: OCI IAM에 앱 게이트웨이 등록
앱 게이트웨이는 애플리케이션 앞에 앉아 요청을 가로채고 사용자를 인증한 다음 리소스에 대한 액세스를 허용합니다.
서버 세부정보 수집:
계속하기 전에 app-gateway 서버에 대해 다음 세부정보가 필요합니다.
-
앱 게이트웨이 서버의 호스트/IP 주소입니다. 이는 OCI 컴퓨팅 인스턴스 또는 클라우드 또는 온프레미스에서 실행되는 다른 서버일 수 있습니다.
-
OCI IAM 도메인 URL에 액세스하려면 앱 게이트웨이 서버에 인터넷 연결이 필요합니다. 또한 업스트림 Oracle Transportation Management 애플리케이션에 대한 연결이 필요합니다.
-
업스트림 애플리케이션이 실행 중인 Oracle Transportation Management 원천 서버(호스트 및 포트)의 세부정보입니다.
단계를 수행합니다:
-
ID에서 도메인을 선택한 다음 이전에 사용한 도메인을 누릅니다.
-
보안에서 앱 게이트웨이를 선택하고 앱 게이트웨이 생성을 누릅니다. 이름을 입력하고 앱 게이트웨이 추가를 누릅니다.
-
Add Host(호스트 추가)를 누릅니다. 호스트 식별자에 이름을 제공하고 호스트 및 포트 아래에 앱 게이트웨이 서버 세부정보를 추가합니다. 아직 세부정보가 없는 경우 위치 표시자 값을 추가하고 태스크 4를 마친 후 이 단계를 다시 방문하십시오.
-
SSL 사용 체크박스를 누르고 추가 속성에 아래를 입력한 다음 호스트 추가를 누릅니다.
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;
주: 로드 밸런서에서 SSL을 종료하는 것은 아닙니다. 따라서 SSL을 통한 앱 게이트웨이 서버 액세스를 사용으로 설정하려면 SSL 확인란을 선택해야 합니다. 인증서 및 키의 파일 이름과 경로는 컨테이너의 실제 경로를 기반으로 합니다.
-
다음을 눌러 태스크 1에서 생성한 엔터프라이즈 애플리케이션 및 원천 서버 세부정보를 추가합니다.
-
앱 추가를 누르고 애플리케이션 메뉴에서 엔터프라이즈 앱을 선택합니다. 호스트 선택 아래의 3단계에서 호스트를 선택합니다. 리소스 접두어에 엔터프라이즈 애플리케이션을 프록시하려면
/
를 입력합니다. 마지막으로 원본 서버에 Oracle Transportation Management 애플리케이션 서버 호스트 이름/IP를 입력합니다. 닫기를 누르면주:
/
를 리소스 접두어로 사용하는 경우/
를 지난 모든 요청이 엔터프라이즈 애플리케이션으로 전달됩니다. -
앱 게이트웨이 활성화를 누릅니다. 클라이언트 ID 및 클라이언트 암호를 기록해 둡니다. 이 암호는 나중에 필요합니다.
태스크 3: 필수 파일을 다운로드하여 컨테이너 설정 및 전자 지갑 생성
-
OCI 콘솔에서 ID, 도메인, 도메인, 설정으로 이동하고 다운로드를 누릅니다.
-
Identity Cloud Service용 앱 게이트웨이 통합 Docker 패키지에서 Docker 이미지를 다운로드합니다.
-
그런 다음 전자 지갑을 생성하는 데 사용할 AppGateway 전자 지갑 툴을 다운로드합니다.
-
다운로드한 zip 파일을 압축 해제합니다. 도커 이미지는
.tar.gz
형식입니다. -
로컬 시스템에서 앱 게이트웨이 서버로 이미지 파일 및 전자 지갑 폴더를 복사해야 합니다. 다음은 로컬 bash 셸에서 scp 명령을 사용하여 전자 지갑 도구 폴더의 내용을 서버의 파일 디렉토리로 보내는 방법을 보여주는 예입니다.
scp -i /Users/mac/ssh_private.key -r /Users/mac/idcs-appgateway-wallet-tool-23.2.92-2301160723 opc@xxx.xxx.xxx.xxx:files
작업 4: OCI 컴퓨트 인스턴스 생성 및 네트워크 보안 목록 업데이트
주: 사용자 고유의 환경 또는 다른 클라우드 제공자에서 로컬 서버/가상 머신을 설정하는 경우 다음 단계를 구성에 대한 참조로 사용할 수 있습니다.
-
OCI 콘솔에서 컴퓨트로 이동하고 인스턴스를 누릅니다. 올바른 컴파트먼트를 선택합니다.
-
인스턴스 생성을 누릅니다. 이름을 입력하고 가용성 도메인을 선택합니다.
-
OS 이미지를 Oracle Linux 8로 선택하고 적합한 구성을 선택합니다.
E5 Flex/1 OCPU/8GB
메모리를 사용하고 있습니다. -
배치하려는 VCN 및 퍼블릭 서브넷을 선택합니다.
-
SSH(Secure Shell) 접속을 사용하여 인스턴스에 접속하거나, 이미 보유한 퍼블릭 키를 업로드할 SSH 키 쌍을 생성합니다.
-
생성을 누르고 IPv4 주소를 기록해 둡니다.
-
서브넷을 열고 연관된 보안 목록을 누릅니다.
-
TCP 및 SSH를 통한 HTTPS 수신을 허용하려면 수신 규칙 추가를 누르고 아래를 추가하십시오.
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
작업 5: Docker 이미지를 사용하여 앱 게이트웨이 서버 구성
-
프라이빗 키를 사용하여 태스크 4에서 생성된 컴퓨트 인스턴스로 SSH를 설정합니다.
ssh -i /Users/mac/ssh_private.key opc@xxx.xxx.xxx.xxx
-
다음 명령을 실행하여 Docker 및 기타 라이브러리를 설치하고 서비스를 시작합니다. 그런 다음 도커 서비스가 실행 중인지 확인합니다.
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
-
그런 다음 로그인한 사용자(이 경우
opc
)를 sudoers 목록에 추가합니다.sudo usermod -a -G docker $USER
-
통신을 사용으로 설정하기 위한 방화벽 포트를 엽니다. 여기서
443
포트를 사용하고 있습니다.sudo firewall-cmd --zone=public --permanent --add-port=443/tcp sudo systemctl stop firewalld sudo systemctl start firewalld
-
디렉토리를 생성하고 컨테이너 생성에 필요한 파일 통합을 시작합니다. 이 자습서에서는
/home/opc/files
를 사용하고 있습니다.mkdir files cd files
-
openSSL를 사용하여 자체 서명된 인증서를 생성합니다.
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server-key.pem -out server-cert.pem
주: 자체 서명된 인증서는 운용 환경에서 사용하지 않는 것이 좋습니다. 대신 CA에서 발급한 인증서를 사용하십시오.
-
도메인 정보가 포함된
appgateway
환경 파일을 만듭니다.vi appgateway-env
CG_APP_TENANT=idcs-XXX IDCS_INSTANCE_URL=https://idcs-XXX.identity.oraclecloud.com:443 NGINX_DNS_RESOLVER=<resolver IP>
주:
XXX
를 OCI IAM 도메인 세부정보로 바꿉니다. DNS 분석기 IP의 경우/etc/resolv.conf
파일에 있는 이름 서버 세부정보를 참조하십시오. -
이 툴을 사용하여 전자 지갑 파일
cwallet.sso
을 생성합니다. 이 작업은 다음 명령을 실행하여 수행됩니다.Client ID
을 이전에 기록된 앱 게이트웨이 클라이언트 ID로 바꿉니다. 돌아가기를 누르고 메시지가 표시되면 클라이언트 암호를 입력합니다.env LD_LIBRARY_PATH=./lib ./cgwallettool --create -i <Client ID>
-
이제 모든 파일이 준비되었으므로 각 파일에 대한 권한을 업데이트합니다. 이렇게 하면 소유자가 읽기, 쓰기 및 실행할 수 있고 그룹 및 기타 그룹은 읽기 및 실행만 가능합니다.
chmod -R 755 <filename>
-
이미지를 로컬 저장소로 로드하고 검증합니다.
sudo docker load -i appgateway-aarch64-25.1.03-2501230623.tar.gz docker images
-
파일을 기반으로 컨테이너를 생성하고 검증합니다. 다음 명령을 실행한 후 컨테이너의 상태는 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
태스크 6: Oracle Transportation Management에서 SSO 구성 갱신
주: 이 자습서는 Oracle Transportation Management 6.4.3과 관련됩니다. 다양한 매개변수 설정에 대한 자세한 내용은 보안 설명서에서 Oracle Transportation Management에 대한 보안 설명서를 참조하십시오. 다른 버전은 Transportation and Global Trade Management On-Premise Documentation Web Library를 참조하십시오.
-
Oracle Transportation Management에 대한 SSO 액세스의 경우 호출 코드는 HTTP 요청의 일부로 다음 매개변수를 전달해야 합니다. 여기서 username은 데이터베이스에 있는 사용자의 GID입니다.
appuid
헤더가 HTTP 헤더에 전달되고, 이 헤더의 값이 데이터베이스의 사용자 이름과 일치해야 합니다.appuid=username
-
Oracle Transportation Management 관리 콘솔에 로그인하고 사용자 관리자로 이동합니다. OCI 사용자와 일치하는 적합한 사용자 이름이 있는지 확인하기 위해 사용자를 생성/업데이트합니다.
-
SSO 구성은
glog.properties
파일에서 업데이트해야 합니다. 서버에 로그인하고/app/appgtmdevl/Oracle/gtm643/glog/config
으로 이동합니다. 다음 매개변수를 업데이트합니다.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
-
다음으로 OHS 구성을 업데이트해야 합니다.
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
-
파일을 백업한 다음 구성에 다음 매개변수를 설정합니다.
SimulateHttps On AddCertHeader HTTPS
예:
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>
-
변경 사항이 적용되도록 애플리케이션 및 웹 계층을 재시작합니다.
-
앱 게이트웨이 서버에서 Oracle Transportation Management 인스턴스로의 네트워크 수신/송신이 허용되도록 합니다. 참고를 위해 작업 4.8을 사용합니다.
작업 7: SSO를 통해 로그인 및 검증
-
브라우저에서 서블릿 URL에 액세스합니다. URL 예:
https://appgatewayserver.domain:443/GC3/glog.webserver.util.FrameGC3Servlet
. -
OCI IAM 로그인으로 리디렉션해야 합니다. 사용자 인증서를 입력하고 로그인합니다.
-
인증에 성공하면 Oracle Transportation Management에 로그인됩니다.
관련 링크
승인
- 작성자 - Tonmendu Bose(수석 클라우드 엔지니어)
추가 학습 자원
docs.oracle.com/learn에서 다른 랩을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Implement Single Sign-On in Oracle Fusion Cloud Transportation Management 6.4.3
G36637-01
Copyright ©2025, Oracle and/or its affiliates.