OCI IAM 앱 게이트웨이를 사용하여 레거시 애플리케이션 보호
소개
Oracle App Gateway는 인증 목적으로 컴퓨팅 인스턴스, 클라우드 인프라 또는 온프레미스 서버에서 호스팅되는 애플리케이션을 Oracle Cloud Infrastructure와 통합할 수 있는 소프트웨어 어플라이언스입니다.
앱 게이트웨이는 허용되지 않은 네트워크 액세스를 제한하여 웹 애플리케이션을 보호하는 역방향 프록시 역할을 합니다. 앱 게이트웨이는 이러한 애플리케이션에 대한 HTTP 요청을 가로채고 이러한 애플리케이션에 요청을 전달하기 전에 사용자가 OCI IAM(Identity and Access Management)으로 인증되도록 합니다. 앱 게이트웨이는 인증된 사용자의 ID를 애플리케이션에 전달합니다.
사용자가 OCI IAM으로 인증되지 않은 경우 앱 게이트웨이는 인증서 검증을 위해 사용자를 OCI IAM의 사인인 페이지로 재지정합니다.
목표
이 사용지침서에서는 OCI IAM과 통합된 인증 및 권한 부여 계층을 추가하여 Oracle App Gateway를 사용하여 레거시 애플리케이션을 보호하는 방법을 설명합니다. 이를 통해 레거시 환경에 대한 액세스에 대한 중앙 집중식 제어를 제공하여 권한이 부여된 사용자에 대한 보안, 거버넌스 및 가시성을 보장합니다.
필수 조건
OCI(Oracle Cloud Infrastructure)에서 앱 게이트웨이를 구성하기 전에 다음 사항이 있는지 확인하십시오.
- 관리 권한이 있는 OCI 계정
- Enterprise 유형으로 생성된 ID 도메인
- OCI IAM에 구성된 ID 도메인에 대한 액세스
- OCI IAM에서 엔터프라이즈 애플리케이션 생성 및 관리 권한
- 구성된 네트워크 환경
- 앱 게이트웨이를 호스트할 VCN(가상 클라우드 네트워크)의 서브넷
- 보안 목록의 보안 규칙 또는 포트 443(HTTPS) 및 백엔드 애플리케이션 포트의 트래픽을 허용하는 NSG(네트워크 보안 그룹)
- 앱 게이트웨이가 있는 서버
- Cloud Gate Agent(NGINX + OCI IAM 모듈)를 설치하기 위해 Linux를 실행하는 VM(가상 머신) 또는 호스트
- 앱 게이트웨이에서 HTTPS를 사용으로 설정하기 위한 유효하거나 자체 서명된 TLS 인증서
- 사용 가능한 레거시 애플리케이션
- 백엔드 호스트(HTTP 또는 HTTPS)에서 실행 중이어야 합니다.
- 애플리케이션의 주소와 포트는 VCN에서 알려지고 연결할 수 있어야 합니다.
- OCI IAM의 사용자 및 그룹
- ID 도메인에서 프로비전된 사용자
- 레거시 애플리케이션에 접근할 수 있는 사용자를 정의하도록 구성된 그룹 또는 지정입니다.
작업 1: Oracle App Gateway OVA를 다운로드하여 VMDK로 변환
-
도메인의 도메인, 설정을 누른 다음 다운로드 섹션으로 스크롤합니다. 3개의 점을 눌러 Identity Cloud Service용 앱 게이트웨이 메뉴를 연 다음 다운로드를 누릅니다.

-
다운로드가 완료되면 .ova 파일(VirtualBox 가상 어플라이언스 파일)을 .zip 파일에서 컴퓨터로 추출합니다.

-
이 파일을 처리하려면 를 가져옵니다. VirtualBox에 OVA 파일. 를 가져옵니다. OVA 파일은 가상 디스크 이미지( VDI) 파일입니다.
-
이 VDI 파일을 OCI의 버킷으로 업로드합니다.

태스크 2: OCI에서 앱 게이트웨이의 사용자정의 이미지 생성
-
. 이후 버킷에서 VDI 파일을 사용할 수 있으며 테넌트의 인스턴스에서 사용할 사용자정의 이미지를 생성합니다. 컴퓨트, 사용자정의 이미지를 누릅니다.

-
이미지 임포트를 누릅니다.

-
사용자 정의 이미지를 만들 설정을 채우고 선택합니다.

