주:

Oracle Integration에서 Visual Builder Cloud Service 앱에 대한 사용자정의 앱 URL 및 OCI Web Application Firewall 구성

소개

기본적으로 PaaS VBCS(Visual Builder Cloud Service Apps)/Oracle Integration 인스턴스는 Oracle 도메인이 포함된 URL을 생성합니다. 그러나 고객은 브랜딩 목적으로 개인화된 도메인을 사용하여 배포된 앱에 액세스하거나 직접 노출되지 않도록 기본 인프라를 보호할 수 있습니다. 이 사용자정의를 설정하기 위해 VBCS는 VBCS/Oracle Integration 인스턴스에 배포된 앱의 사용자정의 URL 또는 Vanity 도메인을 구성하는 옵션을 제공합니다.

Vanity 도메인 사용의 이점:

VBCS/Oracle Integration 인스턴스의 기본 URL은 일반적으로 다음 형식으로 구성됩니다.

https://<instance-display-name>-<tenancy-name>-<region-code>.integration.ocp.oraclecloud.com

목표

이 사용지침서에서는 Oracle Integration 인스턴스에서 사용으로 설정된 VBCS 인스턴스에 배포된 앱의 사용자정의 URL을 설정하는 단계별 프로세스를 설명합니다.

데모용으로 두 개의 앱이 인스턴스에 배포되어 있다고 가정해 보십시오.

앱 이름 사용자정의 URL
VBCS APP1 myapp1.mydomain.com
VBCS APP2 myapp2.mydomain.com

VBCS 앱 이미지

필요 조건

구성

구성을 간단하고 명확하게 만들려면 구성을 두 가지 주요 작업으로 나누겠습니다. 첫 번째 작업은 Oracle Integration 계층에서 필요한 구성에 대해 자세히 설명하고, 두 번째 작업은 VBCS 계층에서 필요한 구성에 대해 자세히 설명합니다.

  1. Oracle Integration 인스턴스에 대한 사용자정의 끝점을 구성합니다.

  2. VBCS 앱에 대한 사용자정의 URL을 구성합니다.

작업 1: Oracle Integration 인스턴스에 대한 사용자정의 끝점 구성

VBCS 앱에 대한 사용자정의 URL을 구성하려면 사용자정의 끝점으로 Oracle Integration 인스턴스를 구성해야 합니다.

Oracle Integration 인스턴스는 단일 기본 사용자정의 끝점과 여러 대체 사용자정의 끝점으로 구성할 수 있습니다. 기본 끝점은 OCI(Oracle Cloud Infrastructure) 콘솔을 통해 구성할 수 있지만, 대체 사용자정의 끝점은 현재 Python 및 Java와 같은 OCI SDK를 통해서만 지원됩니다. VBCS의 각 APP에 대해 사용자정의 URL을 구성하려면 대체 사용자정의 끝점이 필요합니다.

이 자습서에서는 Python SDK를 사용하여 Oracle Integration에서 대체 사용자정의 끝점을 구성합니다.

작업 1.1: CA 서명 인증서 가져오기

원하는 사용자 정의 URL에 대한 CA 서명 인증서를 가져옵니다.

myapp1.mydomain.com
myapp2.mydomain.com

작업 1.2: 인증서 체인을 OCI 저장소에 암호로 저장

Oracle Integration은 인증서 체인에 대한 입력으로 OCI Vault 암호를 수락합니다. 암호 구문에 대한 자세한 내용은 Configure a Custom Endpoint for an Instance을 참조하십시오.

상위 레벨 단계에는 저장소 생성, 키 생성 및 보안 생성이 포함됩니다.

저장소 암호의 OCID(Oracle Cloud 식별자)를 복사합니다.

{
  "key": "-----BEGIN PRIVATE KEY-----\n<key string>..-----END PRIVATE KEY-----\n",
  "cert": "-----BEGIN CERTIFICATE-----\n<cert string>-----END CERTIFICATE-----\n",
  "intermediates": [
    "-----BEGIN CERTIFICATE-----\n<cert string>-----END CERTIFICATE-----\n",
    "-----BEGIN CERTIFICATE-----\n<cert string>-----END CERTIFICATE-----\n"
  ],
  "passphrase": "<private key password if encrypted key is provided>"
}

작업 1.3: 대체 사용자정의 끝점 생성

이제 Python SDK를 사용하여 대체 커스텀 엔드포인트를 생성해 보겠습니다.

참고:

  1. Python 스크립트를 만듭니다.

    import oci
    
    config = oci.config.from_file(file_location="<location to the OCI config file>")
    
    # Initialize service client with default config file
    integration_client = oci.integration.IntegrationInstanceClient(config)
    
    # Send the request to service, some parameters are not required, see API
    # doc for more info
    update_integration_instance_response = integration_client.update_integration_instance(
        integration_instance_id="<OIC Instance OCID>",
        update_integration_instance_details=oci.integration.models.UpdateIntegrationInstanceDetails(
            alternate_custom_endpoints=[
                oci.integration.models.UpdateCustomEndpointDetails(
                    hostname="myapp1.mydomain.com",
                    certificate_secret_id="<OCID of the Secret>"),
                    oci.integration.models.UpdateCustomEndpointDetails(
                    hostname="myapp2.mydomain.com",
                    certificate_secret_id="<OCID of the Secret>")]),
        )
    
    # Get the data from response
    print(update_integration_instance_response.headers)
    

    {OIC 인스턴스 OCID} - OIC 인스턴스 OCID로 바꿉니다.

    {OCID of the Secret} - 이전 단계에서 복사된 저장소 암호 OCID로 바꾸십시오.

  2. Python 스크립트를 실행합니다.

    python <scriptname.py>
    
  3. OCI 콘솔에서 workrequest 작업 상태를 확인합니다. 15분 정도 걸립니다.

