アプリケーション・ゲートウェイの作成
IAMでアプリケーション・ゲートウェイを作成し、ホストを追加し、アプリケーション・ゲートウェイによって保護されるエンタープライズ・アプリケーションに各ホストを関連付けます。
アプリケーション・ゲートウェイの設定の一部は、次のアクションでアプリケーション・ゲートウェイをIAMに登録することです:
- ホスト識別子の定義。各ホスト識別子は、アプリケーション・ゲートウェイがエンタープライズ・アプリケーションをプロキシするために使用するドメイン名とポート番号を表します。
- 既存のエンタープライズ・アプリケーションをホスト識別子に関連付けます。
アプリケーション・ゲートウェイ・サーバーの設定時に作成したアプリケーション・ゲートウェイのクライアントIDおよびクライアント・シークレットを使用します。アプリケーション・ゲートウェイの設定を参照してください。
Identity Domain AdministratorロールまたはSecurity Administratorロールのいずれかが割り当てられている必要があります。
-
「アプリケーション・ゲートウェイ」リスト・ページで、「ターゲット・レシピの作成」を選択します。アプリケーション・ゲートウェイ・ページの検索に関するヘルプが必要な場合は、アプリケーション・ゲートウェイのリストを参照してください。
「ターゲット・レシピの作成」パネルが開きます。
- アプリケーション・ゲートウェイの名前とオプションの説明を入力します。
- 「アプリケーション・ゲートウェイの追加」を選択します。
-
ホストの追加ページで、「ホストの追加」を選択します。
- 「ホスト識別子」に、名前を入力します。
- アプリケーション・ゲートウェイ・サーバーがHTTPリクエストに応答するために使用する「ホスト」および「ポート」の値を入力します。
-
アプリケーション・ゲートウェイがHTTPリクエストをセキュア・モード(HTTPS)でリスニングするには、「SSL有効」を選択します。
アプリケーション・ゲートウェイがセキュアでないHTTPリクエストのみをリスニングするには、チェック・ボックスの選択を解除したままにします。
-
「SSL有効」を選択した場合は、オプションで、アプリケーション・ゲートウェイ・サーバーが使用する証明書キー・ペアとSSLのプロトコルおよび暗号を指定するプロパティをさらに追加できます。次に例を示します。
ssl_certificate /usr/local/example.com.rsa.crt; ssl_certificate_key /usr/local/example.com.rsa.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5;
- /usr/local/example.com.rsa.crtは、アプリケーション・ゲートウェイ・サーバーの証明書のフルパスです。
- /usr/local/example.com.rsa.keyは、その証明書ファイルの秘密キーです。
アプリケーション・ゲートウェイ・バイナリ・ファイルをインストールした後、両方の証明書ファイルをアプリケーション・ゲートウェイ・サーバーにアップロードする必要があります。
- 「ホストの追加」を選択します。
- 「次」を選択します。
-
「アプリケーションの追加」を選択します。
次の図は、アプリケーション・ゲートウェイとエンタープライズ・アプリケーション間で構成するマッピングを示しています:
-
アプリケーション:このアプリケーション・ゲートウェイで保護するエンタープライズ・アプリケーションを選択します。
ノート
エンタープライズ・アプリケーションは「アクティブ」ステータスである必要があります。 - ホストの選択: アプリケーション・ゲートウェイがエンタープライズ・アプリケーションをプロキシするホスト識別子を選択します。
-
リソース接頭辞:エンタープライズ・アプリケーションをプロキシするためにアプリケーション・ゲートウェイで使用されるURL接頭辞を入力します。たとえば、ルート・パスがエンタープライズ・アプリケーションに転送された後、すべてのリクエストを取得するには、
/
を使用します。多数のエンタープライズ・アプリケーションを同じアプリケーション・ゲートウェイに割り当てることができます。
アプリケーションごとに、リソース接頭辞の値が異なることを確認します。たとえば、
http://myapp.internal.example.com:3266/myapp1/page.jsp
およびhttp://myapp.internal.example.com:6355/myapp2/page.jsp
があり、どちらもhttp://myappgateway.example.com:4443/
アプリケーション・ゲートウェイURLを介してアクセス可能な場合、アプリケーション1を登録するときはリソース接頭辞として/myapp1
、アプリケーション2を登録するときはリソース接頭辞として/myapp2
を入力します。 - オリジン・サーバー:アプリケーションがホストされているベースURLです。アプリケーションに直接アクセスできないが、Webプロキシ経由でアクセスできる場合は、WebプロキシのURLを入力します。
-
追加プロパティ:他のプロパティを追加して、アプリケーションの構成をさらに追加します。フィールドに指定された値は、
nginx.conf
のlocationブロックの一部であるNGINXディレクティブまたは文です。例:- 保護されたアプリケーションが、アプリケーション・ゲートウェイでの認証に成功した後で、さらにリダイレクトを行うか、リソースにアクセスする必要がある場合は、このフィールドを使用してホスト・ヘッダーに正しい値を移入し、アプリケーションに渡すことができます。
たとえば、ユーザーが
https://myappgateway.example.com:4443/home
を使用してアプリケーションにアクセスした場合、ブラウザは、値がHost: myappgateway.example.com:4443
に設定されたホスト・ヘッダーをアプリケーション・ゲートウェイに渡します。この値は、アプリケーション・ゲートウェイによってダウンストリーム・アプリケーションに渡されます。これを行うには、次の値のいずれかを追加プロパティとして追加します。proxy_set_header host "myappgateway.example.com:4443";
または
proxy_set_header host $http_host;
$http_host
は変数であり、その値には、アプリケーション・ゲートウェイがブラウザまたはクライアントから受け取るホスト・ヘッダーが移入されます。ノート
アプリケーション・ゲートウェイの背後にロード・バランサがある場合、$http_host
に正しい値が移入され、アプリケーション・ゲートウェイがそれをアプリケーションに転送できるように、実際のホスト・ヘッダーをアプリケーション・ゲートウェイに転送するのはロード・バランサのジョブです。 -
アプリケーションがWebプロキシを介してアクセスできる場合は、次のコマンドを使用します。
proxy_set_header host "myapp.internal.example.com";
"myapp.internal.example.com"
は、アプリケーションがホストされているドメイン名で、オリジン・サーバーとも呼ばれます。この場合、アプリケーション・ゲートウェイはブラウザまたは他のクライアントから受信したホスト・ヘッダーに合格できず、アプリケーションはアプリケーション・ゲートウェイを使用してこれ以上リダイレクトできません。
- 保護されたアプリケーションが、アプリケーション・ゲートウェイでの認証に成功した後で、さらにリダイレクトを行うか、リソースにアクセスする必要がある場合は、このフィールドを使用してホスト・ヘッダーに正しい値を移入し、アプリケーションに渡すことができます。
-
アプリケーション:このアプリケーション・ゲートウェイで保護するエンタープライズ・アプリケーションを選択します。
- 「アプリケーションの追加」を選択します。
- 「閉じる」を選択します。
- アプリケーション・ゲートウェイの詳細ページで、アプリケーション・ゲートウェイ・サーバーの構成時に使用するクライアントIDおよびクライアント・シークレットの値を確認します。