プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Access Management管理者ガイド
11g リリース2 (11.1.2.3) for All Platforms
E61950-08
目次へ移動
目次

前
次

55.3 アイデンティティ・コンテキスト・サービスの操作

Oracle Access Managementプラットフォームにより、アイデンティティ・コンテキスト・データを収集し、関与するコンポーネントに伝播し、保護されているリソースへのアクセスを許可または拒否するために使用可能にできます。

詳細は、図55-2を参照してください。アイデンティティ・コンテキスト・サービスにより、アイデンティティ・コンテキストAPIを介したアイデンティティ・コンテキスト・ランタイムへのアクセスが可能になります。アイデンティティ・コンテキスト・ディクショナリ・スキーマによって、アイデンティティ・コンテキスト属性が指定されます。

この節では、以下のトピックについて説明します。

55.3.1 アイデンティティ・コンテキスト・ディクショナリ

アイデンティティ・コンテキスト・アーキテクチャの中心となるのは、アイデンティティ・コンテキスト・ディクショナリです。このディクショナリは、Oracle Access Managementプラットフォームで定義されているアイデンティティ・コンテキスト属性を指定することでアイデンティティ・コンテキスト・スキーマを定義します。

そのスキーマでは、namespace : attributeと等しい一意の名前で各属性が記述されます。表55-1は、スキーマ属性を示しています。

ノート:

仮想属性(表55-1に記載)は、特定の属性の作成元となるアイデンティティ情報の抽象クラスを表します。仮想属性を公開する場合、アイデンティティ・コンテキストAPIは、属性値にattr-name=attr-valueが含まれていることを想定します。実際の属性は、名前namespace : attribute : attr-nameとattr-valueの値を使用して作成されます。この方法により、Oracle Access Managementコンポーネントによって直接管理されていないソースからの値を持つ属性の公開が可能になります。

表55-1 アイデンティティ・コンテキスト・スキーマ属性

ネームスペース 属性 データ型 仮想 プライマリ・パブリッシャ 説明

oracle:idm:claims:nameid

value

文字列

いいえ

OAM

一意のユーザー識別子を示します。Access Managerは現在ユーザーDNを公開しています

oracle:idm:claims:nameid

format

文字列

いいえ

OAM

ユーザー識別子のタイプを示します。Access Managerは現在urn:oasis:names:tc:SAML:1.1:nameid-format:x509SubjectNameを公開しています

oracle:idm:claims:nameid

qualifier

文字列

いいえ

OAM

ユーザーが属する論理アイデンティティ・ドメインを示します。Access Managerは、現在、UserIdentityStore1などのアイデンティティ・ストアの論理名を公開しています。

oracle:idm:claims:nameid

spprovidedid

文字列

いいえ

OAM

SP自体のアイデンティティ・ストアでユーザーを見つけるためにすべてのSPで使用できる一意の識別子を示します。Access Managerは、現在、登録済アイデンティティ・ストアで構成されている一意のID属性の値を公開しています。

oracle:idm:claims:client

firewallenabled

ブール

いいえ

OESSO

クライアント・デバイスでファイアウォールが有効化されていることを示します。

oracle:idm:claims:client

antivirusenabled

ブール

いいえ

OESSO

クライアント・デバイスでウイルス対策が有効化されていることを示します。

oracle:idm:claims:client

fingerprint

文字列

いいえ

OESSO、Oracle Access Management Mobile and Social (OMS)

クライアント・デバイスのフィンガープリントを示します。

oracle:idm:claims:client

ostype

文字列

いいえ

OMS

クライアント・デバイスのオペレーティング・システム・システム・タイプを示します。

oracle:idm:claims:client

osversion

文字列

いいえ

OMS

クライアント・デバイスのオペレーティング・システム・バージョンを示します。

oracle:idm:claims:client

jailbroken

ブール

いいえ

OMS

クライアント・デバイスがジェイルブレーク(iOS)またはルート化(Android)されているかどうかを示します。

oracle:idm:claims:client

macaddress

文字列

いいえ

OMS

クライアント・デバイスのイーサネット(MAC)アドレスを示します。

oracle:idm:claims:client

ipaddress

文字列

いいえ

OMS

クライアント・デバイスのクライアントIPアドレスを示します。

oracle:idm:claims:client

vpnenabled

ブール

いいえ

