NSX Advanced Load Balancer 管理者は、Ping Identity の PingAccess エージェントを使用して、仮想サービスへのクライアント アクセスを制御できます。

NSX Advanced Load Balancer と PingAccess エージェントの相互作用と動作



上記の図では、番号付き矢印は次の番号付き手順に対応しています。このシナリオでは、クライアントがまだ自身を認証していないこと(つまり、自身が以前に PingFederate にログインしたことを示す Cookie を持っていないこと)を前提としています。

  1. クライアントは、SE で実行されている仮想サービスにアクセスします。この特定の VS では、SE は認証と認可の両方の目的で PingFederate エージェントに確認するように構成されています。エージェントは、クライアントが既に認証されていると判断した場合、手順 5 に進みます。

  2. PingAccess エージェントのキャッシュにこのクライアントを認証した記録がないと仮定しましょう。要求を一時的にパークするよう NSX Advanced Load Balancer に指示します。次に、以下のことが起こります。

    1. PingAccess エージェントは PingAccess サーバに指示を求めます。

    2. PingAccess サーバは URL ポリシーをチェックし、保護されたリソースの 1 つへのアクセスが要求されたと判断します。SE がクライアントに渡すコードを解釈せずに返すことで、PingAccess エージェントに応答します。クライアントは、PingFederate とのセッションを確立するためのリダイレクトとしてコードを解釈します。

  3. そのコードを受信すると、クライアントは PingFederate に要求を送信します。PingFederate は、クライアントを検証する必要があると判断すると、セッションを作成します。

  4. その後、クライアントはリソース(つまり、NSX Advanced Load Balancer SE)にリダイレクトされます。現在、要求には、クライアントを正当なユーザーとして識別する Cookie が含まれるようになりました。PingAccess エージェントは、クライアントの認証情報をキャッシュします。

  5. PingAccess エージェントは、クライアントが認証されたことを認識します。

    1. NSX Advanced Load Balancer が要求をパークしている間、PingAccess エージェントは PingAccess サーバに認可指示を求めます。

    2. PingAccess サーバは URL ポリシーをチェックし、保護されたリソースであると判断します。セッション トークンをチェックし、トークンが有効であると判断し、クライアントがリソースへのアクセスを許可されていることをエージェントに返信します。

  6. NSX Advanced Load Balancer には適用されませんが、セッション失効が有効になっている場合、PingAccess サーバは、PingFederate によって維持されている中央セッション失効リストを確認して更新します。セッションが有効な場合、エージェントは ID HTTP ヘッダーを再確立するように指示されます。

  7. SE は、認証および認可された要求を選択されたバックエンド サーバに渡します。

注:

PingAccess エージェントで構成された仮想サービスのすべての要求ログには、PingAccess エージェントが必要な情報を取得するために使用する PingAccess サブ要求の証拠が含まれています。ログ エントリには、簡単に識別できるように「PaaLog」文字列が含まれています。

PingAccess エージェントを使用するように仮想サービスを構成する

  1. [テンプレート] > [セキュリティ] > [PingAccess エージェント] の順に移動し、[作成] をクリックします。

  2. [新しい PingAccess エージェント] ウィンドウで、エージェントの [名前] を入力します。

  3. [PingAccess エージェントのプロパティのインポートまたは貼り付け] フィールドには、次の 2 つの方法で PingAccess エージェントのプロパティをインポートできます。

    1. [ファイルのインポート] をクリックし、agent.properties ファイルをアップロードします。

    2. PingAccess エージェントのプロパティ ファイルの内容をテキスト領域に貼り付けます。

  4. [保存] をクリックします。

.properties ファイルについて:PingAccess 管理者は、PingAccess ユーザー インターフェイスを使用して、PingAccess サーバからワークステーション ファイル システムにプロパティ ファイルをダウンロードできます。このプロパティ ファイルには、SE PingAccess エージェントが必要とする共有シークレット キーが含まれています。ファイル名の形式は <agent_name>_agent.properties です。現在のディレクトリにファイルを配置することで、管理者はファイル名 (AviAgent_agent.properties) のみで構成されるパス名を使用してそのファイルを参照できます。

注:

インストール後に PingAccess エージェントのプロパティを変更することはできません。代わりに、以前のエージェントを削除し、新しいエージェントをアップロードする必要があります。

5. [テンプレート] > [セキュリティ] > [認証プロファイル] の順に移動し、[作成] をクリックします。

6. [新しい認証プロファイル] ウィンドウで、新しいプロファイルに名前を付けます。[タイプ] として PING を選択します。[PingAccess エージェント] ドロップダウン メニューから、手順 2 で作成したエージェントを選択します。[保存] をクリックします。

7. 次の CLI を使用して、手順 8 で必要となる SSO ポリシーを定義します。

[admin:ctrlr-1]: > configure ssopolicy ExampleSSO
[admin:ctrlr-1]: ssopolicy> authentication_policy default_auth_profile ExampleAuthProfile
[admin:ctrlr-1]: ssopolicy:authentication_policy> save
[admin:ctrlr-1]: ssopolicy> save

8. [アプリケーション] > [仮想サービス] の順に移動し、PingFederate が監視する仮想サービス アクセス用のエディタを起動します。定義した SSO ポリシーを仮想サービスに関連付けます。