설명:
- 컴파트먼트에 생성: 여기서 사용자정의 이미지가 생성될 컴파트먼트를 선택합니다.
- 이름: 생성할 사용자정의 이미지의 이름입니다.
- 운영 체제: Keep Oracle Linux selected
- 버킷: Object Storage 버킷에서 임포트를 선택합니다.
- 객체 스토리지 정보: 이전 단계에서 객체 스토리지 및 .vdi 이미지를 선택합니다.
- 이미지 유형: VMDK를 누릅니다.
- 실행 모드: 에뮬레이트 모드를 누릅니다.
이 정보를 입력한 후 이미지 임포트를 누릅니다. 임포트가 완료되면 새로 생성된 커스텀 이미지로 OCI 인스턴스를 생성할 수 있습니다.
작업 3: 앱 게이트웨이 인스턴스 생성
-
인스턴스를 생성하려면 컴퓨트, 인스턴스를 누릅니다.

-
인스턴스 생성 클릭:

-
인스턴스 생성과 관련된 정보를 입력하고 이미지 변경을 눌러 이전 단계에서 생성된 사용자정의 이미지를 선택합니다.

-
사용자정의 이미지를 사용할 필드를 선택합니다.

설명:
- 내 이미지: 사용자정의 이미지를 사용하려면 이 항목을 선택합니다.
- 사용자정의 이미지: 이 항목을 선택된 상태로 둡니다.
- 컴파트먼트: 사용자정의 이미지가 생성된 컴파트먼트를 선택합니다.
- 사용자정의 이미지 이름: 이전에 생성한 앱 게이트웨이 이미지를 선택합니다.
작업 4: 앱 게이트웨이 서버 설정 검증
앱 게이트웨이 서버 설정을 생성한 후 검증하려면 SSH를 사용하여 터미널에 로그인합니다.
ssh -i <path_private_key> oracle@<IP_servidor_app_gateway>
SSH를 'oracle' 사용자로 설정하십시오. 이 사용자의 비밀번호는 공식 앱 게이트웨이 제품 설명서(이 링크)에서 확인할 수 있습니다.
주: 처음 로그인할 때는 비밀번호를 변경해야 합니다.
작업 5: 앱 게이트웨이 서버에 대한 인증서 및 개인 키 만들기
인스턴스에 액세스한 후에는 HTTPS를 통해 작동하므로 앱 게이트웨이에서 사용할 server.crt 및 server.key를 생성합니다. 이렇게 하려면 서버에서 다음 명령을 실행합니다.
-
server.key를 만들려면 다음을 수행합니다.
openssl genrsa -out server.key 2048 -
server.crt를 생성하려면 다음을 수행합니다.
openssl req -new -x509 -days 365 -key server.key -out server.crt
중요: server.crt 및 server.key 파일이 앱 게이트웨이 서버에 저장되는 경로를 기록해 둡니다. OCI 웹 콘솔 내에서 앱 게이트웨이 구성을 완료하려면 다음 정보가 필요합니다.
ssl_certificate /home/oracle/server.crt; ssl_certificate_key /home/oracle/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5;
server.crt 및 server.key 파일을 생성한 후 OCI 콘솔 내에 앱 게이트웨이를 등록할 수 있습니다.
주:
- 이 실습에서는 자체 서명된 SSL 인증서를 사용합니다. 따라서 앱 게이트웨이를 사용하여 레거시 애플리케이션에 대한 액세스를 테스트할 때 브라우저에서 인증서 검증 실패 메시지가 발생하는 것이 확실합니다.
- 사용자 환경에서 적합한 SSL을 사용하는 경우 자세한 내용은 Oracle App Gateway 설명서를 참조하십시오.
작업 6: OCI 콘솔에 앱 게이트웨이 등록
-
앱 게이트웨이를 등록하려면 OCI 웹 콘솔에서 ID 및 보안, 도메인을 누릅니다.

-
도메인 이름 클릭:

주: 앱 게이트웨이를 사용하려면 ID 도메인이 Enterprise 유형으로 생성되어야 합니다.
-
앱 게이트웨이를 누른 다음 앱 게이트웨이 생성을 누릅니다.

-
앱 게이트웨이 생성 워크플로우에 필요한 정보를 입력하고 앱 게이트웨이 생성을 누릅니다. 생성 후 앱 게이트웨이 세부정보가 화면에 표시됩니다.

-
앱 게이트웨이를 생성한 후 호스트, 호스트 추가 순으로 누릅니다.