OMS

クライアントのデバイスでVPNが有効化されているかどうかを示します。

oracle:idm:claims:client

geolocation

文字列

いいえ

OMS

クライアント・デバイスの場所の地理的座標を緯度,経度の形式で示します。

oracle:idm:claims:risk

newdevice

ブール

いいえ

OAAM

クライアント・デバイスが既知であるかどうかを示します。既知でないデバイスからログインされている場合はtrue、それ以外の場合はfalseです。

oracle:idm:claims:risk

level

整数

いいえ

OAAM

リスク・レベルを示します。レベルはログインの失敗後に増加します。

oracle:idm:claims:risk

safeforuser

ブール

いいえ

OAAM

ユーザーが2番目のチャレンジ質問に回答したかどうかを示します。ユーザーがそれに適切に回答した後はtrue、それ以外の場合はfalseです。

oracle:idm:claims:risk

fingerprint

文字列

いいえ

OAAM

OAAMによって測定されるデバイス・フィンガープリントを示します。デバイスごとに、残されるフィンガープリントが異なります。デバイス(Flashを介して取得)のフィンガープリントとブラウザ(httpのみ)のフィンガープリントの間で切り替えることができます。

oracle:idm:claims:session

authnlevel

整数

いいえ

OAM

Access Managerの認証レベルを示します

oracle:idm:claims:session

usercount

整数

いいえ

OAM

ユーザーによって保持されるセッション数を示します

oracle:idm:claims:session

appdomain

文字列

いいえ

OAM

ポリシーが含まれているAccess Managerアプリケーション・ドメインの名前を示します。

oracle:idm:claims:session

apppolicy

文字列

いいえ

OAM

アクセスを許可したAccess Managerポリシーの名前を示します

oracle:idm:claims:session

appagent

文字列

いいえ

OAM

Access Managerにリクエストを送信したエージェントの名前を示します

oracle:idm:claims:session

appclientip

文字列

いいえ

OAM

Access Managerにリクエストを送信したクライアントのIPアドレスを示します

oracle:idm:claims:session

sessionid

文字列

いいえ

OAM

Access ManagerセッションIDを示します

oracle:idm:claims:session

attributes

文字列

はい

OAM

セッション・ストアから取得されるセッション属性を示します。たとえば、Access Managerで、要求名としてoracle:idm:claims:session:attributesを選択し、attr-name=$session.attr.nameという表記法を使用してセッション属性を指定します(nameは、そのセッションに格納される属性の名前)。要求は、oracle:idm:claims:session:attributes:attr-nameの名前と、セッションのname属性に等しい値で作成されます。

oracle:idm:claims:fed

partner

文字列

いいえ

OAMまたはIF

Identity Federationによって判別されるパートナIDを示します

oracle:idm:claims:fed

nameidvalue

文字列

いいえ

OAMまたはIF

Identity Federationによって判別されるフェデレーション・パートナのユーザーIDを示します

oracle:idm:claims:fed

nameidformat

文字列

いいえ

OAMまたはIF

Identity Federationによって判別されるフェデレーション・パートナのユーザーIDの形式を示します

oracle:idm:claims:fed

attributes

文字列

はい

OAM

パートナによって提供され、Identity Federationによって判別されるフェデレーション属性を示します。たとえば、Access Managerで、要求名としてoracle:idm:claims:fed:attributesを選択し、attr-name=$session.attr.fed.attr.nameという表記法を使用してフェデレーション属性を指定します(nameは、パートナのSAMLアサーションでのSAML属性の名前)。要求は、oracle:idm:claims:fed:attributes:attr-nameの名前と、SAMLのname属性で提供されるパートナのアサーションに等しい値で作成されます。

oracle:idm:claims:ids

attributes

文字列

はい

OAM

たとえば、Access Managerで、要求名としてoracle:idm:claims:ids:attributesを選択し、attr-name=$user.attr.nameという表記法を使用してIDストア属性を指定します(nameは、ユーザー・プロファイル上のその属性の名前)。要求は、oracle:idm:claims:ids:attributes:attr-nameの名前と、ユーザー・プロファイルのname属性に等しい値で作成されます。

oracle:idm:claims:tenant

tenantid

文字列

いいえ

OAM

現在、今後の使用のために予約済です。(テナントIDを示します。)

oracle:idm:claims:tenant

