14 エージェントおよび登録の概要

エージェント(シングル・サインオン・エージェントまたはポリシー強制エージェントとも呼ばれます)は、アクセス・クライアントとして機能する任意のフロントエンドのエンティティであり、エンタープライズ・アプリケーション全体でシングル・サインオンを可能にします。

個々のエージェントは、エージェントとOAMサーバー間で必要な信頼メカニズムを設定するためにAccess Managerに登録する必要があります。登録されたエージェントは、認証タスクをOAMサーバーに委任します。

この章の各項では、エージェントの概要、エージェントの登録と管理、処理およびツールについて説明します。

14.1 ポリシー強制エージェントの概要

エージェントとは、アプリケーションが存在するWebサーバー(Oracle HTTP Serverなど)にインストールできる、ソフトウェア・プラグインです。保護されたリソースへのアクセスを保護するには、Webサーバーやアプリケーション・サーバー、サードパーティ製のアプリケーションを、Access Managerに登録されたエージェントに関連付ける必要があります。複数のリソースへのアクセス時のユーザーの再認証を省略するために、アプリケーションが、シングル・サインオン(SSO)プロバイダであるAccess Managerに認証機能を委任します。

エージェントの登録時に、アプリケーションを自動的に登録して、基本ポリシーを自動的に生成できます。また、エージェントの登録時の自動ポリシー生成をオフにして、手動でポリシーを作成することもできます。

登録後、エージェントはOAMサーバーとそのサービスとの間の通信を行って、HTTP/HTTPSリクエストのフィルタとして機能します。エージェントは、Access Managerによって保護されたリソースへのリクエストを捕捉して、Access Managerと連動することでアクセス要件を実現します。次の各項では、エージェントのタイプの概要を示します。

14.1.1 OAMエージェントのエージェント・タイプおよび実行時処理

Access Managerでは、各エージェントがリクエストのフィルタとして機能します。

デプロイメントには、表14-1で説明するエージェント・タイプを任意の組合せで含めることができます。

表14-1 エージェント・タイプ

エージェント・タイプ 説明

OAMエージェント

ノート: 特に明記しないかぎり、Webgateという用語とアクセス・クライアントという用語は同じ意味で使用されます。

OAMエージェントは、Oracle Access Managementのインストール後に、別個にインストールする必要があります。エージェントをAccess Managerに登録すると、そのエージェントは、登録済のOAMサーバーおよびAccess Managerサービスと直接通信します。OAMエージェントはOAMプロキシを使用してAccess Managerと通信し、リクエストを掃除して、すべてのエージェントに同じように応答します。次のOAMエージェント・タイプが使用できます。

  • Webgate: すぐに使用可能なWebサーバーのアクセス・クライアントは、WebリソースのHTTPリクエストを捕捉して、これらをOAMサーバーに転送します。Access Managerには、様々なWebサーバーのWebゲートが同梱されています。

  • プログラムによるカスタム・アクセス・クライアント: Access Managerは、純粋なJavaソフトウェア開発キット(SDK)を提供しています。このSDKを使用して、カスタムのアクセス・クライアントや、Access Managerの認証および認可機能(およびカスタム・トークン)の拡張機能を作成します。アクセス・クライアントは、ユーザーやアプリケーションからのWebおよびWeb以外(非HTTP)のリソースに対するリクエストを処理します。詳細は、『Oracle Access Managementでのアプリケーションの開発』を参照してください。

表14-2に、エージェントの登録、構成、管理およびシングル・サインオンをサポートするAccess Managerの機能を示します。各項目のリンク先には、詳細が記載されています。

表14-2 エージェントの登録とSSOサポート

Oracleの提供内容 説明

Oracle Access Managementコンソール

エージェントの登録、構成、管理。

関連項目: コンソールを使用したOAMエージェントの登録

oamregツール

リモートによるエージェントの登録と管理

関連項目: リモート登録ツールの取得および設定

SSO実装