-
이전 단계에서 생성한 앱 게이트웨이 서버와 관련된 정보를 입력합니다.
설명:
1: 호스트 식별자: 앱 게이트웨이의 이름을 입력합니다.
2: 호스트: 이전에 생성된 앱 게이트웨이 인스턴스의 FQDN입니다. 이 정보를 캡처하려면 인스턴스로 이동하여 네트워킹 탭을 누르고 내부 FQDN을 캡처합니다. 3: 포트: 앱 게이트웨이가 실행될 포트를 입력합니다. 이 예에서는 포트 4443을 사용합니다.
4: SSL 사용: 이 실습에서는 앱 게이트웨이가 SSL을 사용합니다. 따라서 SSL 사용을 누릅니다.
5: 추가 속성: 이전에 생성한 SSL 설정을 입력합니다.
ssl_certificate /home/oracle/server.crt; ssl_certificate_key /home/oracle/server.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; -
호스트 추가를 누릅니다.

-
앱 게이트웨이가 생성되면 구성 후 화면에 나타납니다.

-
세부정보 탭을 누르고 작업, 앱 게이트웨이 활성화를 눌러 앱 게이트웨이를 활성화합니다.

-
활성화를 확인합니다.

-
활성화 시 활성화를 확인하고 다음 단계에서 사용할 수 있도록 앱 게이트웨이의 클라이언트 ID 및 클라이언트 암호를 기록합니다(안전한 위치에 유지).

작업 7: 앱 게이트웨이 서버 구성
OCI 콘솔에서 앱 게이트웨이를 구성한 후에는 앱 게이트웨이 서버를 구성해야 합니다. 다음 단계는 앱 게이트웨이 서버가 OCI 도메인 끝점과 통신할 수 있도록 하는 것입니다.
-
ID 도메인 끝점과의 접속을 테스트하려면 해당 FQDN을 캡처합니다. 캡처하려면 OCI 콘솔의 ID 도메인 세부정보 페이지에서 도메인 URL 행의 복사를 누릅니다.

-
IDCS_INSTANCE_URL설정을 변경하여 ID 도메인 설정을 앱 게이트웨이에 삽입하도록cloudgate-env파일을 편집합니다. 이 설정에서는 도메인 끝점의 FQDN(위의 curl을 통해 액세스 테스트를 수행하는 데 사용된 것과 동일함)을 삽입해야 합니다.
-
구성할 다음 매개변수는 다음과 같습니다.
- CG_APP_TENANT: 이 필드에 테넌트 OCID를 입력합니다.
- CG_APP_NAME: 앱 게이트웨이의 클라이언트 ID를 입력합니다.
- CG_APP_SECRET: 앱 게이트웨이의 클라이언트 암호 입력
-
마지막 단계로서 앱 게이트웨이 서버의 분석기가 OCI에서 ID 도메인 끝점의 IP 주소를 식별할 수 있는지 확인해야 합니다. 이렇게 하려면 아래 명령을 실행합니다.
nslookup <id_domain_endpoint_domain>
작업 8: 앱 서버 구성
-
앱 게이트웨이 파일에 필요한 모든 변경 작업을 수행한 후 명령을 실행하여 앱 게이트웨이를 구성해야 합니다. 이렇게 하려면
/scratch/oracle/cloudgate/ova/bin/setup디렉토리 내에서setup-cloudgate명령을 실행합니다.
-
지침을 완전히 따릅니다. 앱 게이트웨이 파일에 구성된 정보를 확인하고 프롬프트가 표시되면 비밀번호를 입력합니다. 구성이 완료되면 앱 게이트웨이가 다음 명령으로 작동하는지 확인합니다.
/scratch/oracle/cloudgate/home/bin/cg-status
-
서버가 작동되어 실행 중인지 확인한 후 앱 게이트웨이 기능을 사용할 애플리케이션 구성을 시작할 수 있습니다.
작업 9: Oracle App Gateway로 레거시 애플리케이션 보안
-
Oracle App Gateway를 사용하여 레거시 애플리케이션을 보호하려면 앱 게이트웨이가 구성된 ID 도메인에 대한 액세스를 구성하고 통합 애플리케이션을 누른 다음 애플리케이션 추가를 눌러야 합니다.

-
엔터프라이즈 애플리케이션을 선택하고 워크플로우 실행을 누릅니다.

-
다음을 포함하여 요청된 모든 정보를 입력합니다.
- 이름: 애플리케이션 게이트웨이로 보호되도록 애플리케이션에 대해 생성될 엔터프라이즈 애플리케이션의 이름입니다.
- 설명: 앱 게이트웨이로 보호할 레거시 애플리케이션에 대한 설명을 입력합니다.
- 응용 프로그램 URL: 사용자가 레거시 응용 프로그램에 액세스하는 데 현재 사용하는 URL을 추가합니다. 앱 게이트웨이로 보호될 애플리케이션의 URL입니다.