attributes

文字列

はい

OAM

現在、今後の使用のために予約済です。(パブリッシャによって提供されるテナント属性を示します。この要求値は、attr-name=attr-valueを含むことになります。要求は、oracle.idm:claims:tenant:attr-nameの名前と、attr-valueの値で作成されます。)

55.3.2 アイデンティティ・コンテキスト・ランタイム

アイデンティティ・コンテキスト・ランタイムは、アイデンティティ・コンテキスト属性(アイデンティティ・コンテキスト・ディクショナリで定義される)のコレクションを参照します。それは、その属性に対して権限を持つと認識されている様々なトラステッド・アプリケーション・コンポーネントまたはセキュリティ・フレームワーク、あるいその両方によってアサートされます。これが、Oracle Access Managementプラットフォームです。ランタイム・コンテキストは、現在の状況、環境、背景、または設定を表し、それらによってランタイム・アプリケーション環境でのアイデンティティに対するイベントの意味が判別、指定、または明確化されます。

Oracle Access Managementプラットフォームでは、Context Management Engine (CME)と呼ばれる共通インフラストラクチャ・コンポーネントが活用されます。CMEにより、Oracle Access Managementプラットフォームを介して処理されるすべてのトランザクションに対してアイデンティティ・コンテキストが生成されることが保証されます。CMEによって収集されるコンテキスト・データは、WebチャネルまたはWebサービス・チャネルおよびOracle Access Managementプラットフォームで使用可能なソフトウェア製品の多くを使用してユーザーが実行するトランザクションに適用されます。バックエンドで開始されるいくつかのトランザクションにも、アイデンティティ・コンテキストへのアクセスが必要な場合があり、アイデンティティ・コンテキストがある程度の期間、永続化されることが必要な場合があります。

一般的なOracleミドルウェア・デプロイメントでは、アイデンティティ・コンテキスト・ランタイムは主にOracle Access Managementプラットフォームによって、保護されているアプリケーションのかわりにポリシーベースの決定を実行するために利用されます。ただし、コンテナ内で実行されているどのアプリケーションも、アイデンティティ・コンテキストAPIを活用することでアイデンティティ・コンテキスト・ランタイムを直接統合および使用することが可能です。使用可能なアイデンティティ・コンテキスト・データの量は、デプロイされている製品に応じて異なります。そのままで使用できるデフォルトのセットのアイデンティティ属性が用意されます。これらは主にAccess ManagerでIDアサーションを活用することで構成されます。表55-1では、これらのデフォルト属性について説明しています。次のリストは、アイデンティティ・コンテキスト・ランタイムのエンドツーエンドのフローの詳細を示しています。そのリストの下の図55-3は、フローを示しています。

プロセスの概要: アイデンティティ・コンテキスト・ランタイムのエンドツーエンドのフロー

  1. ユーザーが、保護されているアプリケーションにデバイスからアクセスします。

  2. Access Managerによって、アイデンティティがアサートされ、コンポーネントを公開する関連Access Managementからアイデンティティ属性が収集され、アイデンティティ・コンテキストが作成されます。

  3. Access Managerによって、IDアサーション(SAMLセッション・トークン)が生成され、アイデンティティ・コンテキスト属性が組み込まれます。Access Manager Identity Asserterによって、IDアサーションが処理され、OPSS属性サービスを使用してWebLogic Serverコンテナにアイデンティティ・コンテキストが公開されます。

  4. 保護されているアプリケーションによってOES PEP APIが呼び出され、認可の決定が行われます。OESによってアイデンティティ・コンテキストがローカルOES PDPに自動的に伝播されます。

  5. OESによって、適切な認可ポリシーが検索され、その条件が(アイデンティティ・コンテキスト属性に基づいて)評価されます。評価は、組込みのアイデンティティ・コンテキスト関数またはカスタム関数を使用して実行できます。

  6. 保護されているアプリケーションによって、JRF Webサービス呼出しが行われ、その中でOracle Web Service Manager (OWSM)クライアントによってSAMLトークンが使用され、アイデンティティ・コンテキストがWebサービス・アプリケーション環境に伝播されます。

  7. OWSM (Webサービス側)によってそのアイデンティティ・コンテキストでSAMLアサーションが処理され、OPSS属性サービスを使用することによってそのアイデンティティ・コンテキストがWebLogic Serverコンテナに公開されます。

  8. Webサービス・アプリケーションによってOES PEP APIが呼び出され、認可の決定が行われます。

  9. OESによってアイデンティティ・コンテキストがリモートOES PDPに自動的に伝播され、そこでアイデンティティ・コンテキスト属性に基づいた条件が、組込みのアイデンティティ・コンテキスト関数またはカスタム関数を使用して評価されます。