Access Managerは、様々なSSOシナリオをサポートします。

関連項目: Access Managerシングル・サインオンのコンポーネント

インターネット上での情報交換の保護に使用されるプロトコル。

これは、選択した資格証明コレクタに応じて変化します。

関連項目: 表22-4

ログイン・フォームとログアウト・フォーム

ログイン・フォームとログアウト・フォームの場所は、資格証明コレクタに応じて変化します。

関連項目: 表22-4および「OAM Webゲートが関与するセッションの集中ログアウトの構成」

暗号化キー

登録されたWebゲートごとに1つのキーが生成および使用されます。

関連項目: 表-1

キー・ストレージ

  • エージェント側: エージェントごとのキーは、ウォレット・ファイルのOracle Secret Storeにローカルに格納されます。

  • OAMサーバー側: エージェントごとのキーとサーバー・キーは、サーバー側の資格証明ストアに格納されます。

表14-3に、OAMエージェントの実行時の処理についての情報を示します。

表14-3 Access Managerの実行時の処理の概要

エージェント・タイプ 説明

WebGates

アクセス・クライアント

インストールと登録が終わると、WebゲートはOAMプロキシを使用してAccess Managerと通信し、リクエストを"掃除"して、すべてのエージェントに同じように応答します。

プロセス概要、OAMAuthnCookieなしの認証リクエスト: Basic認証スキームによって保護されたリソースに対するリクエストを認可ヘッダー(資格証明)なしで受信した場合

  1. Webゲートは、フロント・チャネルを介して(スキーム構成に応じて)埋込み資格証明コレクタまたは外部資格証明コレクタにリダイレクトして、資格証明を収集します。

  2. 資格証明コレクタは、認証スキームに対して定義されたチャレンジ・メソッドに基づいてユーザーの資格証明を収集します。

  3. ユーザーが認証されると、OAMプロキシ(埋込みコレクタ)またはデタッチされたコレクタそのもの(DCC)が、トークン用のバック・チャネル・プロトコルを通じてOAMサーバーと通信し、そのOAMサーバーが発行したトークンを使用して、フロント・チャネルを通じてレスポンスを返します。

  4. Webゲートは、このレスポンスを検証し、OAMサーバーが発行した認証トークンを抽出して、OAMAuthnCookieにトークンを設定します。

  5. Webゲートは、新しく設定したOAMAuthnCookieがアタッチされた状態で、リクエストされたリソースにリダイレクトされます。

  6. Webゲートは、OAMAuthnCookieを検証し、バック・チャネルを介して認可を実行して、認可に成功したらページを提示します。

プロセス概要、Basic認証: Basic認証スキームによって保護されたリソースに対するリクエストを認可ヘッダー(資格証明)なしで受信した場合

  1. Webゲートは、認証スキームにステータス・コード401(認可が必要)とともに記述されているレルムが含まれたWWW-Authenticateヘッダーによって応答します。

  2. ブラウザ・クライアントがWWW-Authenticateヘッダーを解釈し、ユーザーから資格証明を収集します。

  3. ブラウザ・クライアントが資格証明を含む認証ヘッダーを使用して、リクエストを再実行します。

関連項目:

「外部資格証明コレクタとして構成されたOAM Webゲートについて」

14.1.2 外部資格証明コレクタとして構成されたOAM Webゲートについて

Oracle Access Managerでは、埋込み資格証明コレクタ(ECC)がデフォルトです。ECCは、以前からOAMサーバーに統合されています。

Access Manager も、デフォルトでECCをサポートしています。ただし、Access Managerを使用すると、外部資格証明コレクタ(DCC)を使用するようにWebゲートを構成することもできます。デフォルトのECCよりもDCCのほうが安全性が高いと考えられます。

DCCとして機能するように構成されたWebゲートは、認証Webゲートと呼ばれます。リソースを保護するWebゲートは、リソースWebゲートと呼ばれます。

14.2 エージェント登録の概要