-
제출을 누릅니다.
엔터프라이즈 애플리케이션 생성이 완료되면 세부정보가 포함된 화면이 표시됩니다.
-
SSO 구성을 누른 다음 SSO 구성 편집을 눌러 구성을 계속합니다.

-
작업을 누른 다음 리소스 추가를 누릅니다.

-
Oracle App Gateway로 보호할 레거시 애플리케이션 리소스를 구성합니다. 리소스를 개별적으로 생성하여 레거시 응용 프로그램의 URL에 하나씩 추가하고 정규식을 사용하여 응용 프로그램이 가지고 있는 URL 모음을 나타낼 수 있습니다.

-
리소스 추가를 누릅니다.
-
리소스 관리자를 구성하려면 SSO 구성 편집을 누르고 [SSO 구성] 페이지로 아래로 스크롤하여 관리되는 리소스 추가를 선택하고 작업을 누른 다음 관리되는 리소스 추가를 누릅니다.
![[리소스 추가] 단추를 눌러 완료합니다.](./images/image-33.png)
-
표시된 페이지에서 다음을 수행합니다.
1: 리소스: 새로 생성된 리소스를 선택합니다(이 자습서에서는 Legacy-app-resource임).
2: 인증 방법: 레거시 애플리케이션에 대한 인증 방법을 선택합니다. 예를 들어, 양식 또는 액세스 토큰을 사용합니다.
3: 이름/값: 레거시 애플리케이션으로 전송할 HTTP 헤더의 이름과 값을 입력합니다.

-
마지막으로 관리 리소스 추가를 누른 다음 변경 사항 저장을 누릅니다. 이렇게 해서 OCI IAM에 엔터프라이즈 애플리케이션 생성이 완료되었습니다. 이 엔터프라이즈 애플리케이션은 Oracle 앱 게이트웨이로 보호될 레거시 애플리케이션을 나타냅니다.
-
엔터프라이즈 애플리케이션을 생성한 후 작업 메뉴를 누르고 활성화를 눌러 활성화합니다.

-
활성화 확인:

작업 10: 엔터프라이즈 애플리케이션을 Oracle App Gateway와 연관
-
엔터프라이즈 애플리케이션을 Oracle App Gateway와 연관시키려면 이전 단계에서 ID 도메인에 구성된 앱 게이트웨이를 사용하여 OCI 콘솔 내에서 구성해야 합니다.
-
ID 도메인의 기본 화면으로 돌아가서 앱 게이트웨이를 누른 다음 구성한 앱 게이트웨이의 이름을 누릅니다.

-
앱을 누른 다음 앱 추가를 누릅니다.

-
구성 화면에서 필요한 정보를 입력합니다.

설명:
1: 응용 프로그램: 이전에 생성한 응용 프로그램을 선택합니다.
2: 호스트 선택: 응용 프로그램에 대해 생성한 호스트를 선택합니다.
3: 리소스 접두어: 앱 게이트웨이를 통해 애플리케이션에 액세스해야 하는 경로를 입력합니다.
4: 원본 서버: 레거시 응용 프로그램이 실행 중인 서버의 FQDN을 입력한 다음 응용 프로그램이 실행 중인 포트를 입력합니다.
-
마지막으로 앱 추가를 누르십시오.
모든 구성이 완료되면 Oracle App Gateway를 사용하여 레거시 애플리케이션에 대한 액세스를 테스트할 수 있습니다.
작업 11: Oracle App Gateway를 사용하여 레거시 응용 프로그램 액세스 테스트
-
앱 게이트웨이 및 엔터프라이즈 애플리케이션을 구성한 후 액세스 테스트를 수행할 수 있습니다. 이렇게 하려면 브라우저를 열고 구성된 포트와 함께 앱 게이트웨이의 공용 주소를 입력합니다.

-
액세스 시 앱 게이트웨이는 OCI 로그인을 수행할 수 있도록 사용자를 OCI IAM으로 재지정합니다.

-
사인인하면 재지정이 발생하고 애플리케이션 게이트웨이를 통해 애플리케이션에 액세스합니다.

승인
- 작성자: Rodrigo Pace de Barros(Oracle LAD A-Team Cloud 보안 솔루션 엔지니어)
추가 학습 자원
docs.oracle.com/learn에서 다른 랩을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Secure Legacy Applications by Using OCI IAM App Gateway
G43064-01