ノート:

Oracle IntegrationでのVisual Builder Cloud Serviceアプリケーションのカスタム・アプリケーションURLおよびOCI Web Application Firewallの構成

イントロダクション

デフォルトでは、PaaS Visual Builder Cloud Serviceアプリケーション(VBCS)/Oracle IntegrationインスタンスはOracleドメインを含むURLを生成します。ただし、顧客は、ブランディングの目的でパーソナライズされたドメインを使用してデプロイされたアプリケーションにアクセスしたり、基盤となるインフラストラクチャを直接暴露しないように保護したりできます。このカスタマイズを設定するために、VBCSには、VBCS/Oracle IntegrationインスタンスにデプロイされたアプリケーションのカスタムURLまたはバニティ・ドメインを構成するオプションがあります。

バニティ・ドメインを使用する利点:

VBCS/Oracle IntegrationインスタンスのデフォルトのURLは、通常、次の形式で構造化されます。

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

目的

このチュートリアルでは、Oracle Integrationインスタンスで有効化されたVBCSインスタンスにデプロイされたアプリケーションにカスタムURLを設定するステップバイステップのプロセスを示します。

デモンストレーションのために、インスタンスに2つのアプリケーションがデプロイされているとします。

アプリケーション名 カスタムURL
VBCS APP1 myapp1.mydomain.com
VBCS APP2 myapp2.mydomain.com

VBCSアプリケーション・イメージ

前提条件

構成

構成を単純かつ明確にするために、構成を2つの主要なタスクに分割します。最初のタスクはOracle Integrationレイヤーで必要な構成の詳細を示し、2番目のタスクはVBCSレイヤーで必要な構成の詳細を示します。

  1. Oracle Integrationインスタンスのカスタム・エンドポイントを構成します。

  2. VBCSアプリケーションのカスタムURLを構成します。

タスク1: Oracle Integrationインスタンスのカスタム・エンドポイントの構成

VBCSアプリケーションのカスタムURLを構成するには、Oracle Integrationインスタンスをカスタム・エンドポイントで構成する必要があります。

Oracle Integrationインスタンスは、単一のプライマリ・カスタム・エンドポイントおよび複数の代替カスタム・エンドポイントで構成できます。プライマリ・エンドポイントはOracle Cloud Infrastructure (OCI)コンソールで構成できますが、代替カスタム・エンドポイントは現在、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 Vaultに格納する

Oracle Integrationは、証明書チェーンの入力としてOCI Vaultシークレットを受け入れます。シークレット構文の詳細は、インスタンスのカスタム・エンドポイントの構成を参照してください。

高度なステップには、ボールトの作成、キーの作成、シークレットの作成などがあります。

ボールト・シークレットのOracle Cloud Identifier (OCID)をコピーします。

{
  "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} - 前のステップでコピーしたVaultシークレット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>

VBCSビルダー・ページには、構成された代替カスタム・エンドポイントURLを使用してアクセスできるようになりました。

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. ビルダー・ページにログインし、APP1 https://myapp1.mydomain.com/ic/builderのカスタム・ホストを使用してください。

  2. アプリのハンバーガーメニューをクリックします。

    vbcsカスタム・アプリケーションURL

  3. 「New Version」を選択します。

    vbcsアプリケーションの新しいバージョン

  4. アプリケーションが開発モードになったら、「設定」をクリックします。

    vbcsアプリケーション設定

  5. バニティURLフィールドをカスタムURLで更新します。

    vbcsアプリケーション更新バニティ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)、リモート・コード実行などの幅広いオンライン脅威からWebアプリケーションを保護します。そのため、OCI WAF(エッジまたはリージョン)を使用してVBCSアプリケーションを保護することを強くお薦めします。

詳細は、Oracle IntegrationでのOCI Web Application FirewallによるVisual Builder Cloud Serviceアプリケーションの保護を参照してください。

まとめ

バニティ・ドメインまたはカスタムURLは、お客様がVBCSインスタンスでホストされているアプリケーションを強化する貴重な機会となります。パーソナライズされたドメインを選択することで、顧客はブランド・アイデンティティを強化し、プロフェッショナルなオンライン・イメージを促進し、ユーザーにとってより記憶に残るエクスペリエンスを作成できます。バニティ・ドメイン/カスタムURLを利用することで、お客様はアプリケーションの基盤となるインフラストラクチャを保護し、実際のホスト名への直接公開から保護できます。

さらに、アプリケーションの前にWeb Application Firewall(WAF)を実装することで、セキュリティ対策をさらに一歩進めることができます。WAFはプロアクティブな防御メカニズムとして機能し、受信したWebトラフィックを分析およびフィルタリングすることで、悪意のある攻撃のリスクを軽減し、エンドユーザーにとってより安全なブラウジング体験を確保します。

要約すると、バニティ・ドメイン/カスタムURLとWAFの実装を組み合せると、VBCSインスタンスでホストされるアプリケーションのブランディングとセキュリティの両方の側面が強化され、企業がデジタル環境で成功するための包括的で堅牢なソリューションが提供されます。

謝辞

その他の学習リソース

docs.oracle.com/learnの他のラボをご覧いただくか、Oracle Learning YouTubeチャネルで無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerになります。

製品ドキュメントについては、Oracle Help Centerを参照してください。