Oracle Access Managementコンソールまたはリモート登録ツールを使用して、エージェントの登録および更新を実行できます。特に明記しないかぎり、この項の情報は、このどちらのツールを使用したエージェント登録にも適用されます。

この項の内容は次のとおりです。

14.2.1 エージェント登録時に生成されるキーとポリシー

管理者は、運用する各エージェントをAccess Managerに登録する必要があります。登録されたエージェントのみがOAMサーバーと通信でき、保護されたリソースにアクセスを試みるユーザーの情報を処理できます。

このエージェントは、保護対象のアプリケーションをホストするコンピュータ上に存在すると考えられます。ただし、プロキシWebサーバー上や、別のホスト上のアプリケーションに存在する場合もあります。

エージェント・キーとパートナ・キーは登録時に作成されます。また、エージェント登録時にポリシーを作成してアプリケーションを保護することもできます。エージェント登録時にポリシーを自動作成するよう選択した場合、ホスト識別子とアプリケーション・ドメインは、基本ポリシーとリソース定義を使用して作成されます。アプリケーション・ドメインとポリシーは、後から表示および管理できます。

ノート:

次に示すように、同じアプリケーション・ドメインとポリシーを使用して、1つのホスト識別子で複数のWebゲートまたはアクセス・クライアントを登録できます。

  1. Webgateを登録するときに、ホスト識別子(ユーザーが名前を選択)を作成し、「ポリシーの自動作成」を有効にすることができます。

  2. ステップ1と同じホスト識別子を使用して2つ目のWebゲートを登録し、「ポリシーの自動作成」ボックスをクリアしてポリシーが作成されないようにします。

(コンソールかリモート登録ツールのどちらかを使用して)登録が成功すると、Oracle Access Managementコンソールに完全なエージェント登録が表示され、それがクラスタ内の管理対象サーバーすべてに伝播されます。表14-4は、エージェント登録時に生成されるキーとポリシーを示しています。

表14-4 エージェント登録時に生成されるキーとポリシー

キーおよびポリシー 可能なアクセス先 可能なアクセス経路

Weゲート・エージェントごとに1つのキー

関連項目: 「キーの使用、生成、プロビジョニングおよびストレージ」

  • OAMサーバー

  • クライアント側: クライアント・ホスト上の保護されたローカル・ストレージ(ローカルのウォレット・ファイル)

  • サーバー側: Javaキーストア

アプリケーションのパートナ・キー

  • WebGate

クライアント側

アプリケーション・ドメインとデフォルト・ポリシーは、エージェントの登録時に必要に応じて生成されます。

  • エージェントの名前

  • デフォルトの認証および認可ポリシー(ただしトークン発行ポリシーではない)を使用して伝播されます。

  • 登録時にエージェントに対して指定されたものと同じホスト識別子を使用して識別されます。

  • 管理者は、Oracle Access ManagementコンソールまたはAccess Manager用のカスタムWLSTコマンドを使用して、登録されたエージェントの表示、変更および削除が可能です。

  • 実行時にすべてのエージェント・タイプは、Webサイトにアクセスする試みをモニターし、リクエストを完了する前にOAMサーバーを使用して認証および認可サービスを提供します。

  • Oracle Access Managementコンソール
  • ポリシーの構成
  • アプリケーション・ドメイン
  • DomainName

14.2.2 ファイル・システム変更および登録されたエージェントのアーティファクト

Oracle Access Managementコンソールを使用してエージェントを登録すると、Oracle Access Managementコンソール・ホスト(AdminServer)でエージェント用に新しいファイル・システム・ディレクトリが作成されます。

この新しいディレクトリには、表14-5に示すように、登録済エージェント用に生成されたファイルが格納されます。

表14-5 エージェント登録に関連付けられるアーティファクト

登録アーティファクト 生成対象

すべてのWebゲートまたはアクセス・クライアント

ObAccessClient.xml