참고: OCI CLI를 통해 대체 사용자정의 끝점을 구성할 수도 있습니다. 통합 인스턴스 업데이트를 참조하십시오.

작업 1.4: 사용자정의 끝점 별칭 세부정보 가져오기

생성된 각 사용자정의 끝점에는 연관된 고유한 별칭이 있습니다. 이 정보는 API를 통해 볼 수 있으며 콘솔에 표시되지 않습니다.

다음 스크립트를 실행하여 세부 정보를 가져옵니다.

import oci
config = oci.config.from_file(file_location="<config file>")
integration_client = oci.integration.IntegrationInstanceClient(config)
# Send the request to service, some parameters are not required, see API
# doc for more info
get_integration_instance_response = integration_client.get_integration_instance(
    integration_instance_id="<OIC Instance OCID>")
print(get_integration_instance_response.data)

{OIC 인스턴스 OCID} - OIC 인스턴스 OCID로 바꿉니다.

다음은 예제 출력입니다.

vbcs 사용자정의 별칭

작업 1.5: DNS 레코드 생성

VBCS/Oracle Integration 인스턴스에 액세스하려면 해당 사용자정의 URL과 연관된 대체 사용자정의 끝점 별칭으로 확인되는 CNAME DNS 레코드를 생성합니다.

CNAME 레코드

사용자정의 호스트 이름 별칭 대상
myapp1.mydomain.com <alias1-xxxyyyy.integration.ocp.oraclecloud.com>
myapp2.mydomain.com <alias2-xxxyyyy.integration.ocp.oraclecloud.com>

이제 구성된 대체 사용자정의 끝점 URL을 사용하여 VBCS 빌더 페이지에 접근할 수 있습니다.

https://myapp1.mydomain.com/ic/builder(app1의 VBCS 빌더 페이지).

https://myapp1.mydomain.com/ic/home(Oracle Integration 페이지)

https://myapp2.mydomain.com/ic/builder(app2의 VBCS 빌더 페이지).

https://myapp2.mydomain.com/ic/home(Oracle Integration 페이지)

vbcs 애플리케이션 작성기

작업 2: VBCS APPS에 대한 사용자정의 URL 구성

VBCS APPS에 대한 사용자정의 URL을 구성하려면 앱 설정 옵션에서 VBCS 앱에 대한 사용자정의 URL을 업데이트해야 합니다.

  1. Builder 페이지에 로그인하고 APP1 https://myapp1.mydomain.com/ic/builder의 사용자 정의 호스트를 사용해야 합니다.

  2. 앱에 대한 햄버거 메뉴를 클릭합니다.

    vbcs 사용자정의 앱 URL

  3. 새 버전을 선택합니다.

    vbcs 앱 새 버전

  4. 앱이 개발 모드에 있으면 설정을 누릅니다.

    vbcs 앱 설정

  5. Vanity URL 필드를 사용자정의 URL로 업데이트합니다.

    vbcs 앱 업데이트 Vanity URL

  6. 다음으로 앱을 스테이지합니다.

    vbcs 앱 단계

    vbcs 앱 stage2

  7. 마지막으로 앱을 게시합니다.

    vbcs app1 게시

    참고: VBCS 앱의 사용자정의 URL은 게시된 앱에만 작동하며, 사용자정의 URL은 개발 모드에서 액세스할 수 없습니다.

  8. APP2에 대해 위 단계를 반복합니다.

이제 사용자 정의 URL로 앱에 액세스합니다.

APP1 이미지:

https://myapp1.mydomain.com

myapp1

APP2 이미지:

https://myapp2.mydomain.com

myapp2

작업 3: WAF 구성

Web Application Firewall은 SQL 주입, XSS(교차 사이트 스크립팅), 원격 코드 실행 등 다양한 온라인 위협으로부터 웹 애플리케이션을 보호합니다. 따라서 OCI WAF(에지 또는 지역)를 사용하여 VBCS 애플리케이션을 보호하는 것이 좋습니다.

자세한 내용은 Protect Visual Builder Cloud Service Apps with OCI Web Application Firewall on Oracle Integration를 참조하십시오.

결론

Vanity 도메인 또는 사용자 정의 URL은 고객이 VBCS 인스턴스에서 호스팅되는 애플리케이션을 향상시킬 수 있는 중요한 기회를 제공합니다. 고객은 개인화된 도메인을 선택하여 브랜드 ID를 강화하고 전문 온라인 이미지를 홍보하며 사용자에게 기억에 남을 만한 경험을 만들 수 있습니다. Vanity 도메인/사용자정의 URL을 사용하면 고객이 애플리케이션의 기본 인프라를 보호하여 실제 호스트 이름에 직접 노출되지 않도록 할 수 있습니다.

또한 고객은 애플리케이션 앞에 WAF(Web Application Firewall)를 구현하여 보안 조치를 한 단계 더 강화할 수 있습니다. WAF는 사전 방어 메커니즘으로 작동하여 들어오는 웹 트래픽을 분석 및 필터링하므로 악의적인 공격의 위험을 줄이고 최종 사용자에게 더 안전한 탐색 환경을 보장합니다.

요약하자면 Vanity 도메인/사용자정의 URL과 WAF 구현의 조합은 VBCS 인스턴스에서 호스팅되는 애플리케이션에 대한 브랜딩 및 보안 측면을 모두 강화하여 기업이 디지털 환경에서 성장할 수 있는 포괄적이고 강력한 솔루션을 제공합니다.

수락

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 살펴보거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하십시오. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer를 방문하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.