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