コンソール・ホスト(AdminServer)上のすべてのWebゲート/アクセス・クライアント。

実行時に定期的な更新確認が行われます。変更が検出されると、ObAccessClientが自動的に更新されます。

関連項目: この表のクライアント上で生成されるプロパティ・ファイル。

cwallet.sso

Webゲートのみ

トランスポート・セキュリティ・モードに関係なく、Webゲート。

安全な通信のための証明書とパスワード

すべてのWebゲート/アクセス・クライアント。たとえば:

  • password.xml(簡易モードのグローバル・パスフレーズ用に最小限に暗号化されたファイル)

  • aaa_cert.pem (Webゲート証明書ファイルの予約名。変更できません)

  • aaa_key.pem (Webゲート・キー・ファイルの予約名。変更できません)

証明書モード:

  • PEMキーストア別名

  • PEMキーストア別名パスワード

ノート: Webゲートの登録の編集時にpassword.xmlが更新されるのは、モードが「オープン」から「証明書」、あるいは「簡易」から「証明書」に変更された場合のみです。証明書モードでは、一度生成されるとpassword.xmlは更新できません。エージェント・キー・パスワードを編集しても、新しいpassword.xmlは生成されません。

関連項目: 簡易モードおよび証明書モードのトランスポート・セキュリティの詳細は、「Access Managerの設定の構成」を参照してください。

生成または更新されたアーティファクトは、コンソール・ホスト(AdminServer)からエージェントのインストール・ディレクトリにコピーする必要があります(表14-6を参照)。

表14-6 生成されたアーティファクトのコピー

エージェント・タイプとアーティファクト 生成されたアーティファクトをエージェントのインストール・ディレクトリにコピー

ObAccessClient.xml

(およびWebGate cwallet.sso)

Webゲートまたはアクセス・クライアント

エージェントの起動前に、ObAccessClientファイル(およびcwallet.sso)を、生成された場所(AdminServer (コンソール)ホスト)からエージェントのインストール・ディレクトリにコピーします。

関連項目: 「OAMエージェントの登録および管理」

14.3 OAMリモート登録

エージェントの登録にコンソールを使用せずに、Oracle提供のテンプレートとリモート登録ユーティリティのoamregを使用することもできます。

リモート登録スクリプトのユーザーは、Access Managerのプライマリ・ユーザー・アイデンティティ・ストア内の管理者のロールに対してマップされるグループに含めることができます(「データ・ソースの管理」を参照)。

アプリケーション・ドメインのセキュアな登録と作成(および対称キーの生成)は、表14-7で説明するどちらのリモート登録モードを使用する場合でもサポートされます。

表14-7 リモート登録の方法

方法 説明

帯域内モード

エージェントをホストするWebサーバーを管理するネットワーク内の管理者は、このモードまたはOracle Access Managementコンソールを使用できます。

帯域外モード

ネットワーク外の管理者は、登録リクエストをネットワーク内の管理者に送信する必要があります。リクエストを処理した後、帯域内の管理者は、ファイルを使用して環境を構成する帯域外の管理者に必要なファイルを戻します。

アプリケーションごとの対称キーの生成: 登録されたWebゲートごとに1つのキーが生成されて使用されます。

リモート登録でサポートされていない機能は、次のとおりです。
  • キーおよびエージェント情報の永続性

  • 内部コンポーネントで使用されるキーの生成

  • エージェント情報を読み取るAPIサポート

登録モードの詳細は、次の各項を参照してください。

詳細は、「OAMエージェントの登録および管理」を参照してください。

14.3.1 帯域内リモート登録の実行

リモート登録ツールを使用して、帯域内のWebサーバー管理者は、アプリケーションをプロビジョニングするためのタスクを実行できます。特に明記しないかぎり、保護するリソースのあるエージェントのタイプに関係なく、タスクの内容は同じです。

