OCI IAMアプリケーション・ゲートウェイを使用したレガシー・アプリケーションの保護
はじめに
Oracle App Gatewayはソフトウェア・アプライアンスであり、コンピュート・インスタンス、クラウド・インフラストラクチャまたはオンプレミス・サーバーでホストされているアプリケーションを認証目的でOracle Cloud Infrastructureと統合できるソフトウェア・アダプタです。
アプリケーション・ゲートウェイは、Webアプリケーションへの認可されていないネットワーク・アクセスを制限することで、Webアプリケーションを保護するリバース・プロキシとして機能する。アプリケーション・ゲートウェイは、これらのアプリケーションに対するHTTPリクエストをインターセプトし、それらのアプリケーションにリクエストを転送する前に、ユーザーがOCI Identity and Access Management (IAM)で認証されるようにします。アプリケーション・ゲートウェイは、認証済ユーザーのアイデンティティをアプリケーションに伝播します。
ユーザーがOCI IAMで認証されていない場合、アプリケーション・ゲートウェイは、資格証明の検証のためにユーザーをOCI IAMのサインイン・ページにリダイレクトします。
目標
このチュートリアルでは、OCI IAMと統合された認証および認可レイヤーを追加して、Oracle App Gatewayを使用してレガシー・アプリケーションを保護する方法を示します。これにより、レガシー環境へのアクセスを一元管理できるため、セキュリティ、ガバナンス、および承認されたユーザーの可視性が確保されます。
前提条件
Oracle Cloud Infrastructure (OCI)でアプリケーション・ゲートウェイを構成する前に、次のものがあることを確認してください:
- 管理権限を持つOCIアカウント
- Enterpriseタイプのアイデンティティ・ドメインが作成されました
- OCI IAMで構成されたアイデンティティ・ドメインへのアクセス
- OCI IAMでエンタープライズ・アプリケーションを作成および管理する権限
- 構成されたネットワーク環境
- アプリケーション・ゲートウェイをホストする仮想クラウド・ネットワーク(VCN)内のサブネット
- ポート443 (HTTPS)およびバックエンド・アプリケーション・ポートでのトラフィックを許可するセキュリティ・リストまたはネットワーク・セキュリティ・グループ(NSG)のセキュリティ・ルール
- アプリケーション・ゲートウェイを使用するサーバー
- Cloud Gateエージェントをインストールする仮想マシン(VM)またはLinuxを実行しているホスト(NGINX + OCI IAMモジュール)
- アプリケーション・ゲートウェイでHTTPSを有効にするための有効または自己署名TLS証明書
- 使用可能なレガシー・アプリケーション
- バックエンド・ホスト(HTTPまたはHTTPS)で実行されている必要があります。
- アプリケーションのアドレスとポートは、VCNから認識され、アクセス可能である必要があります
- OCI IAMのユーザーおよびグループ
- アイデンティティ・ドメインにプロビジョニングされたユーザー
- レガシー・アプリケーションにアクセスできるユーザーを定義するように構成されたグループまたは割当
タスク1: Oracle App Gateway OVAをダウンロードしてVMDKに変換する
-
ドメインの「ドメイン」、「設定」をクリックし、「ダウンロード」セクションまで下にスクロールします。3つのドットをクリックして「App Gateway for Identity Cloud Service」メニューを開き、「ダウンロード」をクリックします:

-
ダウンロードが完了したら、.zipファイルからコンピュータに.ovaファイル(VirtualBox仮想アプライアンス・ファイル)を抽出します。

-
このファイルを処理するには、をインポートします。OVAファイルを VirtualBoxに格納します。のインポートOVAファイルは、仮想ディスクイメージ()を作成します。VDI)ファイル。
-
このVDIファイルをOCIのバケットにアップロードします。

タスク2: OCIでのアプリケーション・ゲートウェイのカスタム・イメージの作成
-
の後。バケットでVDIファイルを使用でき、テナント内のインスタンスで使用するカスタム・イメージを作成します。「コンピュート、カスタム・イメージ」をクリックします:

-
「イメージのインポート」をクリックします。

-
カスタム・イメージを作成する設定を入力して選択します:

説明:
- コンパートメントに作成:カスタム・イメージが作成されるコンパートメントを選択します
- 名前:作成するカスタム・イメージの名前
- オペレーティング・システム: Oracle Linuxを選択したままにする
- バケット: 「オブジェクト・ストレージ・バケットからインポート」を選択します
- オブジェクト・ストレージ情報:前のステップからオブジェクト・ストレージおよび.vdiイメージを選択します
- イメージ・タイプ: 「VMDK」をクリックします
- 起動モード: 「エミュレート・モード」をクリックします。
この情報を入力したら、「イメージのインポート」をクリックします。インポートの完了後、新しく作成されたカスタム・イメージを使用してOCIインスタンスを作成できます。
タスク3: アプリケーション・ゲートウェイ・インスタンスの作成
-
インスタンスを作成するには、「コンピュート」、「インスタンス」をクリックします:

-
「インスタンスの作成」をクリックします。

-
インスタンスの作成に関する情報を入力し、「イメージの変更」をクリックして、前のステップで作成したカスタム・イメージを選択します。

-
カスタム・イメージを使用するフィールドを選択します。

説明:
- 自分のイメージ:カスタム・イメージを使用するには、このアイテムを選択します
- カスタム・イメージ:このアイテムは選択したままにします
- コンパートメント:カスタム・イメージが作成されたコンパートメントを選択します
- カスタム・イメージ名:前に作成したアプリケーション・ゲートウェイ・イメージを選択します
タスク4: アプリケーション・ゲートウェイ・サーバー設定の検証
アプリケーション・ゲートウェイ・サーバー設定を作成した後に検証するには、SSHを使用してターミナルにログインします:
ssh -i <path_private_key> oracle@<IP_servidor_app_gateway>
'oracle'ユーザでSSH接続します。このユーザーのパスワードは、このリンクにあるアプリケーション・ゲートウェイ製品の公式ドキュメントに記載されています。
ノート:初回ログイン時にパスワードを変更する必要があります。
タスク5: アプリケーション・ゲートウェイ・サーバーの証明書および秘密キーの作成
インスタンスにアクセスした後、アプリケーション・ゲートウェイで使用するserver.crtおよびserver.keyを作成します。これは、HTTPSを介して動作するためです。これを行うには、サーバーで次のコマンドを実行します。
-
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 Webコンソール内のアプリケーション・ゲートウェイ構成を完了するには、次の情報が必要です:
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アプリケーション・ゲートウェイのドキュメントで詳細を確認してください。
タスク6: OCIコンソールでのアプリケーション・ゲートウェイの登録
-
アプリケーション・ゲートウェイを登録するには、OCI Webコンソールで「アイデンティティとセキュリティ、ドメイン」をクリックします:

-
ドメイン名をクリックします。

ノート:アプリケーション・ゲートウェイを使用するには、アイデンティティ・ドメインをタイプ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ドメイン・エンドポイントと通信できるようにすることです。
-
アイデンティティ・ドメイン・エンドポイントとの接続をテストするには、そのFQDNを取得します。取得するには、OCIコンソールのアイデンティティ・ドメインの「詳細」ページで、「ドメインURL」行の「コピー」をクリックします。

-
cloudgate-envファイルを編集し、IDCS_INSTANCE_URL設定を変更してアイデンティティ・ドメイン設定をアプリケーション・ゲートウェイに挿入します。この設定では、ドメイン・エンドポイントのFQDNを挿入する必要があります(前述のcurlによるアクセス・テストの実行に使用したものと同じ)。
-
構成する次のパラメータは次のとおりです。
- CG_APP_TENANT:このフィールドにテナントOCIDを入力します
- CG_APP_NAME:アプリケーション・ゲートウェイのクライアントIDを入力します
- CG_APP_SECRET:アプリケーション・ゲートウェイのクライアント・シークレットを入力します
-
最後のステップとして、アプリケーション・ゲートウェイ・サーバーのリゾルバがOCIのアイデンティティ・ドメインのエンドポイントのIPアドレスを識別できることを確認する必要があります。これを行うには、次のコマンドを実行します。
nslookup <id_domain_endpoint_domain>
タスク8: アプリケーション・サーバーの構成
-
アプリケーション・ゲートウェイ・ファイルに必要なすべての変更を行った後、コマンドを実行してアプリケーション・ゲートウェイを構成する必要があります。これを行うには、
/scratch/oracle/cloudgate/ova/bin/setupディレクトリ内でsetup-cloudgateコマンドを実行します。
-
手順に完全に従います。アプリケーション・ゲートウェイ・ファイルで構成された情報を確認し、プロンプトが表示されたらパスワードを入力します。構成が完了したら、アプリケーション・ゲートウェイが次のコマンドで動作していることを確認します:
/scratch/oracle/cloudgate/home/bin/cg-status
-
サーバーが稼働していることを確認したら、アプリケーション・ゲートウェイ機能を使用するアプリケーションの構成を開始できます。
タスク9: Oracleアプリケーション・ゲートウェイを使用したレガシー・アプリケーションの保護
-
Oracleアプリケーション・ゲートウェイを使用してレガシー・アプリケーションを保護するには、アプリケーション・ゲートウェイが構成されているアイデンティティ・ドメインへのアクセスを構成し、「統合アプリケーション」をクリックして「アプリケーションの追加」をクリックする必要があります:

-
「エンタープライズ・アプリケーション」を選択し、「ワークフローの起動」をクリックします:

-
次のような、要求されたすべての情報を入力します。
- 名前:アプリケーション・ゲートウェイによって保護されるようにアプリケーション用に作成されるエンタープライズ・アプリケーションの名前。
- 説明:アプリケーション・ゲートウェイで保護するレガシー・アプリケーションの説明を入力します。
- アプリケーションURL:レガシー・アプリケーションへのアクセスに現在使用しているURLを追加します。これは、アプリケーション・ゲートウェイによって保護されるアプリケーションのURLです。

-
「発行」をクリックします。
エンタープライズ・アプリケーションの作成が終了すると、その詳細を含む画面が表示されます。
-
「SSO構成」をクリックし、「SSO構成の編集」をクリックして構成を続行します。

-
「Actions (アクション)」をクリックし、次に「Add resource (リソースの追加)」をクリックします。

-
Oracleアプリケーション・ゲートウェイによって保護されるレガシー・アプリケーション・リソースを構成します。リソースを個別に作成し、レガシー・アプリケーションのURLにリソースを1つずつ追加し、正規表現を使用してアプリケーションが持つURLのコレクションを表すことができます。

-
「リソースの追加」をクリックします。
-
リソース・マネージャを構成するには、「SSO構成の編集」をクリックし、「SSO構成」ページまで下にスクロールして、「管理対象リソースの追加」を選択し、「アクション」をクリックして、「管理対象リソースの追加」をクリックします:

-
表示されたページで、次の操作を行います。
1: リソース:新しく作成したリソースを選択します(このチュートリアルでは、Legacy-app-resourceです)。
2: 認証方法:レガシー・アプリケーションの認証方法を選択します(ここでは、フォームまたはアクセス・トークンを使用します)
3: 名前/値:レガシー・アプリケーションに送信するHTTPヘッダーの名前と値を入力します

-
最後に、「管理対象リソースの追加」をクリックし、「変更の保存」をクリックします。これで、OCI IAMでのエンタープライズ・アプリケーションの作成が完了しました。このエンタープライズ・アプリケーションは、Oracleアプリケーション・ゲートウェイによって保護されるレガシー・アプリケーションを表します。
-
エンタープライズ・アプリケーションを作成したら、「アクション」メニューをクリックし、「アクティブ化」をクリックしてアクティブ化します。

-
アクティブ化を確認します。

タスク10: エンタープライズ・アプリケーションとOracleアプリケーション・ゲートウェイの関連付け
-
エンタープライズ・アプリケーションをOracleアプリケーション・ゲートウェイに関連付けるには、前のステップでアイデンティティ・ドメインで構成されたアプリケーション・ゲートウェイを使用して、OCIコンソール内でアプリケーションを構成する必要があります。
-
アイデンティティ・ドメインのメイン画面に戻り、「アプリケーション・ゲートウェイ」をクリックして、構成したアプリケーション・ゲートウェイの名前をクリックします:

-
「アプリケーション」をクリックし、「アプリケーションの追加」をクリックします:

-
構成画面で、必要な情報を入力します。

説明:
1: アプリケーション:前に作成したアプリケーションを選択します。
2: ホストの選択:アプリケーション用に作成したホストを選択します。
3: リソース接頭辞:アプリケーション・ゲートウェイを介してアプリケーションにアクセスするルートを入力します
4: オリジン・サーバー:レガシー・アプリケーションが実行されているサーバーのFQDNを入力し、その後にアプリケーションが実行されているポートを入力します
-
最後に、「アプリケーションの追加」をクリックします、
すべての構成が完了したら、Oracleアプリケーション・ゲートウェイを使用してレガシー・アプリケーションへのアクセスをテストできます。
タスク11: Oracleアプリケーション・ゲートウェイを使用したレガシー・アプリケーション・アクセスのテスト
-
アプリケーション・ゲートウェイおよびエンタープライズ・アプリケーションを構成した後、アクセス・テストを実行できます。これを行うには、ブラウザを開き、アプリケーション・ゲートウェイのパブリック・アドレスを構成したポートとともに入力します:

-
アクセスすると、アプリケーション・ゲートウェイは、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
G43063-01