図55-3 アイデンティティ・コンテキストのプロセス・フロー

図55-3の説明が続きます
「図55-3 アイデンティティ・コンテキストのプロセス・フロー」の説明

CMEによって、アイデンティティ・コンテキストがアプリケーション層および基盤となるアプリケーション・サーバー・コンテナに伝播されると、そのアイデンティティ・コンテキストはコンテナおよびその中で実行されているアプリケーションから使用できるようになります。表55-2は、アイデンティティ・コンテキストを使用して動作する場合に、どのアクセス管理プラットフォーム製品によって何が実行されるのかを示しています。

表55-2 アイデンティティ・コンテキスト操作のマッピング

ロールおよびコンテキスト操作 説明 コンポーネント

パブリッシャ - アイデンティティ・コンテキストの公開

アプリケーション・コンポーネントを保護するトラステッド・セキュリティ・フレームワークは、アイデンティティまたはアイデンティティのアクセス要求、あるいはその両方に関する適切なファクトを、別のトラステッド・セキュリティ・フレームワークから取得するか、それが使用できる情報から導出します。

権限を持つコンポーネントによって収集される情報は、コンポーネントのランタイム・フレームワークで使用できる環境コンテキストに基づいています。たとえば、Access Managerによって、ユーザーの認証強度のレベルが判別され、OAAMによって特定のオンライン・セッションに関連付けられているリスク・スコアが計算され、OESSOによってクライアント・デバイスでファイアウォールが有効化されているかどうかが判別されます。

  • OAM – セッション、フェデレーション、およびアイデンティティ・スコア属性

  • OAAM – リスク属性

  • OESSO – デバイス属性

  • OMS Mobile SDK - デバイス属性

プロパゲータ - アイデンティティ・コンテキストを伝播する

トラステッド・セキュリティ・フレームワークによってアイデンティティ・コンテキスト属性が伝播され、別のアプリケーション・セキュリティ・フレームワークによって使用されるかアプリケーションによって直接使用されます。たとえば、OAAMによって、ユーザーのリスク・スコアがそのユーザーのAccess Managerセッションに伝播され、Access Managerによって、認証済ユーザーの一意のIDおよび認証レベルとともにIDアサーション(SAMLトークン)が伝播され、OWSMクライアントによって現在のアイデンティティ・コンテキストが、Webサービスに伝播され、そこで、OWSMエージェントによってWebサービス・アプリケーションでアイデンティティ・コンテキストが再構築されます。

  • OAMはWeb層とコンテナ層の間にあります

  • OWSMはWebサービス・クライアント層とWebサービス層の間にあります

  • OPSSはAccess Manager Identity AsserterまたはOWSMエージェントとWebLogic Serverコンテナの間にあります

  • OMSはOMS Mobile SDKとAccess Managerの間にあります

評価者 - アイデンティティ・コンテキストを評価する

アイデンティティ・コンテキスト属性を使用するトラステッド・セキュリティ・フレームワークまたはエンドユーザー・アプリケーションです。ポリシー決定を実行するか、アプリケーションのビジネス・ロジックをパーソナライズします。たとえば、OAAMが存在し、リスク・スコアを計算するように構成されている場合、OES内のアプリケーションの認可ポリシーによって、そのリスク・スコアが特定のしきい値未満のときにのみアクセスが許可されます。また、Access ManagerでIdentity Federationが構成されている場合、パートナが提供するアサーション(アイデンティティ・コンテキストで入手可能)が使用され、OESを使用してトランザクションへのアクセスが認可されます。

  • OAM – Web境界ポリシー

  • OWSM – Webサービス・ポリシー

  • OES – アイデンティティ・コンテキストが存在するコンテナから行われたすべてのPEP API呼出しに対するアプリケーション固有またはWLS固有ポリシーこれには、すべてのADFアプリケーション、IAMアプリケーション、カスタム・アプリケーションなどが含まれます。