この概要の「管理者」という用語は、Oracle Access Managementに登録されるデフォルト・システム・ユーザーのアイデンティティ・ストアの管理者に指定されるLDAPグループの一部であるネットワーク内のユーザーを示します。

  1. 登録ツールを入手します(「リモート登録ツールの取得および設定」を参照してください)。
  2. エージェントおよびアプリケーション・ドメインの一意の値で入力ファイルを更新します(「リモート登録リクエストの作成」を参照してください)。
  3. 登録ツールを実行してエージェントを構成し、リソースのデフォルトのアプリケーション・ドメインを作成します(「帯域内リモート登録の実行」を参照してください)。
  4. 構成を検証します(「リモート登録およびリソース保護の検証」を参照してください)。
  5. アクセス・チェックを実行して構成が有効なことを検証します(「リモート登録後の認証およびアクセスの検証」を参照してください)。

14.3.2 帯域外リモート登録の実行

帯域外登録という用語は、帯域内および帯域外の管理者の両方の調整およびアクションを含む手動登録を示します。

帯域外リモート登録(ネットワーク外のエージェント)の概要を次に示します。

  1. 帯域外の管理者の手順: 特定のアプリケーションおよびエージェントの詳細を含む開始リクエストの入力ファイルを作成し、帯域内の管理者に送信します。
    • 登録ツールを入手します(「リモート登録ツールの取得および設定」を参照してください)。

    • テンプレートをコピーおよび編集して、エージェントおよびアプリケーション・ドメインの一意の値を入力します(「リモート登録リクエストの作成」を参照してください)。

    • 選択した方法(電子メールまたはファイル転送)を使用して、開始リクエストの入力ファイルを帯域内の管理者に送信します。

  2. 帯域内の管理者の手順:
    • 登録ツールを入手します(「リモート登録ツールの取得および設定」を参照してください)。

    • 登録ツールで帯域外の開始リクエストを使用してエージェントをプロビジョニングし、次のファイルを作成して帯域外の管理者に戻します。詳細は、「帯域外リモート登録の実行」を参照してください。

      • agentName_Response.xmlは帯域外の管理者用に生成され、ステップ3で使用されます。

      • OAMエージェント: 変更されたObAccessClient.xmlファイル(およびWebゲートcwallet.ssoファイル)が作成され、帯域外の管理者がWebゲートをブートストラップするためにこのファイルを使用できます。

        Webゲート: SSOウォレット作成。

  3. 帯域外の管理者の手順: agentName_Response.xmlファイルと一緒に登録ツールを使用し、エージェント構成および他の生成されたアーティファクトを適切なファイル・システム・ディレクトリにコピーします。

    ノート:

    outofbandモードで、帯域内の管理者は帯域外の管理者が送信した開始リクエスト・ファイルを使用し、追加処理のために生成されたagentName_Response.xmlファイルを帯域外の管理者に戻します。帯域外の管理者は、エージェント構成ファイルを生成する入力としてagentName_Response.xmlと一緒にリモート登録ツールを実行します。

  4. 帯域内の管理者の手順: 構成を検証します(「リモート登録およびリソース保護の検証」を参照してください)。
  5. 帯域外の管理者の手順: いくつかのアクセス・チェックを実行して構成が有効なことを検証します(「リモート登録後の認証およびアクセスの検証」を参照してください)。

14.3.3 エージェント構成ファイルの更新

登録(または更新)に成功したら、AdminServer (コンソール)ホスト上でエージェント構成ファイルを検索し、これらをエージェント・ホストにコピーする必要があります。

エージェントの登録または更新のアーティファクトは、表14-8を参照してください。

表14-8 エージェント登録および構成の更新アーティファクト

対象となるアーティファクト 説明

簡易または証明書モード

簡易または証明書モードを使用する場合、登録後、証明書アーティファクトもエージェント・ホストにコピーする必要があります。

関連項目: 「通信の保護」

OAMエージェント(Webゲート/アクセス・クライアント)

関連項目: 「OAMエージェントの登録および管理」