Oracle® Fusion Middleware

Oracle Entitlements Server管理者ガイド

11g リリース1(11.1.1)

B65044-01(原本部品番号:E14096-05)

2012年1月

Oracle Fusion Middleware Oracle Entitlements Server管理者ガイド11gリリース1 (11.1.1)

B65044-01

Copyright © 2011,2012 Oracle and/or its affiliates.All rights reserved.

原本著者:  Michael Teger

原本協力者:

原本協力者:  Subbu Devalpalli、Michael Khalandovsky、Akila Natarajan

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007).Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション(人的傷害を発生させる可能性があるアプリケーションを含む)への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性(redundancy)、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

OracleはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

このソフトウェアおよびドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

目次

例一覧

図一覧

表一覧

タイトルおよび著作権情報

はじめに

- 対象読者

- ドキュメントのアクセシビリティについて

- 関連ドキュメント

- 表記規則

1 Oracle Entitlements Serverの概要

- 1.1 アクセス制御について

- 1.2 Oracle Entitlements Serverの概要

- 1.2.1 Oracle Entitlements Serverリリースについて

- 1.2.2 認可ポリシー・マネージャ・コンソールの使用

- 1.2.3 Oracle Entitlements Server 11gR1の機能

- 1.3 Oracle Entitlements Serverのアーキテクチャの概要

- 1.3.1 ポリシー管理ポイント

- 1.3.2 ポリシー決定ポイントとポリシー実行ポイント

- 1.3.2.1 PDPとしてのセキュリティ・モジュール

- 1.3.2.2 PDP/PEPの組合せとしてのセキュリティ・モジュール

- 1.3.2.3 セキュリティ・モジュールのタイプについて

- 1.3.3 ポリシー情報ポイント

- 1.4 Oracle Entitlements Serverの認可ポリシーの処理方法

- 1.5 サポートされているアクセス制御の標準

- 1.5.1 ロールベースのアクセス制御(RBAC)

- 1.5.2 属性ベースのアクセス制御(ABAC)

- 1.5.3 Java権限

- 1.5.4 XACML 2.0

- 1.5.5 PEP (Open Az) API

2 ポリシー・モデルについて

- 2.1 Oracle Entitlements Serverのポリシーについて

- 2.1.1 認可ポリシーについて

- 2.1.2 ロールの割当てとロール・マッピング・ポリシーについて

- 2.2 Oracle Entitlements Serverのポリシーの評価方法

- 2.3 ポリシー・オブジェクトの用語集

- 2.4 ポリシー・ユースケースの実装

- 2.4.1 ソフトウェア・コンポーネントの保護

- 2.4.2 ビジネス・オブジェクトの保護

3 Oracle Entitlements Serverの開始

- 3.1 インストール前の作業

- 3.2 グラフィカル・インタフェースについて

- 3.2.1 Oracle Entitlements Server管理者の割当て

- 3.2.2 アイデンティティ・ストアの使用

- 3.2.3 ポリシー・ストアへのアクセス

- 3.3 管理コンソールへのアクセス

- 3.3.1 管理コンソールへのサイン・イン

- 3.3.2 管理コンソールのサイン・アウト

- 3.4 管理コンソール内の移動

- 3.4.1 主なタブについて

- 3.4.1.1 「認可管理」タブ

- 3.4.1.2 「システム構成」タブ

- 3.4.2 ナビゲーション・パネルの使用

- 3.4.3 ホーム領域

- 3.4.4 オンライン・ヘルプ

4 ポリシーおよびロールの管理

- 4.1 ポリシーとポリシー・オブジェクトの管理の概要

- 4.2 認可ポリシーとそのコンポーネントの定義

- 4.3 認可ポリシーへの詳細な要素の追加

- 4.4 認可ポリシーの実装手順

- 4.5 アプリケーションのポリシー・オブジェクトの管理

- 4.5.1 アプリケーションの管理

- 4.5.1.1 アプリケーションの作成

- 4.5.1.2 アプリケーションの変更

- 4.5.1.3 アプリケーションの削除

- 4.5.2 リソース・タイプの管理

- 4.5.2.1 リソース・タイプの作成

- 4.5.2.2 リソース・タイプの変更

- 4.5.2.3 リソース・タイプの削除

- 4.5.3 リソースの管理

- 4.5.3.1 リソースの作成

- 4.5.3.2 リソースの変更

- 4.5.3.3 リソースの削除

- 4.5.4 資格の管理

- 4.5.4.1 資格の作成

- 4.5.4.2 資格の変更

- 4.5.4.3 資格の削除

- 4.5.5 認可ポリシーの管理

- 4.5.5.1 認可ポリシーの作成

- 4.5.5.2 認可ポリシーの変更

- 4.5.5.3 認可ポリシーの削除

- 4.5.6 ロール・カタログでのアプリケーション・ロールの管理

- 4.5.6.1 アプリケーション・ロールの作成

- 4.5.6.2 アプリケーション・ロールの変更

- 4.5.6.3 アプリケーション・ロールへの外部ロールのマッピング

- 4.5.6.4 外部ユーザーのアプリケーション・ロールへのマッピング

- 4.5.6.5 アプリケーション・ロールの削除または外部ロール・マッピングの削除

- 4.5.7 ロール・マッピング・ポリシーの管理

- 4.5.7.1 ロール・マッピング・ポリシーの作成

- 4.5.7.2 ロール・マッピング・ポリシーの変更

- 4.5.7.3 ロール・マッピング・ポリシーの削除

- 4.5.8 ロール・カテゴリの管理

- 4.5.9 属性および関数を拡張として管理

- 4.5.9.1 属性の作成

- 4.5.9.2 属性の変更

- 4.5.9.3 属性の削除

- 4.5.9.4 関数の作成

- 4.5.9.5 関数の変更

- 4.5.9.6 関数の削除

- 4.6 条件ビルダーの使用

- 4.6.1 複雑な式の作成

- 4.6.2 関数間でのパラメータの受渡し

5 セキュリティ・オブジェクトの問合せ

- 5.1 管理コンソールを使用した検索

- 5.2 簡易検索を使用したオブジェクトの検索

- 5.3 拡張検索を使用したオブジェクトの検索

- 5.3.1 外部ロールの検索

- 5.3.2 アプリケーションの検索

- 5.3.3 リソース・タイプの検索

- 5.3.4 アプリケーション・ロールの検索

- 5.3.5 ロール・マッピング・ポリシーの検索

- 5.3.6 リソースの検索

- 5.3.7 資格の検索

- 5.3.8 認可ポリシーの検索

- 5.3.9 属性の検索

- 5.3.10 関数の検索

6 事前定義済属性リトリーバの構成

- 6.1 事前定義済属性リトリーバについて

- 6.2 事前定義済属性リトリーバの構成

- 6.2.1 LDAPリポジトリ属性リトリーバ・パラメータの構成

- 6.2.2 データベース・リポジトリ属性リトリーバ・パラメータの構成

- 6.2.3 事前定義済属性リトリーバの個々の属性の構成

- 6.3 jps-config.xmlの変更

- 6.4 PIP接続資格証明の設定

7 ポリシー配布の管理

- 7.1 ポリシー配布について

- 7.1.1 集中ポリシー配布コンポーネントの使用

- 7.1.2 ローカル・ポリシー配布コンポーネントの使用

- 7.2 配布モードの定義

- 7.2.1 制御された配布

- 7.2.2 制御されない配布

- 7.3 ポリシーの配布

- 7.3.1 管理コンソールを使用したポリシーの配布

8 システム構成の管理

- 8.1 管理者の委任

- 8.2 セキュリティ・モジュール定義の構成

- 8.2.1 セキュリティ・モジュール定義の作成

- 8.2.2 セキュリティ・モジュールへのアプリケーションのバインド

- 8.2.3 セキュリティ・モジュールからのアプリケーションのバインド解除

- 8.2.4 セキュリティ・モジュール定義の削除

9 管理者ロールの委任

- 9.1 委任管理者について

- 9.2 範囲と粒度を使用した委任

- 9.3 アプリケーション管理の委任

- 9.3.1 アプリケーションへの委任管理者の追加

- 9.3.2 アプリケーションの委任管理者の変更または削除

- 9.4 委任するポリシー・ドメインの使用

- 9.4.1 ポリシー・ドメインの作成

- 9.4.2 ポリシー・ドメインの変更

- 9.4.3 ポリシー・ドメインの削除

- 9.5 ポリシー・ドメイン管理の委任

- 9.5.1 ポリシー・ドメインへの委任管理者の追加

- 9.5.2 ポリシー・ドメインの委任管理者の変更または削除

- 9.6 管理者ロールを使用したシステム管理者の管理

- 9.6.1 新規管理者ロールの作成

- 9.6.2 管理者ロールへの権限の割当て

- 9.6.3 管理者ロール・メンバーシップの変更

- 9.6.4 管理者ロールの削除

10 ユーザー・インタフェースのカスタマイズ

- 10.1 Authorization Policy Managerのカスタマイズ

- 10.2 ヘッダー、フッターおよびロゴのカスタマイズ

- 10.3 色のスキームのカスタマイズ

- 10.4 ログイン・ページのカスタマイズ

11 管理タスク

- 11.1 WebLogic Serverとの統合

- 11.2 監査タスクの管理

- 11.2.1 イベントの監査

- 11.2.2 監査の構成

- 11.2.3 その他の監査情報

- 11.3 ポリシーの移行

- 11.3.1 XMLからLDAPへの移行

- 11.3.2 LDAPからXMLへの移行

- 11.3.3 XMLからデータベースへの移行

- 11.3.4 データベースからXMLへの移行

- 11.4 キャッシュの構成

- 11.4.1 決定キャッシングの構成

- 11.4.2 属性キャッシングの構成

- 11.5 デバッグ

- 11.5.1 デバッグのためのロギングの構成

- 11.5.1.1 Javaセキュリティ・モジュール・デプロイメントのためのロギングの構成

- 11.5.1.2 WebLogic Serverセキュリティ・モジュール・デプロイメントのためのロギングの構成

- 11.5.2 認可ポリシーをデバッグするログの検索

- 11.5.2.1 PEPリクエスト情報の検索

- 11.5.2.2 セキュリティ・モジュールのキャッシュ構成パラメータの検索

- 11.5.2.3 プリンシパルの検索

- 11.5.2.4 リソースおよびアクションの検索

- 11.5.2.5 属性の値の検索

- 11.5.2.6 認可決定の検索

- 11.5.2.7 義務の値の検索

- 11.5.2.8 静的アプリケーション・ロールの検索

- 11.5.3 ポリシー配布のデバッグ

A インストール・パラメータおよび構成パラメータ

- A.1 ポリシー配布構成

- A.1.1 ポリシー配布コンポーネントのサーバー構成

- A.1.2 ポリシー配布コンポーネントのクライアント構成

- A.1.2.1 ポリシー配布コンポーネントのクライアントJava Standard Edition構成(制御プッシュ・モード)

- A.1.2.2 ポリシー配布コンポーネントのクライアントJava Enterprise Editionコンテナ構成(制御プッシュ・モード)

- A.1.2.3 ポリシー配布のクライアント構成(制御プル・モード)

- A.1.2.4 ポリシー配布のクライアント構成(非制御モード)

- A.2 セキュリティ・モジュール構成

- A.2.1 Javaセキュリティ・モジュール

- A.2.2 Webサービス・セキュリティ・モジュール

- A.2.3 RMIセキュリティ・モジュール

- A.2.4 WebLogic Serverセキュリティ・モジュール

- A.3 PDPプロキシ構成

- A.3.1 Webサービス・セキュリティ・モジュールのプロキシ・クライアント

- A.3.2 RMIセキュリティ・モジュールのプロキシ・クライアント

- A.4 ポリシー・ストア・サービス構成

索引

例一覧

- 6-1 属性リトリーバに定義されるリポジトリ接続情報

- 6-2 属性リトリーバに定義される属性問合せ情報

- 6-3 jps-config.xmlのサンプル・ファイル

- 6-4 事前定義済属性リトリーバの宣言

- 6-5 事前定義済LDAP属性リトリーバの使用

- 6-6 JDBCでの事前定義済RDBMS属性リトリーバの使用

- 6-7 SQLでの事前定義済RDBMS属性リトリーバの使用

- 6-8 jpsContextでの事前定義済属性リトリーバの宣言

- 6-9 属性のキャッシュの有効化

- 6-10 LDAPフェイルオーバーの構成

- 11-1 jps-config.xmlでの監査サービスの構成パラメータ

- 11-2 ソースおよび宛先のポリシー・ストアのためのXMLからLDAPへのserviceInstance

- 11-3 ブートストラップ資格証明のためのXMLからLDAPへのserviceInstance

- 11-4 ソースおよび宛先のポリシー・ストアのためのXMLからLDAPへのjpsContext

- 11-5 ソースおよび宛先のポリシー・ストアのためのLDAPからXMLへのserviceInstance

- 11-6 ブートストラップ資格証明のためのLDAPからXMLへのserviceInstance

- 11-7 ソースおよび宛先のポリシー・ストアのためのLDAPからXMLへのjpsContext

- 11-8 ソースおよび宛先のポリシー・ストアのためのXMLからデータベースへのserviceInstance

- 11-9 ブートストラップ資格証明のためのXMLからデータベースへのserviceInstance

- 11-10 ソースおよび宛先のポリシー・ストアのためのXMLからデータベースへのjpsContext

- 11-11 ソースおよび宛先のポリシー・ストアのためのデータベースからXMLへのserviceInstance

- 11-12 ブートストラップ資格証明のためのデータベースからXMLへのserviceInstance

- 11-13 ソースおよび宛先のポリシー・ストアのためのデータベースからXMLへのjpsContext

- 11-14 決定キャッシングを構成するXML

- 11-15 属性キャッシングを構成するXML

- 11-16 管理コンソール・ロギングのための構成

- 11-17 ファイル・ロギングのための構成

- 11-18 キャッシュ構成パラメータ検索でのサンプル出力

- 11-19 プリンシパル検索でのサンプル出力

- 11-20 リソースおよびアクション検索でのサンプル出力

- 11-21 属性検索の値のサンプル出力

- 11-22 認可決定検索でのサンプル出力

- 11-23 義務の値検索でのサンプル出力

- 11-24 静的ロール検索でのサンプル出力

図一覧

- 1-1 Oracle Entitlements Serverのコンポーネント

- 1-2 Oracle Entitlements Server PAPアーキテクチャ

- 1-3 PEPとして動作するアプリケーションがPDPからの決定をリクエスト

- 1-4 PEPとして動作するエージェントがリクエストをインターセプトし決定を下す

- 1-5 PDPおよびPEPとしてのセキュリティ・モジュール

- 1-6 セキュリティ・モジュールのアーキテクチャ

- 1-7 ポリシー認可プロセスでのデータの流れ

- 2-1 認可ポリシー・オブジェクトにマップされたポリシー・コンポーネント

- 2-2 ロール・マッピング・ポリシー・オブジェクトにマップされたポリシー・コンポーネント

- 2-3 ソフトウェア・コンポーネントとビジネス・オブジェクトのユースケース

- 3-1 「認証プロバイダ」タブ

- 3-2 SUFFICIENT「制御フラグ」

- 3-3 WebLogic ServerコンソールのDefaultAuthentciatorのタブ

- 3-4 管理コンソールの「サインイン」ページ

- 3-5 管理コンソールの「サインアウト」リンク

- 3-6 Oracle Entitlements Server管理コンソール

- 3-7 「認可管理」タブ

- 3-8 「システム構成」タブ

- 3-9 折りたたまれたノードを含むナビゲーション・パネルの「参照」タブ

- 3-10 ナビゲーション・パネルの「検索」タブ

- 3-11 ホーム領域

- 4-1 条件ビルダー

- 4-2 オペランド値タブ

- 4-3 リテラルの条件への追加

- 4-4 関数の追加

- 5-1 ポップアップ検索ボックス

- 5-2 ナビゲーション・パネルの簡易検索のフィールド

- 5-3 リソース・タイプの検索

- 5-4 リソース・タイプの検索結果

- 5-5 ロール・カタログでのアプリケーション・ロールの検索

- 5-6 アプリケーション・ロールの検索結果

- 5-7 ロール・マッピング・ポリシーの検索

- 5-8 ロール・マッピング・ポリシーの検索結果

- 5-9 リソースの検索

- 5-10 資格の検索

- 5-11 ポリシーの検索

- 5-12 ターゲットによるポリシーの検索

- 7-1 Oracle Entitlements Serverポリシー配布コンポーネントの使用

- 7-2 セキュリティ・モジュール・ポリシー配布コンポーネントの使用

- 8-1 「ホーム」領域のセキュリティ・モジュール

- 9-1 管理ロールの編集ポップアップ画面

- 11-1 WebLogic Serverドメインのレルムへのプロバイダの追加

表一覧

- 6-1 LDAP属性リトリーバ・パラメータ

- 6-2 RDBMS属性リトリーバ・パラメータ

- 6-3 取得する属性の構成

- 11-1 Oracle Entitlements Serverで監査されるイベント

- 11-2 jps-config.xmlでの監査パラメータ

- 11-3 決定キャッシング・パラメータ

- A-1 ポリシー配布のサーバー構成

- A-2 ポリシー配布のクライアント構成、JSE、制御プッシュ・モード

- A-3 ポリシー配布のクライアント構成、JEE、制御プッシュ・モード

- A-4 ポリシー配布のクライアント構成、制御プル・モード

- A-5 ポリシー配布のクライアント構成、非制御モード

- A-6 Javaセキュリティ・モジュールの構成パラメータ

- A-7 Webサービス・セキュリティ・モジュールの構成パラメータ

- A-8 RMIセキュリティ・モジュールの構成パラメータ

- A-9 WebLogic Serverセキュリティ・モジュールの構成パラメータ

- A-10 Webサービス・プロキシ・クライアントの構成パラメータ

- A-11 PDP RMIプロキシ・クライアントの構成パラメータ

- A-12 ポリシー・ストア・サービスの構成パラメータ

はじめに

『Oracle Fusion Middleware Oracle Entitlements Server管理者ガイド』には、Oracle Entitlements Server管理コンソールを使用した、システム構成管理およびポリシー・オブジェクトの管理に関する情報が記載されています。バック・エンド・ファイルを使用した手動構成についても記載されています。

対象読者

このガイドの対象読者は、セキュリティ管理者です。

ドキュメントのアクセシビリティについて

オラクル社は、障害のあるお客様にもオラクル社の製品、サービスおよびサポート・ドキュメントを簡単にご利用いただけることを目標としています。オラクル社のドキュメントには、ユーザーが障害支援技術を使用して情報を利用できる機能が組み込まれています。HTML形式のドキュメントで用意されており、障害のあるお客様が簡単にアクセスできるようにマークアップされています。標準規格は改善されつつあり、オラクル社はドキュメントをすべてのお客様がご利用できるように、市場をリードする他の技術ベンダーと積極的に連携して技術的な問題に対応しています。Oracleのアクセシビリティの詳細情報は、Oracle Accessibility ProgramのWebサイトhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=docaccを参照してください。

ドキュメント内のサンプル・コードのアクセシビリティについて

スクリーン・リーダーは、ドキュメント内のサンプル・コードを正確に読めない場合があります。コード表記規則では閉じ括弧のみを行に記述する必要があります。しかし、一部のスクリーン・リーダーは括弧のみの行を読まない場合があります。

外部Webサイトのドキュメントのアクセシビリティについて

このドキュメントにはオラクル社およびその関連会社が所有または管理しないWebサイトへのリンクが含まれている場合があります。オラクル社およびその関連会社は、それらのWebサイトのアクセシビリティに関しての評価や言及は行っておりません。

Oracleサポートへのアクセス

Oracleカスタマは、My Oracle Supportから電子サポートにアクセスできます。詳細情報はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=infoか、聴覚に障害のあるお客様はhttp://www.oracle.com/pls/topic/lookup?ctx=acc&id=trsを参照してください。

関連ドキュメント

詳細は、次のドキュメントを参照してください。

- 『Oracle Fusion Middleware Oracle Entitlements Server開発者ガイド』

- 『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』

- Oracle Fusion Middlewareのリリース・ノート

- 『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』

- 『Oracle Fusion Middleware高可用性ガイド』

- Oracle Fusion Middleware Oracle Access Manager統合ガイド

- 『Oracle Fusion Middleware Oracle WebLogic Serverの保護』

- Oracle Fusion Middleware管理者ガイド

表記規則

このマニュアルでは次の表記規則を使用します。

規則

意味

太字

太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。

イタリック体

イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。

固定幅フォント

固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。

1 Oracle Entitlements Serverの概要

この章では、Oracle Entitlements Server 11gR1の機能とアーキテクチャの概要について説明します。この章には次の項目があります。

- 1.1項「アクセス制御について」

- 1.2項「Oracle Entitlements Serverの概要」

- 1.3項「Oracle Entitlements Serverのアーキテクチャの概要」

- 1.4項「Oracle Entitlements Serverの認可ポリシーの処理方法」

- 1.5項「サポートされているアクセス制御の標準」

1.1 アクセス制御について

アクセス制御は、企業の情報、システムまたはリソースへのアクセス権を付与または拒否するのに使用するシステムです。このドキュメントの目的として、保護されているエンティティは保護リソース、アクセス権が付与または拒否されるエンティティはサブジェクト(ほとんどの場合現実の人)と呼ばれます。ポリシーはサブジェクトと、サブジェクトが保護リソース内で表示および実行できる内容を決定する操作のセットを一致させます。保護される操作はリソースのタイプにより異なります。たとえば、テキスト・ファイルに付加される保護される操作(読取り、変更、削除)は、銀行アプリケーションに付加できる操作(口座の表示、送金、プロファイルの変更)とは異なります。

アクセス制御は、認可されたサブジェクトだけが保護リソースにアクセスできることを保証するので、許可されていないまたは不注意によるリソースの変更を防止します。サブジェクトの認可は通常、認証の後に発生します。一般的に、アクセス制御システムは次の2種類の認可から構成されます。

- 大まかな認可は、主に悪影響のあるものを侵入させないようにすることに焦点を当てた技術を使用する境界認証です。通常、これは認可コールを作成するアプリケーション外のインターセプタにより実行されます。サブジェクトのリクエスタに関するポリシーとURLが考慮されます。

- きめ細かな認可は、より詳細で、主に、認可コールを作成するアプリケーションにより制御されます。保護リソースのURLとその構成済のポリシーが、リソース特有またはユーザー属性の情報、およびリクエストのコンテキストなどとともに考慮されます。たとえば、従業員に通常の営業時間中はポータルへのアクセス権を付与し、週末のアクセス権は拒否するには、きめ細やかな認可が必要です。

したがって、アクセス制御システムは、管理しやすいながらも、アクセス権を付与(または拒否)できる複雑な条件のセットを許可できる、ポリシー・モデルをサポートする必要があります。Oracle Entitlements Serverは、ソフトウェア・コンポーネントおよびアプリケーション・ビジネス・オブジェクトを含む、あらゆるタイプのリソースに対する集中または分散アクセス制御の実行を伴う集中ポリシー管理を提供します。

1.2 Oracle Entitlements Serverの概要

Oracle Entitlements Serverはきめ細やかな認可製品で、これにより組織はリソースへのアクセスと使用を制御するポリシーを定義して管理することで、そのリソースを保護することができます。アクセス権限は、誰が、どのリソースに、いつ、どのように行うことができるかを指定することにより、ポリシーに定義されます。ポリシーでは、ソフトウェア・コンポーネント(URL、Javaサーバー・ページ、Enterprise JavaBeans、メソッド、サーブレッド、およびアプリケーションの構築に使用されるもの)、ビジネス・オブジェクト(銀行アプリケーションでの銀行口座や医療アプリケーションでの患者レコード、ビジネス関係の定義に使用されるものなどの、ユーザー・アカウントの表現、個人プロファイル、契約)を含む、あらゆるタイプのリソースの制御を実行できます。

Oracle Entitlements Serverでは、ロール・ポリシーおよびアクセス制御ポリシーの作成がサポートされます。ロール・ポリシーはユーザーが割り当てられたロールに関する制約を定義するのに使用されます(これはエンタープライズ・グループを使用して直接的または間接的に行われます)。アクセス制御ポリシーはソフトウェア・コンポーネントおよびビジネス・オブジェクトへのアクセスを定義します。次の各項には、前のリリースのOracle Entitlements Serverの情報とこのリリースであるOracle Entitlements Server 11gR1で開発された機能が含まれています。

- 1.2.1項「Oracle Entitlements Serverリリースについて」

- 1.2.2項「認可ポリシー・マネージャ・コンソールの使用」

- 1.2.3項「Oracle Entitlements Server 11gR1の機能」

1.2.1 Oracle Entitlements Serverリリースについて

Oracle Entitlements Server 11gR1はOracle Platform Security ServicesとOracle Entitlements Server 10g (以前のBEA AquaLogic Enterprise Security)の統合を表しています。Oracle Platform Security ServicesがJava認証および認可サービス(JAAS)セキュリティ・プロバイダで、大まかな認可を提供するのに対し、Oracle Entitlements Server 11gR1はJava Standard Edition (SE)およびEnterprise Edition (EE)、サービス指向アーキテクチャ(SOA)、.NETなどの複数のテクノロジを含む、エンドツーエンドのエンタープライズ・ソリューションです。Oracle Entitlements Server 11gR1では、認可リクエストのコンテキストが提供されてそれに基づきアクセス権が付与または拒否される、きめ細やかな認可が提供されます。Oracle Entitlements Server 11gR1の中心機能はeXtensible Access Control Markup Language (XACML)仕様に基づいています。

1.2.2 認可ポリシー・マネージャ・コンソールの使用

このリリースでは、認可ポリシー・マネージャがOracle Entitlements Serverの管理コンソールです。Oracle Entitlements Serverのドキュメント・セットの目的では、認可ポリシー・マネージャとさまざまなOracle Entitlements Server Administration Console (管理コンソールおよび同類のコンソールなど)は区別しないで使用されます。

注意:

Oracle Entitlements ServerはOracle Authorization Policy Manager製品としてリリースされた製品の機能を含むためのものではありません。このドキュメント・セットでは、認可ポリシー・マネージャは単に管理コンソールのことです。

1.2.3 Oracle Entitlements Server 11gR1の機能

Oracle Entitlements Server 11gR1では、異機種間アプリケーション環境での、きめ細やかな認可と、集中化された資格管理が提供されます。さらにOracle Entitlements Serverでは、次のものが実行されます。

- 管理サーバーから決定エンドポイントへのポリシーの配布。

- パフォーマンスのためのポリシーと認可決定のキャッシュ。

- 実行時のセキュリティ・ポリシーの更新。

- 埋込みおよびリモートの決定ポイントの両方をサポートする柔軟なアーキテクチャの提供(集中または分散ポリシー決定のため)。

- セキュリティの決定とアプリケーション・ロジックの分離。

- すべてのアクセス決定と管理操作の監査。

- 認可の照会用のeXtensible Access Control Markup Language (XACML)リクエスト/レスポンス・プロトコルのサポート。

- リレーショナル・データベースおよびLDAPディレクトリのエンタープライズ・データの活用による、既存のセキュリティとアイデンティティ・システムの統合。

1.3 Oracle Entitlements Serverのアーキテクチャの概要

高レベルから、Oracle Entitlements Serverは、集中または分散ポリシー決定を伴う集中ポリシー管理から構成されます。Oracle Entitlements ServerのアーキテクチャはXACML仕様で検討されたエンティティの相互作用モデルに基づきます。このモデルは、多くのコンポーネントおよびデプロイメントに適用できる柔軟なアーキテクチャを提供するエンティティを定義します。図1-1に、Oracle Entitlements Serverのコンポーネントを示します。各コンポーネントはXACMLエンティティの1つに対応します。

図1-1 Oracle Entitlements Serverのコンポーネント

次の各項には、Oracle Entitlements Serverコンポーネントの情報とコンポーネントがXACMLエンティティに準拠する方法が含まれています。

- 1.3.1項「ポリシー管理ポイント」

- 1.3.2項「ポリシー決定ポイントとポリシー実行ポイント」

- 1.3.3項「ポリシー情報ポイント」

1.3.1 ポリシー管理ポイント

ポリシー管理ポイント(PAP)は特定の保護リソースを保護するのに使用されるポリシーが作成され管理される場所です(図1-1では、管理サーバーおよび管理APIがPAPを表します)。エンティティが保護リソースへのアクセスのリクエストに対する付与または拒否の決定を行うために、PAPはこれらのルールをポリシー決定ポイントが使用できるようにします。Oracle Entitlements Server PAPは管理コンソール、管理アプリケーション・プログラミング・インタフェース(API)および管理コマンドライン・ユーティリティから構成されます。図1-2にこれらの管理ツールのアーキテクチャを示します。

図1-2 Oracle Entitlements Server PAPアーキテクチャ

1.3.2 ポリシー決定ポイントとポリシー実行ポイント

Oracle Entitlements Serverがデプロイされると、ポリシー決定ポイント(PDP)は認可のリクエストを受信し、適用できるポリシーに基づいて評価して決定し、その決定をポリシー決定ポイント(PEP)である、最初に認可コールを作成したエンティティに返します。

注意:

PDPは追加のサブジェクト、リソース、アクション、および環境属性をポリシー情報ポイントから取得して、コンテキスト情報をリクエストに追加することもできます。詳細は、1.3.3項「ポリシー情報ポイント」を参照してください。

次にPEPが決定を実行します。PEPは保護アプリケーションへのリクエストをインターセプトし、それをPDPへ渡して、PDPから返されたセキュリティの決定を実行するソフトウェア・コンポーネントです。このソフトウェア・コンポーネントは保護アプリケーション自体またはセキュリティ・モジュールである可能性があります。PEPは必ずJave Standard Enterprise (JSE)アプリケーションまたはJava Enterprise Edition (JEE) Webコンテナに統合されています。

注意:

PDPは決定(義務と呼ばれます)とともに、特定のコンテキスト内で決定を実行できる情報を戻すこともあります。アプリケーションはこれらの義務での動作を実行しません。詳細は、『Oracle Fusion Middleware Oracle Entitlements Server開発者ガイド』を参照してください。

Oracle Entitlements Serverでは2つのタイプのセキュリティ・モジュールが提供されます。1つのタイプでは、リクエストを受信し決定を下すことで単にPDPとして動作します。もう1つのタイプでは、このPDP機能とPEPの機能が組み合わされます。次の各項では、セキュリティ・モジュールの動作方法を説明します。

- 1.3.2.1項「PDPとしてのセキュリティ・モジュール」

- 1.3.2.2項「PDP/PEPの組合せとしてのセキュリティ・モジュール」

- 1.3.2.3項「セキュリティ・モジュールのタイプについて」

1.3.2.1 PDPとしてのセキュリティ・モジュール

セキュリティ・モジュールが単にPDPとして動作する場合、その唯一の機能は意思決定です。認可リクエストを受信し、その決定を認可コールの作成元のPEPへ返します。セキュリティ・モジュールが単にPDPとして動作する場合、外部エンティティはPEPとして動作、つまり認可コールを作成し、返された決定を実行する必要があります。

図1-3に、コールを作成しているPEPエンティティがリソース(アプリケーション)そのものである場合の処理を示します。アクセスのリクエストを受信し、認可を開始して(セキュリティ・モジュールとの通信を介して)、返された決定を実行します。

図1-3 PEPとして動作するアプリケーションがPDPからの決定をリクエスト

図1-4に、PEPエンティティが、アプリケーションに到達する前にリクエストをインターセプトするエージェントまたはプラグイン(または同様のソフトウェア・コンポーネント)である場合の処理を示します。ソフトウェアコンポーネントはアクセスのリクエストをインターセプトし、認可を開始して(セキュリティ・モジュールとの通信を介して)、セキュリティ・モジュールから返された決定をアプリケーションに転送します。

図1-4 PEPとして動作するエージェントがリクエストをインターセプトし決定を下す

これらのシナリオは連携して柔軟な認可サービスを提供することができます。たとえば、中間Webサービス/XMLゲートウェイはサブジェクトのポータルへのアクセスに対する認可決定をリクエストできます。この最初の決定が許可だと仮定すると、Webサービス/XMLゲートウェイ自体は、アクセス権を付与されたユーザー用にポータルをパーソナライズするのに使用される、次の認可決定をリクエストできます。

1.3.2.2 PDP/PEPの組合せとしてのセキュリティ・モジュール

セキュリティ・モジュールがPDPとPEPとしてタンデムで動作する場合、認可リクエストをインターセプトし、決定を下し、決定を実行します。このリリースのOracle Entitlements Serverでは、このように動作する1つのセキュリティ・モジュールであるWebLogic Serverセキュリティ・モジュールがあります。

WebLogic Serverセキュリティ・モジュールは、保護アプリケーションを実行するOracle WebLogic Serverコンテナに直接接続し、自動的に認可をリクエストします。このシナリオでは、サブジェクト開始のアプリケーションへのリクエストは認可のためにWebLogic Serverによりインターセプトされます。WebLogic Serverは正常な認可後、セキュリティ・モジュールのインストール中に構成された認可プロバイダのセットへのコールを作成することで、リクエストを認可しようとします。

注意:

Oracle WebLogic Serverの詳細は、Oracle WebLogic Serverドキュメント・ライブラリ(http://download.oracle.com/docs/cd/E21764_01/wls.htm)を参照してください。

ロール・マッピングおよび認可プロキシ・プロバイダはOracle Entitlements Server認可エンジンと通信します(PEP APIをコールし、次にそれがPDPをコール)。PDPは決定を計算し、その決定をPEPへ返します。PEPは適切な応答をWebLogic Serverに返します(オプションで、PDPは決定とともに義務を返すこともあります)。アクセスが拒否された場合、WebLogic Serverはセキュリティ例外をスローし、アクセスを防ぎます。アクセスが許可された場合、WebLogic Serverはアクセスを許可します。図1-5に、このシナリオを示します。

図1-5 PDPおよびPEPとしてのセキュリティ・モジュール

プロバイダを使用する利点は、きめ細やかなレベルの認可を行えることです。たとえば、プロバイダを使用して、サーブレット自体は追加のPEP APIコールを作成して、返されたページでレンダリングされる要素を決定できるようにしながら、サーブレットURLへのアクセスを保護できます。デフォルトでは、ロール・マッピングおよび認可プロキシ・プロバイダは有効ではありません。

注意:

WebLogic Serverコンソールを使用して認可プロバイダを有効にする手順については、11.1項「WebLogic Serverとの統合」を参照してください。構成後パラメータはA.2.4項「WebLogic Serverセキュリティ・モジュール」に記載されています。

前の段落の例に示したように、WebLogic Serverにより保護されたアプリケーションは、1.3.2.1項「PDPとしてのセキュリティ・モジュール」で説明したのと同様の目的で、PEP API (図1-3「PEPとして動作するアプリケーションがPDPからの決定をリクエスト」で説明)を使用して、依然としてOracle Entitlements Serverに直接コールすることができます。

1.3.2.3 セキュリティ・モジュールのタイプについて

図1-6にさまざまなタイプのセキュリティ・モジュールがどのように開発されたかについて示します。

図1-6 セキュリティ・モジュールのアーキテクチャ

このトポロジに基づき、セキュリティ・モジュールのサービスはいくつかの方法で起動できます。

- Javaセキュリティ・モジュールは一般的なPDPで、Java APIを使用して認可の決定を行います。このセキュリティ・モジュールは次のコンテナでサポートされます。

- Java, Standard Edition (JSE)

- WebSphere

- JBoss

- マルチプロトコル・セキュリティ・モジュールは一般的なJavaセキュリティ・モジュールを含む(サービス指向アーキテクチャ原則に基づく)認可サービスです。RMI、Web ServicesおよびXACML (リクエストとレスポンス)を使用して認可の決定を行います。マルチプロトコル・セキュリティ・モジュールは通常、アプリケーションをホストしている個別のマシンではなく中央のサービスにデプロイされます。

注意:

図1-4「PEPとして動作するエージェントがリクエストをインターセプトして決定を下す」は、XMLゲートウェイを使用するマルチプロトコル・セキュリティ・モジュールと同様の動作をします。リクエストをインターセプトし、宛先に送信する前に、認可を実行します。

- WebLogicセキュリティ・モジュールはPDPとPEPの両方を含む特注のJavaセキュリティ・モジュールです。明示的な認可APIコールを必要とせずに、WebLogic Serverから直接リクエストを受信できます。WebLogic Serverコンテナでのみ実行されます。

注意:

中央PDPとしてのセキュリティ・モジュールはRMI、Webサービス、またはXACMLコールでサポートされますが、Oracle Entitlements Serverとセキュリティ・モジュールは同じWebLogic Serverドメインには存在できません。

認可の決定のリクエストと、セキュリティ・モジュールがポリシー配布サービスを使用してポリシー情報を更新する方法の詳細は、『Oracle Fusion Middleware Oracle Entitlements Server開発者ガイド』を参照してください。

1.3.3 ポリシー情報ポイント

XACML仕様で定義されているように、ポリシー情報ポイント(PIP)はデータ・リポジトリであり、認可の決定用にポリシーを評価するときに使用するために取得される情報のソースです。これにより、属性の値がアクセスの決定に影響を与えることができるという点で、ポリシーがデータ駆動となることができます。たとえば、銀行口座からの送金へのアクセスが現在口座にある金額に基づく場合、属性リトリーバ・コンポーネントを使用して現在の残高を取得できます。

Oracle Entitlements Serverデプロイメントでは、属性リトリーバ・コンポーネントがPIPの役目を果たすので、PIPと属性リトリーバ・コンポーネントという用語は区別しないで使用されます。図1-1「Oracle Entitlements Serverのコンポーネント」に示した属性権限コンポーネントがPIPと考えられます。属性リトリーバ・コンポーネントは、LDAPとリレーショナル・データベースのデータ・ソースの両方で即時使用可能です。属性リトリーバ・コンポーネントの詳細は、『Oracle Fusion Middleware Oracle Entitlements Server開発者ガイド』を参照してください。

1.4 Oracle Entitlements Serverの認可ポリシーの処理方法

Oracle Entitlements Serverの認可プロセスには、1.3項「Oracle Entitlements Serverのアーキテクチャの概要」で説明したコンポーネントが含まれます。ポリシーの決定がリクエストされると、PDPはリクエストに関連するすべてのポリシーを評価し、付与または拒否の決定をコールしたアプリケーションに返します。図1-7にポリシー認可プロセスでのデータの流れを示します。

図1-7 ポリシー認可プロセスでのデータの流れ

1. Oracle Entitlements Server (PAPとして動作)を使用して特定のリソースを保護するポリシーを作成および管理します。

2. ポリシー・リポジトリ内のポリシーは、ポリシー配布サービスにより、PDPに対してローカルであるポリシー・キャッシュにプッシュされます。PDPはポリシーをこのキャッシュから読み取ります。詳細は、『Oracle Fusion Middleware Oracle Entitlements Server開発者ガイド』を参照してください。

3. リソースへのリクエストはそれを保護しているPEPにより受信されます。PEPはアプリケーション自体またはセキュリティ・モジュールである可能性があります。どちらであってもOracle Entitlements Serverへの認可コールを作成します。

4. PEPはPDPへの認可コールを作成します。

5. セキュリティ・モジュールPDPは適切なデータ・ソースRIPからの追加のサブジェクト、リソース、アクション、および環境属性を問い合せます。

6. セキュリティ・モジュールPDPはリクエストを評価し、アクセスを付与または拒否する認証の決定の形式で、応答(および適用できる義務)をPEPに返します。

7. PEPは適用できる場合には義務を遂行します。義務は、決定とともに返される情報で、それに基づいてPEPは動作するまたは動作しない可能性があります。たとえば、義務には拒否する決定に関する追加情報が含まれていることがあります。PEPエンティティはその設定に基づき義務の遂行を担当します。Oracle Entitlements Serverはポリシー構成に基づき義務の転送のみを担当します。

8. アクセスが許可された場合、PEPは要求元にリソースへのアクセスを付与します。そうでない場合、アクセスは拒否されます。

2.2項「Oracle Entitlements Serverのポリシーの評価方法」に詳細が記載されています。

1.5 サポートされるアクセス制御の標準について

Oracle Entitlements Serverでは多くのアクセス制御モデルがサポートされます。多くのアクセス制御製品はこれらのモデルのうち1つのみをサポートしますが、Oracle Entitlements Serverでは、これらの多くをサポートする柔軟性を備えたポリシー・モデルが実装されています。厳密に1つのモデルに基づいて、または異なるモデルの一部を組み合わせて、デプロイすることができます。次の各項では、アクセス制御モデルについて説明します。

- 1.5.1項「ロールベースのアクセス制御(RBAC)」

- 1.5.2項「属性ベースのアクセス制御(ABAC)」

- 1.5.3項「Java権限」

- 1.5.4項「XACML 2.0」

- 1.5.5項「PEP (Open Az) API」

1.5.1 ロールベースのアクセス制御(RBAC)

ロールベースのアクセス制御(RBAC)認可モデルはロールを使用してユーザーの権限を定義します。最初にロールが作成されます。次に特定の操作を実行するための権限がロールに割り当てられ、最後にユーザーまたはエンタープライズ・グループがロールに割り当てられます。ロールの割当てにより、割当て先は割り当てられた操作を実行する権限を取得します。つまり、RBACにより、個別の権限の管理は単に適切なロールを適切なエンティティに割り当てるという問題になります。ロール同士を階層内で結合させて、より高いレベルのロールに下位ロールが所有する権限を含めることもできます。アプリケーション・ロールはRBACに基づくOracle Entitlements Serverデプロイメントをモデル化するときに使用されます。

1.5.2 属性ベースのアクセス制御(ABAC)

属性ベースのアクセス制御(ABAC)では属性を使用してきめ細やかな認可を定義する機能が提供されます。ロールを作成する必要はありません。ABACポリシーは、ユーザーにアクセス権を付与する前に満たす必要のある、ユーザーが特定の年齢である必要があるといった、1つまたは複数のクレームを指定します。ユーザーがこのクレームを証明できれば、アクセス権が付与されます。

ヒント:

ABACに基づくOracle Entitlements Serverのデプロイメントをモデリングするときには制約が使用されます。詳細は、『Oracle Fusion Middleware Oracle Entitlements Server開発者ガイド』を参照してください。

1.5.3 Java権限

Oracle Entitlements ServerはOracle Platform Security Services (OPSS)の拡張として構築されています。OPSSセキュリティ・モデルはJava Authentication and Authorization Service (JAAS)キュリティに基づいています。JAASでは原理ベースおよびコード・ベースのポリシーをサポートするJavaベースのセキュリティ標準を実装する、権限ベースの認可システムが導入されます。Java権限オブジェクトはリソースをアクセスする権限を示します。たとえば、次のコードは、/tmpディレクトリのabcという名前のファイルへの読取りアクセス権を示すFilePermissionオブジェクトを作成します。

perm = new java.io.FilePermission("/tmp/abc", "read");

Oracle Entitlements Server 11g R1はJava Development Kitのdeveloperバージョン1.6 (Standard EditionまたはEnterprise Editionプラットフォームのいずれも)をサポートします。

詳細は、Javaのドキュメント(http://www.oracle.com/technetwork/indexes/documentation/index.html)を参照してください。

1.5.4 XACML 2.0

eXtensible Access Control Markup Language (XACML)はポリシーを解釈する方法とアクセス制御ポリシー言語(XMLを使用して記述)について説明するアクセス制御モデルです。Oracle Entitlements ServerはXACML 2.0リクエストとレスポンスの標準をアーキテクチャ・モデルと同様に(1.3項「Oracle Entitlements Serverアーキテクチャの概要」で説明)実装します。また、XACMLでポリシーを原理、リソース、アクションおよび属性の集合として定義する方法も実装します。詳細は、XACML仕様を参照してください(http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml)。

1.5.5 PEP (Open Az) API

Oracle Entitlements ServerはOpen Azフレームワーク(http://www.openliberty.org)の一部であるPEP決定APIを実装しています。org.openliberty.openaz.azapiパッケージでは、PEPからリモートまたは埋込みPDPへのアクセスが提供されます。org.openliberty.openaz.azapi.pepパッケージ(PEP API)は、PEPにより使用されて認可リクエストをPDPに送信するように、Oracle Entitlements Serverにより実装されています。Open Az APIの詳細は、http://openaz.svn.sourceforge.net/viewvc/openaz/test/doc/index.html?org/openliberty/openaz/azapi/pep/package-summary.htmlを参照してください。PEP APIの実装の詳細は、『Oracle Fusion Middleware Oracle Entitlements Server開発者ガイド』を参照してください。

注意:

Oracle Entitlements Serverにより実装されているので、PEP APIはJava権限により保護されたリソースの認可決定はサポートしません。

2 ポリシー・モデルについて

ポリシーには、特定の保護リソースへのアクセスをリクエスト側に付与する、または特定のロールに割り当てるために満たす必要のある条件を指定します。この章では、ポリシーを構成する要素であるOracle Entitlements Serverのポリシー・モデルの概要と、その要素のポリシー・ストアでの構成について説明します。この章には次の項目があります。

- 2.1項「Oracle Entitlements Serverのポリシーについて」

- 2.2項「Oracle Entitlements Serverのポリシーの評価方法」

- 2.3「ポリシー・オブジェクトの用語集」

- 2.4項「ポリシー・ユースケースの実装」

2.1 Oracle Entitlements Serverのポリシーについて

Oracle Entitlements Serverでは次のタイプのポリシーの作成がサポートされます。参照先の項には、ポリシー・タイプに関する詳細がその使用法とともに含まれています。

- 認可ポリシーは組織のリソースへのアクセスを制御するルールを定義します。2.1.1項「認可ポリシーについて」を参照してください。

注意:

リソースにはソフトウェア・コンポーネントやビジネス・オブジェクトがあります。詳細は、2.4項「ポリシー・ユースケースの実装」を参照してください。

- ロール・マッピング・ポリシーには、プリンシパル・ユーザーへのロール・メンバーシップの付与または拒否を制御するルールを定義します。2.1.2項「ロールの割当てとロール・マッピング・ポリシーについて」

2.1.1 認可ポリシーについて

認可ポリシーは、リクエストしているユーザーのプロファイルに基づき特定のリソースへのアクセス権を付与または拒否するために作成されます。高いレベルから、認可ポリシーは、結果(付与または拒否)、プリンシパル(リクエストしているユーザー)、ターゲット・リソース、リソースに許可されたアクション、およびオプションの条件間の関係を定義します。認可ポリシーは、リクエストのパラメータがポリシーに指定したものと一致した場合に、アクセスのリクエストに適用できます。次の認可ポリシーの定義を考えてみます。

GRANT the SupportManagerEast role MODIFY access to the Incidents servlet
if the request is made from an IP address of 229.188.21.21

この認可ポリシーでは、SupportManagerEastロールのメンバーであるユーザーに、インシデント・サーブレットへの変更目的のアクセス権を付与します。このポリシーには、IPアドレス229.188.21.21からのリクエストに限られるという条件による制約もあります。したがって、リクエストのパラメータがポリシーのパラメータと一致し(SupportManagerEastロールのメンバーがインシデント・サーブレットを変更する)、リクエストがIPアドレス229.188.21.21から出された場合、リクエストは許可されます。リクエストのパラメータがポリシーのパラメータと一致した(SupportManagerEastロールのメンバーがインシデント・サーブレットを変更する)が、リクエストがIPアドレス229.188.21.21から出されていない場合、リクエストは無視されます。次の用語と値のリストは、ポリシー定義から抽出されたもので、認可ポリシーのコンポーネントを構成します。

- 結果: 付与

- アクション: 変更

- ターゲット・リソース: インシデント・サーブレット

- プリンシパル: SupportManagerEastロールのメンバー

- 条件: IPアドレス229.188.21.21

図2-1に、このポリシーのコンポーネントの、Oracle Entitlements Server認可ポリシー・オブジェクトへのマップ方法を示します。

図2-1 認可ポリシー・オブジェクトにマップされたポリシー・コンポーネント

認可ポリシーの作成、更新および削除方法の詳細は、4.5.5項「認可ポリシーの管理」を参照してください。

2.1.2 ロールの割当てとロール・マッピング・ポリシーについて

アプリケーション・ロールはユーザー・グループおよびロールの集合です。エンタープライズ・ユーザー、グループまたはアイデンティティ・ストアの外部ロール、またはポリシー・ストアの別のアプリケーション・ロールに割り当てることができます(アプリケーション・ロールを別のアプリケーション・ロールに割り当てることで、アプリケーション・ロールの階層を構築できます)。アプリケーション・ロールは次のいずれかの方法でユーザーに割り当てることができます。

- ロールの特定のユーザー・メンバーシップに静的に付与。

- ロール・メンバーシップを動的に割り当てるのに使用されるロール・マッピング・ポリシーのアプリケーション・ロールを参照。

ロール・マッピング・ポリシーにより、ロール・メンバーシップをユーザーに動的に割り当てる(GRANT)か、またはロール・メンバーシップをユーザーから動的に失効する(DENY)ことができます。次のロール・マッピング・ポリシーの定義を考えてみます。

GRANT the Employee group application role SupportManageEast
if the request is made from an IP address of 229.188.21.21

このポリシーでは、SupportManagerEastアプリケーション・ロールをグループEmployeeのメンバーであるユーザーに付与します。このポリシーには、IPアドレス229.188.21.21からのリクエストに限られるという条件による制約があります。したがって、リクエストのパラメータがロール・マッピング・ポリシーのパラメータと一致し(リクエストしているユーザーはEmployeeグループのメンバーである)、リクエストがIPアドレス229.188.21.21から出された場合、アプリケーション・ロールは付与されます。リクエストが定義されたIPアドレスからではない場合、ロール・マッピング・ポリシーは無視されます。次の用語と値が、このロール・マッピング・ポリシー定義に適用されます。

- 結果: 付与

- アプリケーション・ロール: SupportManagerEast

- プリンシパル: Employeeグループのメンバー

- 条件: IPアドレス229.188.21.21

図2-2に、このポリシーのコンポーネントの、Oracle Entitlements Serverロール・マッピング・ポリシー・オブジェクトへのマップ方法を示します。

図2-2 ロール・マッピング・ポリシー・オブジェクトにマップされたポリシー・コンポーネント

ロール・マッピング・ポリシーを使用して、特定のユーザーがアプリケーション・ロールに割り当てられるのを防ぐこともできます。次のロール・マッピング・ポリシーの定義を考えてみます。

DENY the Customers group application role GoldCircle
if the account balance is less then $10,000

このポリシーでは、GoldCircleアプリケーション・ロールのCustomersグループのメンバーへの付与は、その口座残高が$10,000に満たない場合は拒否されます。ロール・マッピング・ポリシーの作成、更新および削除方法の詳細は、4.5.7項「ロール・マッピング・ポリシーの管理」を参照してください。

2.2 Oracle Entitlements Serverのポリシーの評価方法

Oracle Entitlements Serverランタイム評価中に、次のことが行われます。

1. サブジェクトに基づき、次を実行することでアプリケーション・ロールのリストが決定されます。

1. ユーザーの静的ロール・メンバーシップを取得します。

2. すべての適用できるロール・マッピング・ポリシーをGRANTの結果で評価し、それを事前に決定されたロールのリストに追加します。

3. すべての適用できるロール・マッピング・ポリシーをDENYの結果で評価し、それを事前に決定されたロールのリストから削除します。

2. サブジェクトと取得したアプリケーション・ロールのリストに基づき、認可ポリシーのリストが評価されて、権限受領者、ターゲットの一致と条件に基づいて適用できるポリシーを見つけます(リソースで許可されるアクションは認可ポリシーで定義されます)。

3. 最終的な認可決定は、アルゴリズムを組み合わせた“拒否のオーバーライド”に基づいており、コールしたアプリケーションに返されます。

1.4項「Oracle Entitlements Serverの認可ポリシーの処理方法」にはこの処理についての詳細が含まれています。

2.3 ポリシー・オブジェクトの用語集

この項で定義されているポリシー・オブジェクトは、認可ポリシー・マネージャ管理コンソールを使用して作成、プロビジョニングおよび管理できます。

- ポリシー・ストア
ポリシー・ストアは、すべてのOracle Entitlements Serverポリシー・オブジェクト(アプリケーション、リソースおよびさまざまなロール・タイプが含まれますがこれに限定されません)が保存される場所です。ポリシー・ストアはリレーショナル・データベース(推奨)またはLDAPベース・ディレクトリのどちらでもかまいません。詳細は、3.2.3項「ポリシー・ストアへのアクセス」を参照してください。

- アプリケーション
アプリケーションはロール、ポリシー、リソース定義、およびその他のポリシー・オブジェクト(実際には、特定のアプリケーションへのセキュア・アクセスを定義する必要のあるすべてのオブジェクト)を管理するための高レベルのコンテナです。アプリケーションは、配置済の1つのソフトウェア・アプリケーション、配置済のソフトウェア・アプリケーションのセット、またはソフトウェア・アプリケーションのコンポーネント(Enterprise Java Beanなど)に対応します。Oracle Entitlements Serverにより複数のアプリケーションを管理することができます。詳細は、4.5.1項「アプリケーションの管理」を参照してください。

- アプリケーション・ロール
アプリケーション・ロールとはユーザー、グループ、および他のアプリケーション・ロールのコレクションであり、エンタープライズ・ユーザー、グループ、アイデンティティ・ストアの外部ロール、またはポリシー・ストアの他のアプリケーション・ロールに割り当てることができます。たとえば、アプリケーション・ロールを作成するときに、あるターゲット・リソースへアクセスするために必要なすべての権限をそのロールに付与することができます。さらに、そのロールのメンバーシップをユーザーに付与することで、ユーザーに静的に割り当てることができます。あるいは、ロール・マッピング・ポリシーでロールを参照することで、ポリシー自体で付与または拒否される権限がポリシーのプリンシパルに付与され、動的に割り当てることもできます。1つのターゲット・アプリケーションが複数の異なるロールを持ち、よりきめの細かいアクセスのために、それぞれのロールに異なる権限のセットを割り当てることが可能です。

アプリケーション・ロールは、外部ロールに多対多でマッピングできます。たとえば、グループemployee (LDAPベースのアイデンティティ・ストアに保存)はアプリケーション・ロールcustomersupport member (1つのアプリケーションに定義)とアプリケーション・ロールIT member (別にアプリケーションに定義)にマップできます。詳細は、4.5.6項「ロール・カタログのアプリケーション・ロールの管理」を参照してください。

注意:

Oracle Entitlements Server管理コンソールのロール・カタログ・ノードのアプリケーション・ロールを検索します。詳細は、第5章「セキュリティ・オブジェクトの問合せ」を参照してください。

- 外部ロール
外部ロールとは、LDAPサーバーまたはデータベースなどの外部アイデンティティ・ストアで定義されているユーザーおよびグループのコレクションです。外部ロールという用語は、エンタープライズ・ロールまたはエンタープライズ・グループと同義で使用されることもあり、通常はアイデンティティ・ストア内のLDAPグループとして実装されます。外部ロールのポリシーへの追加の詳細は、4.5.5.1項「認可ポリシーの作成」を参照してください。

注意:

Oracle Entitlements Server内では、外部ロールおよびユーザーは読取り専用で表示できます。これらはOracle Identity Managerなどの別のツールで管理されます。詳細は、『Oracle Fusion Middleware Oracle Identity Managerシステム管理者ガイド』を参照してください。

- プリンシパル
プリンシパルとは、ポリシー内で定義されたアクセス権が付与されるアイデンティティです。プリンシパルには、ユーザー、外部ロールまたはアプリケーション・ロールを指定できます。ほとんどの場合、アプリケーション・ロールを指定します。プリンシパルのポリシーへの追加の詳細は、4.5.5.1項「認可ポリシーの作成」を参照してください。

- 認可ポリシー
認可ポリシーは、保護されたリソース上でエンティティ(権限受領者、プリンシパルまたはコード・ソース)に許可される権限のセット(Webページの表示やレポートの変更など)を指定するポリシーです。つまり、保護されたリソース上で誰が何を実行できるかを指定します。詳細は、4.5.5項「認可ポリシーの管理」を参照してください。

注意:

Oracle Entitlements Server管理コンソールのデフォルトのポリシー・ドメイン(または該当する場合はカスタムのポリシー・ドメイン)のノードで認可ポリシーを検索します。詳細は、第5章「セキュリティ・オブジェクトの問合せ」を参照してください。

- ロール・マッピング・ポリシー
ロール・マッピング・ポリシーにはどのユーザーまたは外部ロールが認可ポリシーにマップされているかを定義します。ロール・マッピング・ポリシーは、少なくとも、どのサブジェクト(ユーザーおよび外部ロール)が適用可能なロールに割り当てられるかを定義するように作成されます。条件が含まれることもあります。詳細は、4.5.7項「ロール・マッピング・ポリシーの管理」を参照してください。

注意:

Oracle Entitlements Server管理コンソールのロール・カタログ・ノードでロール・マッピング・ポリシーを検索します。詳細は、第5章「セキュリティ・オブジェクトの問合せ」を参照してください。

- リソース・タイプ
リソース・タイプは、保護されたオブジェクトのタイプを表します。共通の特徴を共有する保護されたソフトウェア・アプリケーション・コンポーネントは、特定のリソース・タイプで表すことができます。たとえば、ページのセットを1つのリソース・タイプで表し、銀行口座を別のリソース・タイプで表すことができます。リソース・タイプでは、リソース属性と、保護されたコンポーネントに適用できる有効なアクションを定義します。認可ポリシーで定義されたリソースにソフトウェア・アプリケーションによって渡されたリソースの照合方法も定義します。詳細は、4.5.2項「リソース・タイプの管理」を参照してください。

- リソース
リソースは保護されたコンポーネントまたはオブジェクトであり、これに対してアクセス権が付与または拒否されます。リソースは、認可ポリシーで保護できるアプリケーション・コンポーネントまたはビジネス・オブジェクトを表します。アプリケーションの実行時にリソース名が渡され、プリンシパルが認可されたアクセスかどうかを決定するためにアクセス定義がチェックされます。リソースには関連付けられたリソース･タイプが必要です。詳細は、4.5.3項「リソースの管理」を参照してください。

- ポリシー・ドメイン
ポリシー・ドメインは、リソース、資格および認可ポリシーの管理を促進するパーティションとして機能できるアプリケーション・オブジェクトの下のコンテナです。ポリシー・ドメインは管理者の権限を特定のリソース、資格、認可ポリシーのサブセットに限定できるオプションの管理構造体です。ポリシー・ドメインはランタイム・ポリシー評価時には無効です。複数のポリシー・ドメインを作成し、階層化できます。デフォルト・ポリシー・ドメインをその作成時に各アプリケーションに追加できます。詳細は、9.4「委任するポリシー・ドメインの使用」を参照してください。

- 資格
資格(権限セットとも呼ばれます)は、リソースの小さなセット、およびタスクを実行するために必要な関連アクションを表します。ビジネス機能を実行するために必要な、タイプが異なる可能性がある関連リソースをグループ化します。資格は、複数のプリンシパルに付与できるアクセス権の再利用可能なコレクションです。詳細は、4.5.4項「資格の管理」を参照してください。

- 属性と関数
属性は、ポリシーの条件で使用できるデータ、またはポリシー決定により義務として返すことができるデータを表します。これは、名前、値として使用するデータの型、および値が1つのみかそれとも複数かによって定義されます。属性値は保護アプリケーションにより認可リクエストの一部として渡されるか、Oracle Entitlements Serverにより取得することができます。関数は、ポリシーの条件評価の一部として起動できるカスタム・コードを表し、戻り値は条件の評価に影響します。詳細は、4.5.9項「属性および関数を拡張として管理」を参照してください。

- 条件
条件とは1つまたは複数の制約のことで、ポリシーが認可決定に含まれるには、trueと評価される必要があります。条件をポリシーに追加することはオプションで、使用すると保護リソースへのアクセスがさらに制限されます。一般的に、条件は何らかのユーザー、リソースまたはシステム属性の値をテストするブール式から構成されます。個々の条件はAND、OR、NOTといった論理演算子を使用して結合できます。条件は、日付、時間、時間範囲、曜日などに基づく制約を定義できます。詳細は、4.6項「条件ビルダーの使用」を参照してください。

- 義務
義務には認可決定と一緒に返される追加の情報を指定します。使用すると、義務にはポリシー実行コンポーネントへの追加の要件を設定できるほか、単に有用な情報を含めることができます。たとえば、アクセスのリクエストが拒否された理由を義務として返すことができます。義務のポリシーへの追加の詳細は、4.5.5.1項「認可ポリシーの作成」を参照してください。

- ロール・カテゴリ
ロール・カテゴリはアプリケーション・ロールに関連付けることのできるオプションのタグで、検索に使用できます。ロール・カテゴリを使用すると、管理者はロールを任意のフラット・コレクションに編成できます。これはランタイム・ポリシー評価時には無効です。詳細は、4.5.8項「ロール・カテゴリの管理」を参照してください。

2.4 ポリシー・ユースケースの実装

Oracle Entitlements Serverはポリシー管理とポリシー決定ロジックを組織のリソースから外部化する機能を提供します。組織のリソースへのアクセスを、それらにアクセスできるユーザー、グループおよびロールを指定するポリシーを実装することで保護します。リソースには、アプリケーション・ソフトウェア・コンポーネント(URL、Enterprise JavaBeans、JavaServer Pages)またはエンタープライズ・ビジネス・オブジェクト(顧客の口座、患者のレコード)があります。このユースケースでは、ポリシー・モデルを使用してAcme Investment Bankにより提供される金融サービスを保護する方法について考えてみます。これは階層型リソースの概念に基づきます。リソースはツリーに編成され、親要素から継承します。

注意:

Oracle Entitlements Serverでは非階層化(フラット)リソースの概念もサポートされます。詳細は、4.5.2項「リソース・タイプの管理」を参照してください。

このユースケースでは、次の条件が適用されます。

- 顧客は家族口座を開くことができ、その口座の所有者とみなされます。

- 顧客は家族メンバー用の子口座を開き、各メンバーに対し振替限度額を設定できます。振替限度額は顧客自身の振替限度額よりも低い必要があります。

- 各口座には、口座担当者としての役目を果たし、口座に振替限度額を設定する銀行員がいます。

- サマリー・レポートと口座担当者レポートの両方が各家族口座に関連付けられます。

図2-3に、保護リソースをビジネス・オブジェクトとソフトウェア・コンポーネントに編成することによる金融サービスのシナリオを示します。Paulは口座担当者で、管理する口座の振替限度額を$100,000を設定できる銀行員です。Paulは口座の所有者であるBobの家族口座を管理します。この口座の振替限度額は$10,000です。Bobは自分の家族口座と、振替を行わないMary用に作成した子口座を管理します。これらの口座はビジネス・オブジェクトとみなされ、そのように保護されます。

口座所有者のBobには家族口座用に生成されたサマリー・レポートへのアクセス権があります。口座担当者のPaulにはBobのサマリー・レポートと自分の口座管理レポートへのアクセス権があります。子口座の名義人のMaryにはレポートへのアクセス権はありません。これらのレポートはJavaServerページとして生成され、ソフトウェア・コンポーネントとみなされて、そのように保護されます。

図2-3 ソフトウェア・コンポーネントとビジネス・オブジェクトのユースケース

指定したユーザーに対し、金融サービスの口座(ビジネス・オブジェクト)または口座レポート(ソフトウェア・コンポーネント)へのアクセスのリクエストでは、次の質問に基づき、決定が生成されます。

1. このユーザーは口座の名義人、口座の所有者または口座担当者ですか。

2. このユーザーはこの口座から資金の振替ができますか(ロール、振替限度額、取引時間による)。

3. このユーザーはどのレポートにアクセスできますか。

最初の2つの質問はビジネス・オブジェクトを保護するために作成されたポリシーを使用して決定できますが、最後の質問はソフトウェア・コンポーネントを保護するために作成されたポリシーを使用して決定できます。次の各項では、ポリシーを概念化する方法について説明します。

- 2.4.1項「ソフトウェア・コンポーネントの保護」

- 2.4.2項「ビジネス・オブジェクトの保護」

2.4.1 ソフトウェア・コンポーネントの保護

図2-3「ソフトウェア・コンポーネントとビジネス・オブジェクトのユースケース」のAccount Reportsノードは、レポーティング・アプリケーションを表しています。Summary.jspおよびDetailed.jspはソフトウェア・コンポーネントです。これらのソフトウェア・コンポーネントを保護するためにポリシーをモデル化する方法を決定するときに、選択するオプションがいくつかあります。1つのオプションは、グループ・メンバーシップを使用することで上位ノードのレポーティング・アプリケーションに認可ポリシーを設定します。次の例で、リソースとそれにアクセスできるユーザーのグループに名前を付けることで、アクセス権を明示的に付与する方法を示します。

GRANT the BankManagers group access to the AccountReports node

このトップダウンの認可ポリシーでは、Account Reportsノードへのアクセス権をBankManagersグループのユーザーに付与します。これらのリソースは階層化されているので、許可されたグループの全員がサマリーおよび詳細レポートにアクセスできます。しかしこのアクセスはシステム・ベースまたは属性ベースの条件を使用して制約されることがあります。たとえば、時間に基づく、または特定のユーザー、グループまたはリソース属性に基づく条件を追加することで、さらにアクセスが制限されます。次の例で、時間ベースの条件によりレポートへのアクセスが通常の営業時間に制限される方法を示します。

GRANT the BankManagers group access to the AccountReports node
IF the request is made between 09:00 and 17:00

もう1つのオプションでは、グループではなくロールとしてプリンシパルを定義することでトップダウンの認可ポリシーを設定できます。１つのロールはユーザーまたはグループから構成されます(アプリケーション・ロールはそれが構成されたアプリケーションに特有であるのに対し、LDAPロールはエンタープライズ全体で付与されます)。

注意:

2.1項「Oracle Entitlements Serverポリシーについて」で説明したように、ユーザーはメンバーシップまたはロール・マッピング・ポリシーを使用してロールに割り当てることができます。

次の例では、リソースに明示的に名前が付けられ、アクセス権は定義済みのロールに割り当てられているユーザーに暗黙的に付与されます。

GRANT access to AccountReports node if user has BankManagers role

BankManagersロールをレポーティング・アプリケーションにアクセスしているユーザーに(BankManagersグループのメンバーであれば)動的に割り当てることもできます(次に例示)。

GRANT BankManagers role to members of BankManagers group
FOR access to AccountReports node

以前の認可ポリシーを定義するもう１つの方法は、グループ・メンバーシップではなくユーザー属性値に基づきロールを割り当てることです(規模の大きい企業では、グループ・メンバーシップではなく属性に基づきユーザーを割り当てることが通常はより効率的です)。次の例では、ユーザーのプロファイルのUserType属性の値がBankManagerである場合に、BankManagersロールを、リクエストしているユーザーに割り当てます。

GRANT BankManagers role to anyone defined by UserType 'BankManager'
FOR access to the AccountReports node

前の例では、上位ノードのレポーティング・アプリケーションからレポートまで範囲とする認可ポリシーを示していますが、認可ポリシーは特定のレポート・ノードに対して定義することもできます。次の例では、Summary.jspレポートへのアクセス権をBankManagersおよびAccountOwnersロールのすべての割当先に付与します。追加の条件は、アクセスをリクエストしているプリンシパルが、レポートの関連アカウントにリストされている必要があることです。

GRANT Summary.jsp access to all members of BankManagers and AccountOwners role
IF the requesting assignee is listed as OWNER or MANAGER on specified account

もう1つの例は、Detailed.jspレポートへのアクセスが、BankManagerロールに割り当てられたユーザーに付与できる方法を示しています。

GRANT Detailed.jsp access to all assignees of BankManagers role

前の例は、認可ポリシーが特定のアプリケーション・ソフトウェア・コンポーネントにモデル化できる方法を示しています。実際の企業でのシナリオでは、各アプリケーションに数十または数百のリソースが含まれる場合があるので、それぞれに対して認可ポリシーを作成するのは現実的ではない可能性があります。リソース属性の概念は、このアプリケーション・ソフトウェア・コンポーネント・リソースと関連する認可ポリシーの急増に対処するために、Oracle Entitlements Serverにより実装されました。

リソースと属性を関連付けることで、属性の値に基づきアクセス権を付与することができます。たとえば、filetypeはHTMLページ、イメージまたはPDFを定義するのに使用するリソース属性です。if filetype=pdfとして条件を定義することで、リソースに関連付けられたすべてのPDFファイルへのアクセス権を付与することができます。次の例ではリソース属性を使用します。これにより、リクエストされているレポート・タイプが特定のユーザー･プロファイルのUserReportType属性の値と一致している場合にのみアクセス権が付与されるにもかかわらず、BankManagersおよびAccountOwnersロールに割り当てられたユーザーはすべてのレポートにアクセスできます。

GRANT users assigned BankManagers or AccountOwners roles
access to AccountReports
IF requested ReportType matches UserReportType attribute value
in user profile

このポリシーでは、アクセスがリソース属性値とユーザー属性値の一致に基づいて制約されるにもかかわらず、BankManagersおよびAccountOwnersにすべてのレポートへのアクセス権が付与されます。この方法の利点は、リソースがアプリケーションに追加されたり削除されたりしても、アクセスを管理するポリシーを変更する必要がないことにあります。リソースが変更されても、アプリケーションに付属するReportTypeリソース属性によるアクセスの管理は継続します。

2.4.2 ビジネス・オブジェクトの保護

ビジネス・オブジェクトを保護するために認可ポリシーをモデル化する方法を決定するときに、選択するオプションがいくつかあります。この銀行シナリオでは、ビジネス・オブジェクトは銀行口座です。図2-3「ソフトウェア・コンポーネントとビジネス・オブジェクトのユースケース」は、銀行口座の構造を表しています。

各銀行口座に、担当者、所有者、および名義人を、特定の権限のセット(または 資格)に割り当てられた各スコープとともに持たせることができます。そのため、ユーザーが銀行口座で実行できることを評価しているポリシーが基づくのは、リソースではなくユーザーの属性です。次の例では誰でも振替は可能ですが、リクエストされた口座の所有者としてそのユーザーが定義され、振替金額がユーザーに定義された制限額よりも少ないか同じである場合にのみ、その権限が付与されます。

GRANT anyone transfer privileges only
IF the user is listed as OWNER on specified account
AND transfer amount is equal to or less than the transfer limit

ユーザーの資格を取得する別のオプションがあります。振替のリクエストと振替限度額を比較するのでなく、Oracle Entitlements Serverでは評価の出力として振替限度額を返すことができます。このシナリオでは、ユーザーが口座にアクセスできるかどうかは検証されますが、振替金額が義務としてコール元に返されます(Javaオブジェクト内で)。ここでは、振替金額が振替限度額内であるかどうかの検証はアプリケーションに任されています。次の例で、このモデルを説明します。

GRANT anyone transfer privileges only
IF the user is listed as OWNER on specified account
THEN RETURN transfer limit to calling application

銀行口座が個別のリソース・インスタンスに対応するモデルを使用することもできますが、ポリシーの急増(口座ごとに1つ)が生じ、管理が難しくなります。たとえば、Acme Investment Bankに100,000口座がある場合、振替を管理するだけで少なくとも100,000ポリシーが必要になります。義務の追加の詳細は、4.5.5項「認可ポリシーの管理」を参照してください。

3 Oracle Entitlements Serverの開始

この章では、Oracle Entitlements Serverの使用を開始する方法について、そのグラフィカル・インタフェースの使用と移動方法についての情報を含めて説明します。この章には次の項目があります。

- 第3.1項「インストール前の作業」

- 3.2項「グラフィカル・インタフェースについて」

- 3.3項「管理コンソールへのアクセス」

- 3.4項「管理コンソール内の移動」

3.1 インストール前の作業

Oracle Entitlements Serverの使用を開始する前に、次のタスクが実行されている必要があります。これには、製品とそのコンポーネント(たとえばリモートのセキュリティ・モジュール)のインストール、該当する場合には、高可用性およびSecure Sockets Layer (SSL)などの機能の構成が含まれます。これらのタスクを完了したら、3.2項「グラフィック・インタフェースについて」を開始できます。

- 『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』の説明に従って、Oracle Entitlements Serverをインストールおよび構成します。

- このリリースでは、Oracle Entitlements Serverにより管理されるポリシー・ストアは、リレーショナル・データベース(推奨)またはLDAPベース・ディレクトリのどちらでもかまいません。

- Oracle Entitlements Serverと関連付けられるアイデンティティ・ストアはLDAPベース・ディレクトリである必要があります。

- インストール後、Oracle Entitlements Serverアイデンティティ・ストアはWebLogic Serverの組込みLDAPディレクトリに関連付けられます。この組込みLDAPディレクトリは開発目的には適していますが、本番ではサポートされるLDAPディレクトリを使用する必要があります。次の手順で、デフォルトのアイデンティティ・ストアの設定を再構成します。LDAP認証プロバイダの構成のより詳細な情報は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』に記載されています。

1. WebLogic Serverコンソールを起動します。

2. 「セキュリティ・レルム」をクリックします。

3. myrealmの設定をクリックします。

4. 「プロバイダ」タブをクリックします。

5. 図3-1に表示されているように「認証」タブをクリックします。

図3-1 「認証プロバイダ」タブ

6. 「新規」ボタンをクリックして、新しいプロバイダを作成します。

7. 名前を入力し、LDAPベース・ディレクトリのタイプを選択します。
たとえば、OracleInternetDirectoryAuthenticatorです。

8. LDAPベース・ディレクトリのプロバイダ特有の属性を構成します。
これには、ホスト名とポート、資格証明、グループ検索ベース、ユーザー検索ベースなどが含まれます。

9. プロバイダ情報を保存します。

10. LDAPベース・ディレクトリが最初にくるようにプロバイダの順番を変更します。
DefaultAuthenticatorおよびDefaultIdentityAsserterが続きます。

11. 新しいプロバイダ名をクリックして構成します。

1. 構成タブをクリックします。

2. 「共通」タブをクリックします。

3. 図3-2に表示されているように、「制御フラグ」をSUFFICIENTに設定し、「保存」をクリックします。

図3-2 SUFFICIENT「制御フラグ」

4. 「プロバイダ固有」タブをクリックします。

5. アイデンティティ・ストアのLDAP構成情報を入力し、「保存」をクリックします。

12. 「プロバイダ」タブに戻ります。

13. DefaultAuthenticatorをクリックしてその構成を変更します。

14. 図3-3に表示されているように、「制御フラグ」をSUFFICIENTに設定し、「保存」をクリックします。

図3-3 WebLogic ServerコンソールのDefaultAuthentciatorのタブ

15. WebLogic Serverを再起動します。

- Oracle Entitlements Serverの高可用性の構成の詳細は、『Oracle Fusion Middleware高可用性ガイド』を参照してください。

- ユーザーの認証に関する詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』を参照してください。

注意:

Oracle Entitlements Serverはユーザーの認証に関わりません。これは通常WebLogic Serverのセキュリティ・レルム構成の一部として行われます。

- Oracle Entitlements Serverがポリシー・ストア、アイデンティティ・ストアおよびデータベースを使用して確立する接続の一方向SSLの構成の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』を参照してください。ブラウザを使用した Oracle Entitlements Serverへのアクセスも、一方向SSLを使用して保護できます。これらの設定は、Oracle WebLogic Serverで実行されている他のアプリケーションの設定とほぼ同じです。

- ハードウェアとソフトウェアの要件、プラットフォーム、データベースおよびその他の情報の詳細は、システム要件と動作要件のドキュメントを参照してください。

- システム要件に関するドキュメントには、ハードウェア要件およびソフトウェア要件、ディスク領域とメモリーの最小要件、必要なシステム・ライブラリ、パッケージ、パッチなどの情報が記載されています。
http://www.oracle.com/technology/software/products/ias/files/fusion_requirements.htm

- 動作保証のドキュメントには、サポートされているインストール・タイプ、プラットフォーム、オペレーティング・システム、データベース、JDKおよびサードパーティ製品が記載されています。
http://www.oracle.com/technology/software/products/ias/files/fusion_certification.html

いずれのドキュメントもOracle Technology Network(OTN)から入手できます。

3.2 グラフィカル・インタフェースについて

Oracle Authorization Policy ManagerはOracle Entitlements Serverのサブ・コンポーネントで、管理者向けのグラフィカル・コンソールです。これはポリシーおよび関連するポリシー・オブジェクトの管理用の、ブラウザ・ベースのグラフィカル・インタフェースです。次の各項には、認可ポリシー・マネージャの管理コンソールについて理解するための情報が含まれています。

- 3.2.1項「Oracle Entitlements Server管理者の割当て」

- 3.2.2項「アイデンティティ・ストアの使用」

- 3.2.3項「ポリシー・ストアへのアクセス」

3.2.1 Oracle Entitlements Server管理者の割当て

Oracle Entitlements Server管理コンソールへのログインやWebLogic Scripting Tool (WLST)などの管理コマンドライン・ツールの使用は、適切な権限を持ったユーザーにのみ許可されています。SystemAdminという名前のOracle Entitlements Serverのシステム・レベルの管理ロールがインストール中に作成され、WebLogic Server管理者ユーザー(weblogic)にマップされます。パスワードはインストール中に設定されます。SystemAdminには、追加の管理ロールを作成する権利と管理権限の他への委任を含む、拡張権限があります。

注意:

最初にOracle Entitlements Server管理コンソールにログインするときには、SystemAdminはインストール中の資格証明セットを使用する必要があります。識別子とパスワードはアイデンティティ・ストアの管理ツールを使用して変更できます。

Oracle Entitlements Serverと環境を管理するために、異なるアクセス権を持つ別の管理ユーザーを作成できます。詳細は、9.6項「管理者ロールを使用したシステム管理者の管理」を参照してください。

3.2.2 アイデンティティ・ストアの使用

Oracle Entitlements Serverの管理者とユーザー・アイデンティティはアイデンティティ・ストア(通常はLDAPディレクトリ・サーバー)に保存されます。アイデンティティ・ストアに定義されたユーザーと外部ロールは、認可ポリシー定義中は読取り専用です。Oracle Entitlements Serverはそのデータを読取りおよび表示しますが、管理操作は行いません。アイデンティティ・データの管理は、アイデンティティ・ストアのツールまたはOracle Identity Managerなどのアイデンティティ管理製品を使用して行われます。

3.2.3 ポリシー・ストアへのアクセス

このリリースのOracle Entitlements Serverでは、ポリシー・オブジェクトと定義されたポリシーの管理に使用されるポリシー・ストアは、リレーショナル・データベース(推奨)またはLDAPベース・ディレクトリのどちらでもかまいません(Oracle Internet Directoryはポリシー・ストアとして使用できますが、機能に制限があります)。ハードウェア要件に関するリンクは、3.1項「インストール前の作業」を参照してください。ポリシー・ストアの作成および初期化の手順については、『Oracle Fusion Middleware Oracle Identity Managementインストレーション・ガイド』を参照してください。

3.3 管理コンソールへのアクセス

次の各項では、認可ポリシー・マネージャのグラフィカル・インタフェース(管理コンソールとも呼ばれる)にアクセスする方法について説明しています。

- 3.3.1項「管理コンソールへのサイン・イン」

- 3.3.2項「管理コンソールからのサイン・アウト」

3.3.1 管理コンソールへのサイン・イン

次の手順に従い、認可ポリシー・マネージャ管理コンソールにサイン・インします。

1. ブラウザのアドレス・バーに認可ポリシー・マネージャ管理コンソールのURLを入力します。たとえば、次のように入力します。
https://hostname:port/apm/

これらの意味は、次のとおりです。

- HTTPSは、Webサーバーが戻すユーザー・ページ・リクエストを暗号化および復号化できるように、Secure Socket Layer(SSL)を持ったHypertext Transfer Protocol(HTTP)を表します。

- hostnameは、Oracle Authorization Policy Manager管理コンソールをホストするコンピュータの完全修飾ドメイン名です。

- portは、認可ポリシー・マネージャ管理コンソール用に指定されたバインド・ポートです(これはWebLogic Server管理コンソール用のバインド・ポートと同じです)。

- /apm/は認可ポリシー・マネージャの「ログイン」ページです。

2. システム管理者の資格証明を入力します。
デフォルトのシステム管理者の識別子はweblogicです。パスワードはインストール中に提供されたものと同じです。図3-4は「サインイン」ページのスクリーンショットです。

図3-4 管理コンソールの「サインイン」ページ

3. 「サインイン」をクリックします。

3.3.2 管理コンソールのサイン・アウト

次の手順に従い、認可ポリシー・マネージャ管理コンソールからサイン・アウトします。

1. 管理コンソールの右上隅にある「サインアウト」リンクをクリックします。
図3-5は「サインアウト」リンクのスクリーンショットです。

図3-5 管理コンソールの「サインアウト」リンク

2. ブラウザ・ウィンドウを閉じます。

3.4 管理コンソール内の移動

正常にログインされると、認可ポリシーマネージャの管理コンソールが表示されて、「認可管理」タブがアクティブになります。ナビゲーション・パネルが左側で、ホーム領域が右側です。ナビゲーション・パネルで選択されたオブジェクトがタブで開かれ、ホーム領域に表示されます。図3-6は管理ユーザーが正常にサイン・インした後の管理コンソールのスクリーンショットです。

図3-6 Oracle Entitlements Server管理コンソール

次のリストでは、図3-6に示されたトップ・レベル項目を説明しています。詳細は、該当するリンクを参照してください。

- 3.4.1項「主なタブについて」

- 3.4.2項「ナビゲーション・パネルの使用」

- 3.4.3項「ホーム領域」

- 3.4.4項「オンライン・ヘルプ」

3.4.1 主なタブについて

管理コンソールで使用される構成タブについては、次の各項を参照してください。各タブはナビゲーション・パネルとホーム領域から構成されます。

- 3.4.1.1項「「認可管理」タブ」

- 3.4.1.2項「「システム構成」タブ」

3.4.1.1 「認可管理」タブ

「認可管理」タブはポリシー・オブジェクトの検索および管理に使用します。このタブは管理コンソールに正常にログインしているときにアクティブになります。図3-7は「認可管理」タブのスクリーンショットです。

図3-7 「認可管理」タブ

「認可管理」では、左側がナビゲーション・パネルで、右側がホーム領域です。ナビゲーション・パネルで選択した項目に応じてホームの外観が変わります。詳細は、3.4.2項「ナビゲーション・パネル」および3.4.3項「ホーム領域」を参照してください。

3.4.1.2 「システム構成」タブ

「システム構成」タブはOracle Entitlements Serverデプロイメントの管理およびシステム・タイプ・オブジェクトの管理に使用します。図3-8は「システム構成」タブのスクリーンショットです。ナビゲーション・パネルで選択されたオブジェクトがホーム領域のタブを使用して表示されます。

図3-8 「システム構成」タブ

次のタスクが「システム構成」で実行されます。

- セキュリティ・モジュールの作成

- セキュリティ・モジュールのアプリケーションへのバインド

- システム管理者の管理(追加の管理者ロールの作成、ユーザーのシステム管理者ロールへの割当て、権限のシステム管理者ロールへの割当てなど)

詳細は、第8章「システム構成の管理」を参照してください。

3.4.2 ナビゲーション・パネルの使用

ナビゲーション・パネルを使用して、グローバルまたはアプリケーション情報ツリーを参照するか、簡易検索を実行することで、セキュリティ・オブジェクトを検索します。すべてのグローバルおよびアプリケーション・ポリシー・オブジェクトがナビゲーション可能なツリーで表示されます。ツリーを参照することも、定義した検索条件に基づき検索結果としてオブジェクトを表示させることもできます。図3-6は折りたたまれたノードを含むナビゲーション・パネルが表示されたスナップショットです。図3-9に、折りたたまれたノードと多くのポリシー・オブジェクトをビューに含むナビゲーション・パネルを表示しています。

図3-9 折りたたまれたノードを含むナビゲーション・パネルの「参照」タブ

ナビゲーション・パネルには、上から下まで、次の要素が含まれます。

- 簡易検索でポリシー・オブジェクトを選択するためのプルダウン・リスト。詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

- 簡易検索の範囲を選択するためのプルダウン・リスト。詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

- 簡易検索の文字列を入力するためのテキスト・ボックス。入力した文字列は、ポリシー・オブジェクトの名前および表示名と比較されます。一致した文字列は、「検索結果」タブに表示されます。

- 「参照」タブには、展開および縮小が可能な次のノードが表示されます。

- 「グローバル」ノードには外部ロールなどのグローバル・オブジェクトが収集されます。

- 「アプリケーション」ノードには、ログインしている管理者により管理されている1つまたは複数のアプリケーションが含まれます(ログインしているユーザーがアクセスを認可されているアプリケーションのみが表示されます)。表示されているいずれかのアプリケーションから、管理者はリソース・タイプ、資格、リソース、ポリシー、ロールなどのアプリケーション固有のポリシー・オブジェクトにアクセスできます。詳細は、第8章「システム構成の管理」を参照してください。

- 図3-10に示すように、「検索結果」タブには、最新の簡易検索の結果が表示されます。

- 選択したポリシー・オブジェクトでの操作を選択するための「アクション」および「ビュー」ドロップ・ダウン。

図3-10 ナビゲーション・パネルの「検索」タブ

ナビゲーション・パネルから、「アクション」ドロップダウン・リストに含まれる「新規」および「開く」オプションを表示するには、2つの方法があります。

- 目的のアプリケーションを探し、ノードを展開し、目的のオブジェクトを選択します。「アクション」ドロップダウンをクリックし、「新規」を選択します。

- 目的のアプリケーションを探し、ノードを展開し、目的のオブジェクトを選択します。アプリケーション・ノードからオブジェクトを右クリックします。

「新規」を選択して同じタイプの新しいオブジェクトを作成し、「開く」を選択してホーム領域の検索タブを表示します。ノードからオブジェクトをダブルクリックしても、ホーム領域に「検索」タブを開くことができます。

3.4.3 ホーム領域

ホーム領域はナビゲーション・パネルの右側に表示され、最もよく使用されるポリシー・オブジェクトに対する「新規」および「検索」画面へのクイック・アクセス・リンクが含まれます。図3-11に示すように、管理コンソールのホーム領域は次のセクションに分割されています。

- アプリケーション領域は、ホーム領域の上側にあります。「アプリケーション名」ペインにはログイン・ユーザーが使用できるすべてのアプリケーションが表示されます。このペインの右側には、新しいポリシー・オブジェクト(資格、リソース、リソース・タイプ、アプリケーション・ロールおよび認可ポリシー)の作成や定義済みのポリシー・オブジェクトの検索などの一般的な操作を実行する画面へのリンクがあります。

- 「グローバル」セクションはホーム領域の右下にあります。このセクションはすべてのアプリケーションで共有されるオブジェクトが対象で、外部ロール検索が含まれます。

- 資格リソース・センター・セクションはホーム領域の左下にあります。最もよく使用される手順に関する情報へのリンクが含まれます。

図3-11 ホーム領域

3.4.4 オンライン・ヘルプ

管理コンソールの使用中に情報を取得するには、右上隅にある「ヘルプ」リンクをクリックします(図3-5参照)。別のウィンドウが開きます。このウィンドウから、オンライン・ヘルプと、HTML形式のこのマニュアルの埋込みバージョンの両方にアクセスできます。ウィンドウが表示されたら、ドロップダウンのマニュアル・リストから、Oracle Entitlements Server管理コンソールのオンライン・ヘルプまたは『Oracle Entitlements Server管理者ガイド』のいずれかを選択します。ヘルプ・トピックはマニュアルの目次のリンクと同じように、埋込みマニュアルの対応する項へとリンクします。

4 ポリシーおよびロールの管理

Oracle Entitlements Server管理コンソールを使用して、ポリシーとポリシーが作成される元のポリシー・オブジェクトを管理します。この章には次の項目があります。

- 4.1項「ポリシーとポリシー・オブジェクトの管理の概要」

- 4.2項「認可ポリシーとそのコンポーネントの定義」

- 4.3項「認可ポリシーへの詳細な要素の追加」

- 4.4項「認可ポリシーの実装手順」

- 4.5項「アプリケーションでのポリシー・オブジェクトの管理」

- 4.6項「条件ビルダーの使用」

4.1 ポリシーとポリシー・オブジェクトの管理の概要

Oracle Entitlements Serverでは、管理者がすべてのポリシーおよびグローバル・オブジェクトでの作成、読取り、更新および削除(CRUD)操作を実行できます。管理コンソールで実行されるタスクでは通常、管理者がオブジェクトを識別(参照または検索による)し、選択して、使用可能な操作のいずれかを選択することが必要です。オブジェクトはグループに編成されて、ナビゲーション・パネルの「グローバル」および「アプリケーション」に表示されます。

- アプリケーション・オブジェクトには認可ポリシーを作成するのに使用されるオブジェクト(リソース、アプリケーション・ロールなど)が含まれます。それらが適用され、ポリシーに使用できるのは、その下にそれらが定義されたアプリケーション内のみです。ナビゲーション・パネルの「アプリケーション」ノードは、その下にすべての構成済みのアプリケーション(およびそれぞれのオブジェクト)が編成されたブランチです。この章には、アプリケーションとそのオブジェクトの管理についての情報が含まれています。

- グローバル・オブジェクトには、ユーザー、外部ロール、属性リトリーバ・コンポーネントのためのシステム構成、管理者などが含まれます。これらのオブジェクトはシステム全体にわたりすべての構成されたアプリケーションに適用できます。ナビゲーション・パネルの「グローバル」ノードは、その下にすべてのシステム全体のオブジェクトが編成されたブランチです。これらのオブジェクトについては第8章「システム構成の管理」で説明します。

注意:

外部ロール(およびユーザー)は、Oracle Entitlements Server内部では読取りのみ可能です。管理は通常、Oracle Identity Managerなどの別のツールを使用して行います。詳細は、『Oracle Fusion Middleware Oracle Identity Managerシステム管理者ガイド』を参照してください。

Oracle Entitlements Serverでは、ポリシーの個別のユーザー、外部ロールおよびアプリケーション・ロールへのマッピングがサポートされます。しかし次の理由で、アプリケーション・ロールへのポリシーのマッピングをお薦めします。

- 個別のユーザーおよび外部ロールへの権限の付与に基づく認可の管理は、数の増加に従い、すぐに管理が困難になる可能性があります。

- アイデンティティ管理ソースが変更される場合(たとえば、開発、テストおよび本番環境間での移動により新しいLDAPサーバーが生じる場合)、ポリシー定義への変更は必要ありません。必要な操作は、ターゲット環境で利用可能なユーザーおよび外部ロールにアプリケーション・ロールを再マッピングすることだけです。

デフォルトでは、明示的にアクセス操作の権限を付与する認可ポリシーが作成および配置されるまで、リソースへのアクセス操作はすべて拒否されます。認可ポリシーによりリソース上の資格がロールに付与される場合、ユーザーはそれに静的に割り当てられるか、またはユーザーまたはグループを定義済みのロールに割り当てるロール・マッピング・ポリシーを作成および配置する必要があります。認可ポリシーが前に付与された資格を拒否する場合、それは付与よりも優先されます。明示的なDENY認可ポリシーは無効にできません。DENYポリシーの実用的な使用法は、資格を明示的に拒否して、ユーザーまたはグループが特定のリソースへのアクセス権を取得できないようにすることです。

4.2 認可ポリシーとそのコンポーネントの定義

ポリシーの定義では、オブジェクトが特定の順番で作成されることが必要です。たとえば、リソースはリソース・タイプの定義の後にのみ作成できます。ポリシーは次に説明する順番で構成できます。

1. アプリケーションを作成します。
ナビゲーション・パネルで、アプリケーションは特定のリソースのコンポーネントを保護するポリシーおよび関連情報用の全体的なコンテナとして作成される必要があります。必要に応じて任意の数のアプリケーションを作成することができますが、保護するアプリケーションごとに1つ作成することをお薦めします。詳細は、4.5.1項「アプリケーションの管理」を参照してください。

2. リソース・タイプを作成します。
リソース・タイプには、1つまたは複数のリソース属性と、特定の種類のリソースで実行できるすべての有効なアクションの定義を指定します。このアクションは標準のアクション(URLへのGETおよびPOST)の場合もビジネス・オブジェクトでのカスタム・アクション(銀行口座間の振替)の場合もあります。次のリソース・タイプとその有効なアクションを考えてみます。

- テキスト・ファイルは「読取り」、「書込み」、「コピー」、「編集」、「削除」をサポートできます。

- 銀行の当座預金口座アプリケーションでは、預入れ、引出し、残高確認、履歴の確認、普通口座への振替、または普通口座からの振替がサポートされます。

リソース・インスタンスがリソース・タイプから作成されます。リソース・タイプにより定義されたアクションは、リソース・タイプから作成された保護リソース・インスタンスにアクセスするときに、権限付与または拒否されます。

注意:

リソース・インスタンスはポリシー・ドメインで定義され、リソース・タイプを参照します。詳細は、4.5.3項「リソースの管理」を参照してください。

詳細は、4.5.2項「リソース・タイプの管理」を参照してください。

3. リソース・タイプからリソースをインスタンス化します。
特定の保護ターゲット(リソース)はリソース・タイプからインスタンス化されます。リソースは保護されたターゲット(アプリケーションなど)を表し、リソース・カタログのポリシー・ドメインの下に作成されます。ポリシー・ドメインを指定しないと、デフォルトのポリシー・ドメインの下に作成されます。詳細は、4.5.3項「リソースの管理」を参照してください。

注意:

ポリシー・ドメインはオプションのオブジェクトで管理と構成を委任する目的で作成されます。第9章「管理ロールの委任」を参照してください。

4. 認可ポリシーを作成します。
これには、結果(GRANTまたはDENY)の指定、ユーザー、グループまたはロールのポリシー・プリンシパルとしての追加、リソースおよびアクションのポリシー・ターゲットとしての追加が伴います。オプションで、義務の追加や条件の設定ができます。詳細は、4.5.5項「認可ポリシーの管理」を参照してください。

4.3 認可ポリシーへの詳細な要素の追加

4.2項「認可ポリシーとそのコンポーネントの定義」には認可ポリシーの作成に必要な最小限のコンポーネントが記載されています。次の詳細な要素を単純なポリシーに追加できます。

- 資格
資格により、インスタンス化されたリソースとそこで実行できる適用可能なアクションが関連付けられます。リソース用のアクションのセットは、対応するリソース・タイプで定義済みの有効なアクションのセットのサブセットです。詳細は、4.5.4項「資格の管理」を参照してください。

- アプリケーション・ロール
アプリケーション・ロールはエンタープライズ・ユーザー、グループまたはアイデンティティ・ストアの外部ロール、またはポリシー・ストアの別のアプリケーション・ロールに静的または動的に割り当てることができます。1つのターゲット・アプリケーションが複数の異なるアプリケーション・ロールを持ち、よりきめの細かいアクセスのために、それぞれのロールに異なる権限のセットを割り当てることが可能です。詳細は、4.5.6項「ロール・カタログのアプリケーション・ロールの管理」を参照してください。

- ロール・マッピング・ポリシー
アプリケーション・ロールへのメンバーシップは、ロール・マッピング・ポリシーを使用して動的に付与できます。アプリケーション・ロールはロール・マッピング・ポリシーのプリンシパルとして参照され、ユーザーに定義済みのリソースへのアクセス権を付与できますが、ロール・マッピング・ポリシーは認可が決定される前に解決される必要があります。解決は質問ユーザーがリクエストしているアクセスはこのアプリケーション・ロールに割り当てることができますかに答えます。ロール・マッピング・ポリシーのランタイム評価中に、次のことが行われます。

1. サブジェクトに基づき、アプリケーション・ロールのリストは、静的ロール・メンバーシップの取得と、適用可能なロール・マッピング・ポリシーの評価により決定されます。

2. サブジェクトとアプリケーション・ロールのリストに基づき、認可ポリシーのリストが評価されて、権限受領者、ターゲットの一致と制約の評価に基づいて適用できるポリシーを見つけます。リソースで許可されるアクションは認可ポリシーで定義されます。

3. 最終的な認可決定は、アルゴリズムを組み合わせた“拒否のオーバーライド”に基づきます。

詳細は、4.5.7項「ロール・マッピング・ポリシーの管理」を参照してください。

- ポリシーに追加の不測の事態を設定する方法で、ポリシーに条件を追加できます。認可ポリシーまたはロール・マッピング・ポリシーのどちらにも適用できます。条件は式の形で作成され、trueかfalseかが決定されて、次のいずれかの結果になります。

- 式の結果がtrueの場合、ポリシーの条件は満たされ、PolicyRuleEntryに定義された結果が適用されます。

- 式の結果がtrueでない場合、ポリシーは適用されません。

ポリシーがtrueと評価されるには、条件がtrueである必要があります。条件は何らかのユーザー、リソースまたはシステム属性の値をテストするブールの複雑な組合せであるか、複雑なビジネス・ロジックを評価するカスタムのJava評価関数である可能性があります。詳細は、4.6項「条件ビルダーの使用」を参照してください。

- 義務は認可のポリシー実行フェーズ中に評価される追加の情報を指定します。義務は対応するポリシーの結果(GRANTまたはDENY)とともに返されます。この情報がポリシー実行中に考慮されるかどうかは、アプリケーションにより定義された設定に基づきます。たとえば、アクセスのリクエストが拒否された理由を義務として返すことができます。異なるタイプの義務にはメッセージの送信を含めることができます。たとえば、特定の金額が当座預金口座から引き出される場合に、口座の名義人の登録携帯電話にテキスト・メッセージを送信します。詳細は、4.5.5項「認可ポリシーの管理」を参照してください。

4.4 認可ポリシーの実装手順

2.4項「ポリシー・ユースケースの実装」では、ポリシーの作成についてのいくつかのユースケースが説明されています。この項には、管理コンソールを使用して認可ポリシーの作成手順(およびそれを構成する元のポリシー・オブジェクト)が記載されています。この手順では、アプリケーションを保護するためにOracle Entitlements ServerおよびJava Security Moduleがインストール済みであると想定しています。

1. アプリケーションを作成します。
アプリケーション名はアプリケーション・コードで使用されるものと一致している必要があります。たとえば、HelloOESworldアプリケーションにマップされるHelloOESworldアプリケーション・オブジェクトを作成します。4.5.1.1項「アプリケーションの作成」を参照してください。

2. リソース・タイプを作成します。
リソース・タイプ名はアプリケーション・コードで使用されるものと一致している必要があります。たとえば、保護するファイルの収集に使用するために、Filesリソース・タイプ・オブジェクトを作成します。writeおよびreadアクションをリソース・タイプと関連付けます。4.5.2.1項「リソース・タイプの作成」を参照してください。

3. リソースを作成します。
リソース名はアプリケーション・コードで使用されるものと一致している必要があります。さらに、リソースはリソース・タイプから作成されます。たとえば、FinanceFileリソースをFilesリソース・タイプから作成します。4.5.3.1項「リソースの作成」を参照してください。

4. 認可ポリシーを作成します。
HelloOESworldアプリケーションで、認可ポリシーを作成します。1つまたは複数のプリンシパル(ロールまたはユーザー)、1つまたは複数のターゲット(リソースまたは資格)を追加し、ターゲットのアクションを確認します。保存する前にオプションの条件または義務を追加することもできます。4.5.5.1項「認可ポリシーの作成」を参照してください。

5. セキュリティ・モジュール定義を作成し、アプリケーションにバインドします。
この手順では、バインド後、この認可ポリシーの分散先のセキュリティ・モジュールが定義されます。8.2項「セキュリティ・モジュール定義の構成」を参照してください。

6. 認可ポリシーをセキュリティ・モジュールに配布します。
第7章「ポリシー配布の管理」を参照してください。

4.5 アプリケーションのポリシー・オブジェクトの管理

次の各項では、アプリケーションに特有なポリシー・オブジェクトを管理する方法について説明します。

- 4.5.1項「アプリケーションの管理」

- 4.5.2項「リソース・タイプの管理」

- 4.5.3項「リソースの管理」

- 4.5.4項「資格の管理」

- 4.5.5項「認可ポリシーの管理」

- 4.5.6項「ロール・カタログでのアプリケーション・ロールの管理」

- 4.5.7項「ロール・マッピング・ポリシーの管理」

- 4.5.8項「ロール・カテゴリの管理」

- 4.5.9項「属性および関数を拡張として管理」

4.5.1 アプリケーションの管理

アプリケーションは特定のアプリケーションのコンポーネントを保護するポリシーおよび関連アーティファクト用の全体的なコンテナとして作成されます。これらのアーティファクトには、ロール、リソース、属性および関数がありますが、これに限定されません。必要に応じて任意の数のアプリケーション・インスタンスを作成することができますが、保護するアプリケーションごとに1つ作成することをお薦めします。次の各項では、アプリケーション・インスタンスでの管理操作について説明します。

- アプリケーションの作成

- アプリケーションの変更

- アプリケーションの削除

4.5.1.1 アプリケーションの作成

アプリケーションを作成するには、次のようにします。

1. ナビゲーション・パネルの「アプリケーション」を右クリックして、メニューから「新規」を選択します。

注意:

または、ホーム領域の「検索」および「作成」の下の「アプリケーションの作成」をクリックします。

ホーム領域にいくつかのタブのある無題ページが表示されます。「一般」タブがアクティブです。委任管理者だけを構成して、アプリケーションが作成された後でポリシー配布の詳細を構成することができます。詳細は、4.5.1.2項「アプリケーションの変更」を参照してください。

2. 作成しているアプリケーションについての次の詳細を「一般」タブで指定します。

- 表示名: 「表示名」はオプションで、大文字と小文字が区別されます。管理コンソールに表示され、検索パラメータとして使用されることがあるため、意味のある値を指定することをお薦めします。

- 名前: 名前は必須で、大文字と小文字は区別されません。アプリケーション・コードで使用されるものと一致している必要があります。

- 説明: オプションですが、アプリケーションに関する有用な情報を入力することをお薦めします。

3. 「保存」メニューから次のいずれかを選択します。

- 「保存して閉じる」で構成を保存し、アプリケーションの「表示名」に指定した値を使用してタブの名前を変更し、委任管理者とポリシー配布タブをアクティブにします。

- 保存して別に作成では、ナビゲーション・パネルの情報ツリーに構成を保存しますが、別のアプリケーションを作成できるように無題の領域が開いたままになります。

4.5.1.2 アプリケーションの変更

アプリケーションを変更するには、次のようにします。

1. ナビゲーション・パネルで、アプリケーション・ノードを開きます。

2. 変更するアプリケーションの名前を選択します。

3. アプリケーション名を右クリックして、メニューから「オープン」を選択します。
または、アプリケーション名をダブルクリックします。「アプリケーション」ページが表示され、「一般」タブ、委任管理者タブ、ポリシー配布タブがすべてアクティブになります。

4. 変更または構成するタブを選択し、パラメータの詳細については適切な項を参照します。

- 一般: 4.5.1.1項「アプリケーションの作成」

- 委任管理者: 第9章「管理者ロールの委任」

- ポリシー配布: 第7章「ポリシー配布の管理」

5. 必要に応じて、適用または保存します。

4.5.1.3 アプリケーションの削除

アプリケーション・リソース・インスタンスを削除するには、次のようにします。

1. 拡張検索を使用して削除するアプリケーションを検索します(5.3.2項「アプリケーションの検索」に記載されています)。
アプリケーションの検索ページが表示されます。

2. 問合せパラメータを入力し、「検索」をクリックします。
結果が表示されます。

3. 結果からアプリケーション名を選択し、「削除」をクリックします。

4. 次のいずれかの方法を選択して、アプリケーションを検索します。
削除の警告が表示されます。

5. 「削除」をクリックします。
アプリケーションが削除されます。

注意:

または、ナビゲーション・パネルで「アプリケーション」情報ツリーを展開し、削除するアプリケーションの名前をダブルクリックします。ホーム領域にアプリケーションが表示されます。右上隅の「削除」をクリックします。

4.5.2 リソース・タイプの管理

リソース･タイプでは、特定の種類の保護リソースの特性の全範囲を指定します。これには、1つまたは複数のリソース属性と、特定の種類のリソースで実行できるすべての有効なアクションの定義が含まれます。アクションはリソースで実行できるビジネス・プロセスでのアクティビティまたはタスクを表します。アクションは標準(URLへのGETおよびPOST)の場合も特定のビジネス・オブジェクトでのカスタム(銀行口座間の振替)の場合もあります。特定のターゲット用のリソース・インスタンスはりソース・タイプから作成されます。次の各項では、リソース・タイプでの管理操作について説明します。

- リソース・タイプの作成

- リソース・タイプの変更

- リソース・タイプの削除

4.5.2.1 リソース・タイプの作成

リソース・タイプを作成するには、次のようにします。

1. 次のいずれかの方法を選択して、リソース・タイプを作成するページを表示します。

- ナビゲーション・パネルで情報ツリーを展開し、リソース・タイプを作成する特定のアプリケーションの下の「リソース・タイプ」を右クリックし、メニューから選択します。

- ホーム領域で、その下にリソース・タイプを作成するアプリケーション名を選択し、「リソースのタイプ」の下の「新規」をクリックします。

ホーム領域に無題ページが表示されます。

2. リソース・タイプに対して次の情報を入力します。

- 表示名: 「表示名」はオプションで、大文字と小文字が区別されます。管理コンソールに表示され、検索パラメータとして使用されることがあるため、意味のある値を指定することをお薦めします。

- 名前: 名前は必須で、大文字と小文字は区別されません。

- リソース・ファインダ: (オプション)oracle.security.jps.service.policystore.entitymanager.ResourceFinderインスタンスを実装するクラスです。これにより、リソースは使用されるポリシー・ストアの外から管理できます。(将来使用するために予約済。)

- 説明: オプションですが、有用な情報を入力することをお薦めします。説明の文字列では、大文字と小文字は区別されません。

3. リソース･タイプで許可されるアクションを「アクション」セクションに追加します。

1. 「新規」をクリックして、「新規アクション」ダイアログを表示します。

2. アクションの名前を入力します。
入力した文字列はアプリケーションが認可を要求するアクションと一致する必要があります。権限クラスを追加した場合、アクションはそれに対して意味があるものである必要があります。

3. 「保存」をクリックします。

「アクション」リストは新しいアクションで更新されます。

4. 次のいずれかの方法を選択して、作成中のリソース・タイプに属性を追加します。

- ドラッグ・アンド・ドロップ

1. ナビゲーション・パネルを使用して、構成済みのリソース・インスタンスで簡易検索を実行することで、アプリケーションの使用可能な属性を一覧表示します。詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

2. 属性を「検索結果」タブから「属性」というラベルの付いた領域にドラッグ・アンド・ドロップします。

- 既存の属性の検索ダイアログ

1. 「属性」セクションで、「追加」をクリックし、既存の属性の検索ダイアログを表示します。

2. リストから属性「タイプ」を選択します。

3. (オプション)一致させる文字列を「検索」テキスト・ボックスに入力します。

4. 「検索」テキスト・ボックスの横の矢印アイコンをクリックして検索を開始します。

5. 追加する属性を選択し、「追加」をクリックします。
リストから複数の項目を選択するには、[Ctrl]キーを押しながらクリックします。

これらの属性はリソースのインスタンス化で使用されます。4.5.3.1項「リソースの作成」を参照してください。

5. 残りのフィールドを構成します。
作成しているリソース・タイプにより選択内容は変わります。

- リソース階層のサポート: 「はい」または「いいえ」を選択して、リソース・タイプを階層として設定します。これは、リソース・タイプがリソースのインスタンス化に使用されるときに次のことを意味します。

- 階層型リソース・タイプから作成されたリソースに適用されるポリシーは、その子であるリソースにも適用できます。

- 階層型リソース・タイプから作成されたリソースに定義された属性は、その子であるリソースに継承されます。

- リソース名のデリミタ: リソース階層のサポートが有効な場合にのみ有効です。デフォルトのデリミタはスラッシュ(/)です。

- ロジックの評価: リソース・タイプの評価ロジックは、権限クラスまたはデフォルトの一致アルゴリズムのいずれの場合もあります。ここでアルゴリズムを定義するか、次で権限クラスを定義します。

- 権限クラス: ロジックの評価が権限クラスの場合、クラス名が必要で、このクラス名は大/小文字が区別されます。

- アクション名のデリミタ: 「リソース・タイプ」が権限を表す場合に、指定した文字を使用してリスト内のアクションを区切ります。

- すべてのアクションのキーワード: ポリシーのターゲットにアクションとして定義されたキーワードが含まれる場合、そのポリシーは認可リクエストとともに渡されるアクションと一致します。たとえば、このパラメータがANYに設定されており、次のポリシーを作成するとします。

GRANT user "Michael" action:"ANY" on resource:"Resource1

「MichaelはResource1に'書込み'を実行できますか」や「MichaelはResource1で'送金'を実行できますか」のような認可リクエストの決定はALLOWを返します。このパラメータを使用すると、そのリソース・タイプに有効なアクションに適用できる1つの認可ポリシーを作成できます。

6. 「保存」メニューから次のいずれかを選択します。

- 「保存して閉じる」で構成を保存し、アプリケーションの「表示名」に指定した値を使用してタブの名前を変更し、委任管理者とポリシー配布タブをアクティブにします。

- 保存して別に作成では、ナビゲーション・パネルの情報ツリーに構成を保存しますが、別のアプリケーションを作成できるように無題の領域が開いたままになります。

4.5.2.2 リソース・タイプの変更

リソース・タイプを変更するには、次のようにします。

1. 目的のリソース・タイプを表示するには、次の方法から選択します。

- ナビゲーション・パネルで情報ツリーを展開し、適切なアプリケーションの下の「リソース・タイプ」ノードを探して、ダブルクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3.3項「リソース・タイプの検索」を参照してください。

- ナビゲーション・パネルの検索機能を使用してリソース･タイプを検索し、「検索結果」タブでリソース・タイプ名をダブルクリックします。ナビゲーション・パネルでの検索の詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

- ホーム領域で、その下にリソース・タイプが作成されたアプリケーション名を選択し、「リソースのタイプ」の下の「検索」をクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3.3項「リソース・タイプの検索」を参照してください。

正しいリソース・タイプ名が表示されたら、それを選択して「開く」をクリックし、詳細を表示します。

2. 必要に応じて変更します。

3. 「適用」をクリックします。

4.5.2.3 リソース・タイプの削除

リソース・タイプを削除するには、次のようにします。

1. 目的のリソース・タイプを削除するには、次の方法から選択します。

- ナビゲーション・パネルで情報ツリーを展開し、適切なアプリケーションの下の「リソース・タイプ」ノードを探して、ダブルクリックします。ホーム領域に検索ダイアログが表示されます。検索の条件を入力し、「検索」をクリックします。検索結果から適切なリソース・タイプを選択し、「削除」をクリックします。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

- ナビゲーション・パネルの検索機能を使用してリソース･タイプを検索し、「検索結果」タブでリソース・タイプ名をダブルクリックします。ホーム領域に検索ダイアログが表示されます。検索の条件を入力し、「検索」をクリックします。検索結果から適切なリソース・タイプを選択し、「削除」をクリックします。ナビゲーション・パネルでの検索の詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

- ホーム領域で、適切なアプリケーション名を選択し、「リソースのタイプ」の下の「検索」をクリックします。ホーム領域に検索ダイアログが表示されます。検索の条件を入力し、「検索」をクリックします。検索結果から適切なリソース・タイプを選択し、「削除」をクリックします。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

削除の警告が表示されます。

2. 「削除」をクリックします。
リソース・タイプが削除されます。

4.5.3 リソースの管理

リソースは、保護アプリケーション内で特定の保護されたターゲットを表します。各リソースは定義済みのリソース・タイプに属し、コンテナ(URL、EJB、JSP)により管理されるソフトウェア・コンポーネント、またはアプリケーション内のビジネス・オブジェクト(レポート、取引、収益のグラフ)を表すことができます。

注意:

リソースは階層型(その中で子リソースは親リソースから属性を継承)の場合も非階層型の場合もあります。階層型に編成されている(ルートから下がる)場合、親リソースに新しい属性を追加するか、または継承される既存の属性を上書きすることができます。

次の各項では、リソースでの管理操作について説明します。

- リソースの作成

- リソースの変更

- リソースの削除

4.5.3.1 リソースの作成

リソースを作成するには、次のようにします。

1. 次のいずれかの方法を選択して、リソースを作成するページを表示します。

- ナビゲーション・パネルを使用して、適切な「アプリケーション」ノードの適用可能な「ポリシー・ドメイン」ノードを展開して、「リソース・カタログ」に移動します。「リソース・カタログ」ノードの「リソース」を右クリックし、メニューから「新規」を選択します。

- ホーム領域で、その下にリソース・インスタンスが作成されるアプリケーション名を選択し、「リソース」の下の「新規」をクリックします。

注意:

このオプションでは、アプリケーションのデフォルトのポリシー・ドメインにリソースを作成します。

ホーム領域に無題ページが表示されます。

2. 次の情報を入力します。

- リソース・タイプ: リストからオプションを選択します。ここでインスタンス属性および上書き表に表示される内容を定義します。

- 表示名: 「表示名」はオプションで、大文字と小文字が区別されます。表示名は管理コンソールに表示され、管理者にオブジェクトの特定に役立つ追加情報を提供するため、分かりやすい表示名を指定することをお薦めします。

- 名前: 名前は必須で、大文字と小文字は区別されません。アプリケーションは実行時にこの文字列を渡して、ユーザーのこのリソースへのアクセスが認可されているかどうかを判断します。

- 説明: オプションですが、資格に関する有用な情報を入力することをお薦めします。説明の文字列では、大文字と小文字は区別されません。

3. このリソースの属性を、インスタンス属性および上書きダイアログに表示される内容に追加または削除します。
上書きダイアログは階層型リソースの場合にのみ表示されます。

4. リストから属性を選択し([Ctrl]キーを押しながらクリックすると、リストから複数の項目を選択できます)、「追加」をクリックします。

5. 「保存」メニューから次のいずれかを選択します。

- 「保存して閉じる」で構成を保存し、アプリケーションの「表示名」に指定した値を使用してタブの名前を変更し、委任管理者とポリシー配布タブをアクティブにします。

- 保存して別に作成では、ナビゲーション・パネルの情報ツリーに構成を保存しますが、別のアプリケーションを作成できるように無題の領域が開いたままになります。

4.5.3.2 リソースの変更

リソースを変更するには、次のようにします。

1. 目的のリソースを表示するには、次の方法から選択します。

- ナビゲーション・パネルを使用して、適切な「アプリケーション」ノードの適用可能な「ポリシー・ドメイン」ノードを展開し、「リソース・カタログ」に移動してダブルクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3.6項「リソースの検索」を参照してください。

- ナビゲーション・パネルの検索機能を使用してリソースを検索し、「検索結果」タブでリソース名をダブルクリックします。ナビゲーション・パネルでの検索の詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

- ホーム領域で、その下にリソース・タイプが作成されたアプリケーション名を選択し、「リソース」の下の「検索」をクリックします。ホーム領域に検索ダイアログが表示されます。この検索ダイアログではデフォルトのポリシー・ドメインにのみ問合せます。ホーム領域での検索の詳細は、5.3.6項「リソースの検索」を参照してください。

正しいリソース名が表示されたら、それを選択して「開く」をクリックし、詳細を表示します。

2. 必要に応じてリソースを変更します。

3. 「適用」をクリックします。

4.5.3.3 リソースの削除

リソースを削除するには、次のようにします。

1. 目的のリソースを削除するには、次の方法から選択します。

- ナビゲーション・パネルを使用して、適切な「アプリケーション」ノードの適用可能な「ポリシー・ドメイン」ノードを展開し、「リソース・カタログ」に移動してダブルクリックします。ホーム領域に検索ダイアログが表示されます。検索の条件を入力し、「検索」をクリックします。検索結果から適切なリソースを選択し、「削除」をクリックします。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

- ナビゲーション・パネルの検索機能を使用してリソースを検索し、「検索結果」タブでリソース名をダブルクリックします。検索結果から適切なリソースを選択し、「削除」をクリックします。ナビゲーション・パネルでの検索の詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

- ホーム領域で、その下にリソースが作成されたアプリケーション名を選択し、「リソース」の下の「検索」をクリックしますホーム領域に検索ダイアログが表示されます。検索の条件を入力し、「検索」をクリックします。(この検索ではデフォルトのポリシー・ドメインにのみ問合せます)。検索結果から適切なリソースを選択し、「削除」をクリックします。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

削除の警告が表示されます。

2. 「削除」をクリックします。
リソースが削除されます。

4.5.4 資格の管理

リソースのインスタンス化後、そこで資格により実行できるアクションを定義します。アクションは、リソースの親リソース・タイプで定義された有効なアクションのセットを使用して定義されます。次の各項では、資格での管理操作について説明します。

- 資格の作成

- 資格の変更

- 資格の削除

注意:

複数のポリシーで同じリソースとアクションのペアのリストを使用する予定がある場合に、資格を作成することがあります。そうでなければ、認可ポリシーを作成するときに、リソースとアクションのペアそのものをターゲットとして直接指定することができます。詳細は、4.5.5項「認可ポリシーの管理」を参照してください。

4.5.4.1 資格の作成

資格を作成するには、次のようにします。

1. 次のいずれかの方法を選択して、資格を作成するページを表示します。

- ナビゲーション・パネルを使用して、適切な「アプリケーション」ノードの適用可能な「ポリシー・ドメイン」ノードを展開して、「リソース・カタログ」に移動します。「リソース・カタログ」ノードの「資格」を右クリックし、メニューから「新規」を選択します。

- ホーム領域で、その下に資格を作成するアプリケーション名を選択し、「資格」から「新規」をクリックします

ホーム領域に無題ページが表示されます。

2. 次の情報を入力します。

- 表示名: 「表示名」はオプションで、大文字と小文字が区別されます。表示名は管理コンソールに表示され、管理者にオブジェクトの特定に役立つ追加情報を提供するため、分かりやすい表示名を指定することをお薦めします。

- 資格名: 名前は必須で、大文字と小文字は区別されません。アプリケーションは実行時にこの文字列を渡して、ユーザーのこのリソースへのアクセスが認可されているかどうかを判断します。

- 説明: オプションですが、資格に関する有用な情報を入力することをお薦めします。説明の文字列では、大文字と小文字は区別されません。

3. 次のいずれかの方法を選択して、資格にリソースを追加します。

- ドラッグ・アンド・ドロップ

1. ナビゲーション・パネルを使用して、リソース・インスタンスで検索を実行することで、アプリケーションの使用可能なリソースを一覧表示します。リソースは資格が作成されているのと同じポリシー・ドメインで検索される必要があります。詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

2. リソースを「検索結果」タブから「リソース」というラベルの付いた領域にドラッグ・アンド・ドロップします。

- 「ターゲットの追加」ポップ・アップ検索

1. 「ターゲット」セクションで「追加」をクリックします。
「ターゲットの追加」ダイアログが表示されます。これにより現在のポリシー・ドメインで検索されます。

2. 文字列を入力することで、使用可能なターゲットを検索します。
問合せに一致するリソースが「検索結果」に表示されます。検索文字列が入力されないと、指定したタイプのすべてのオブジェクトのリストが返されます。

3. 選択して、「選択済の追加」をクリックします。
ターゲットが「選択されたターゲット」に追加されます。リストから複数の項目を選択するには、[Ctrl]キーを押しながらクリックします。

注意:

または、「リソース」タブの下のリソース式リンクをクリックし、「リソース・タイプ」を選択して、文字列式を入力し、「ターゲットに追加」をクリックします。これは定義済みの条件を使用して、実行時に動的にターゲットを検索します。管理者権限のコンテキスト内で、文字列式を含む、選択したリソース・タイプに属するすべてのリソースが返されます。

4. 「ターゲットの追加」をクリックします。

4. 次のように、リソースにアクションを追加します。

1. リソース・リストから追加されたリソースを選択し、「リソースの詳細」セクションにリソースの詳細を表示します。

2. 選択した行を展開し、アクションの範囲を表示します。
この領域では、選択したリソースのタイプに対して許可されているアクションのみが選択可能になります。

3. 「アクション」セクションでそのリソースに対する目的のアクションを確認します。

4. 作成している資格に追加された各リソースに対し、この手順を繰り返します。

5. 「保存」メニューから次のいずれかを選択します。

- 「保存して閉じる」で構成を保存し、アプリケーションの「表示名」に指定した値を使用してタブの名前を変更し、委任管理者とポリシー配布タブをアクティブにします。

- 保存して別に作成では、ナビゲーション・パネルの情報ツリーに構成を保存しますが、別のアプリケーションを作成できるように無題の領域が開いたままになります。

4.5.4.2 資格の変更

資格を変更するには、次のようにします。

1. 目的の資格を表示するには、次の方法から選択します。

- ナビゲーション・パネルを使用して、適切な「アプリケーション」ノードの適用可能な「ポリシー・ドメイン」ノードを展開し、「リソース・カタログ」に移動してダブルクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3.7項「資格の検索」を参照してください。

- ナビゲーション・パネルの検索機能を使用して資格を検索し、「検索結果」タブで資格名をダブルクリックします。ナビゲーション・パネルでの検索の詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

- ホーム領域で、その下に資格が作成されたアプリケーション名を選択し、「資格」の下の「検索」をクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3.7項「資格の検索」を参照してください。

正しい資格名が表示されたら、それを選択して「開く」をクリックし、詳細を表示します。

2. 必要に応じて資格を変更します。

3. 「適用」をクリックします。

4.5.4.3 資格の削除

リソースを削除するには、次のようにします。

1. 目的の資格を削除するには、次の方法から選択します。

- ナビゲーション・パネルで情報ツリーを展開し、適切なアプリケーションのリソース・カタログの下の「資格」ノードを探して、ダブルクリックします。ホーム領域に検索ダイアログが表示されます。検索の条件を入力し、「検索」をクリックします。検索結果から適切なリソースを選択し、「削除」をクリックします。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

- ナビゲーション・パネルの検索機能を使用して資格を検索し、「検索結果」タブで資格名をダブルクリックします。検索結果から適切なリソースを選択し、「削除」をクリックします。ナビゲーション・パネルでの検索の詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

- ホーム領域で、その下に資格が作成されたアプリケーション名を選択し、「資格」の下の「検索」をクリックします。ホーム領域に検索ダイアログが表示されます。検索の条件を入力し、「検索」をクリックします。検索結果から適切なリソースを選択し、「削除」をクリックします。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

削除の警告が表示されます。

2. 「削除」をクリックします。
資格が削除されます。

4.5.5 認可ポリシーの管理

認可ポリシーはアクセス権(付与/拒否)を定義するメカニズムです。ユーザー、アプリケーション・ロールまたは外部ロールはポリシーの権限を付与されます。認可ポリシーには次のものが含まれる必要があります。

- 少なくとも1つのプリンシパル。これはユーザー、外部ロールまたはアプリケーション・ロールである場合があります。コード・ソースはプリンシパルになることはできません。

- 少なくとも1つのターゲット。これはリソースおよびアクション・アソシエーション(ポリシー内に作成)または資格(ポリシー外で作成し追加)の場合がありますが、両方ではありません。定義済みの結果はPERMITまたはDENYです。

注意:

資格に基づくポリシーは、ビジネス機能と密接に関連しています。ビジネス機能でリソースの集まりの保護を考慮する場合は、資格に基づくポリシーを使用することをお薦めします。資格は、1つ以上の付与で使用できます。

次の各項では、認可ポリシーでの管理操作について説明します。

- 認可ポリシーの作成

- 認可ポリシーの変更

- 認可ポリシーの削除

4.5.5.1 認可ポリシーの作成

ポリシーを作成するには、次のようにします。

1. 次のいずれかの方法を選択して、ポリシーを作成するページを表示します。

- ナビゲーション・パネルで、適切な「アプリケーション」ノードの下の「ポリシー・ドメイン」に移動して展開します。「リソース・カタログ」ノードの「認可ポリシー」を右クリックし、メニューから「新規」を選択します。

- ホーム領域で、その下に認可ポリシーを作成するアプリケーション名を選択し、「認可ポリシー」から「新規」をクリックします(このオプションを使用する場合、ポリシーはデフォルトのポリシー・ドメインに作成されます)。

ホーム領域に無題ページが表示されます。

2. 次の情報を入力します。

- 結果: ポリシーで権限を付与する場合は「許可」を、ポリシーで権限を拒否する場合は「拒否」を選択します。

- 表示名: 「表示名」はオプションで、大文字と小文字が区別されます。表示名は管理コンソールに表示され、管理者にオブジェクトの特定に役立つ追加情報を提供するため、分かりやすい表示名を指定することをお薦めします。

- 名前: 名前は必須で、大文字と小文字は区別されません。アプリケーションは実行時にこの文字列を渡して、ユーザーのこのリソースへのアクセスが認可されているかどうかを判断します。

- 説明: オプションですが、資格に関する有用な情報を入力することをお薦めします。説明の文字列では、大文字と小文字は区別されません。

3. 次のいずれかの方法を選択して、認可ポリシーにプリンシパルを追加します。

- ドラッグ・アンド・ドロップ

1. ナビゲーション・パネルを使用して、ユーザー、外部ロールまたはアプリケーション・ロールで検索を実行することで、アプリケーションの使用可能なプリンシパルを一覧表示します。詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

2. プリンシパルを「検索結果」タブから「プリンシパル」というラベルの付いた領域にドラッグ・アンド・ドロップします。

3. 「任意」または「すべて」を選択します。
「任意」の場合、ユーザーは指定したプリンシパルのうち少なくとも１つと一致する必要があります。たとえば、プリンシパルがロールの場合、ユーザーは適用する認可ポリシーの少なくとも1つのロールのメンバーである必要があります。「すべて」の場合、ユーザーは指定したプリンシパルのすべてと一致する必要があります。たとえば、プリンシパルがロールの場合、ユーザーは適用する認可ポリシーのすべてのロールのメンバーである必要があります。

- 「プリンシパルの追加」ポップ・アップ検索
ポップアップ検索ボックスの使用方法の詳細は、5.1項「管理コンソールを使用した検索」を参照してください。

1. 「プリンシパル」セクションで「追加」をクリックします。
「プリンシパルの追加」ダイアログが表示されます。

2. 適切なタブを選択し、使用可能なプリンシパルを検索します。
オプションは、「アプリケーション・ロール」、外部ロールおよび「ユーザー」です。タブ間を移動し、選択したプリンシパルを必要な数だけ追加できます。

3. 文字列を入力することで、使用可能なプリンシパルを検索します。
問合せに一致するプリンシパルが「検索結果」に表示されます。

4. 選択して、「選択済の追加」をクリックします。
プリンシパルが「選択されたプリンシパル」に追加されます。リストから複数の項目を選択するには、[Ctrl]キーを押しながらクリックします。

5. 「プリンシパルの追加」をクリックします。

6. 「任意」または「すべて」を選択します。
「任意」の場合、ユーザーは指定したプリンシパルのうち少なくとも１つと一致する必要があります。たとえば、プリンシパルがロールの場合、ユーザーは適用する認可ポリシーの少なくとも1つのロールのメンバーである必要があります。「すべて」の場合、ユーザーは指定したプリンシパルのすべてと一致する必要があります。たとえば、プリンシパルがロールの場合、ユーザーは適用する認可ポリシーのすべてのロールのメンバーである必要があります。

4. 次のいずれかの方法を選択して、認可ポリシーにターゲットを追加します。
この手順では、リソースおよびアクション・アソシエーションまたは資格あるいはその両方のいずれかを認可ポリシーに追加します。

- ドラッグ・アンド・ドロップ

1. ナビゲーション・パネルを使用して、検索を実行することで、アプリケーションの使用可能なリソースまたは資格を一覧表示します(認可ポリシーを追加する先と同じポリシー・ドメイン内でこれらのオブジェクトを検索することを確認してください)。詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

2. 1つまたは複数のリソースまたは資格を「検索結果」タブから「ターゲット」というラベルの付いた領域にドラッグ・アンド・ドロップします。「ターゲット」に追加されたオブジェクトを展開して、アクションと関連付けることができます。

- 「ターゲットの追加」ポップ・アップ検索
ポップアップ検索ボックスの使用方法の詳細は、5.1項「管理コンソールを使用した検索」を参照してください。

1. 「ターゲット」セクションで「追加」をクリックします。
「ターゲットの追加」ダイアログが表示されます。

2. 適切なタブを選択し、使用可能なターゲットを検索します。
オプションは「資格」および「リソース」です。タブ間を移動し、選択したターゲットを必要な数だけ追加できます。

3. 文字列を入力することで、「資格」タブの下の使用可能なターゲットを検索します。
問合せに一致するリソースが「検索結果」に表示されます。検索文字列が入力されないと、指定したタイプのすべてのオブジェクトのリストが返されます。

4. 選択して、「選択済の追加」をクリックします。
ターゲットが「選択されたターゲット」に追加されます。リストから複数の項目を選択するには、[Ctrl]キーを押しながらクリックします。

5. 文字列を入力することで、「リソース」タブの下の使用可能なターゲットを検索します。
問合せに一致するリソースが「検索結果」に表示されます。検索文字列が入力されないと、指定したタイプのすべてのオブジェクトのリストが返されます。

または、「リソース」タブの下のリソース式リンクをクリックし、「リソース・タイプ」を選択して、文字列式を入力し、「ターゲットに追加」をクリックします。これは定義済みの条件を使用して、実行時に動的にターゲットを検索します。管理者権限のコンテキスト内で、文字列式を含む、選択したリソース・タイプに属するすべてのリソースが返されます。

6. 「ターゲットの追加」をクリックします。

5. 「条件」タブを選択して条件を追加します。
詳細は、4.6項「条件ビルダーの使用」を参照してください。

6. 義務タブを選択します。
認可ポリシーにはゼロ、1つまたは複数の義務が含まれることがあります。

1. 「新規」をクリックして、新規義務ダイアログを表示します。

2. 新規義務に「名前」、(オプション)「表示名」および「説明」を入力し、「追加」をクリックします。

3. 「属性」セクションで「新規」をクリックし、義務の属性を追加します。
義務には属性のセットが含まれます。各属性は、名前と値のペアです。値は静的または事前定義された属性の値にすることができます。各義務には少なくとも1つの属性が必要です。詳細は、4.5.9項「属性および関数を拡張として管理」を参照してください。

4. 新規義務の属性ダイアログに属性の「名前」を入力します。
義務の属性が静的な場合、「データ型」には、「String」、「Integer」、「Boolean」、「Date」または「Time」のいずれかを選択します。義務が属性の場合、データ型には「属性」を選択し、事前定義された属性のリストから選択します。

5. 「追加」をクリックします。

7. 「保存」をクリックして認可ポリシーを保存します。

4.5.5.2 認可ポリシーの変更

ポリシーを変更するには、次のようにします。

1. 目的の認可ポリシーを表示するには、次の方法から選択します。

- ナビゲーション・パネルで情報ツリーを展開し、適切なアプリケーションのポリシー・ドメインの下の「認可ポリシー」ノードを探して、ダブルクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3.8項「認可ポリシーの検索」を参照してください。

- ホーム領域で、その下に認可ポリシーを作成したアプリケーション名を選択し、「認可ポリシー」から「検索」をクリックしますホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3.8項「認可ポリシーの検索」を参照してください。

正しい認可ポリシーが表示されたら、それを選択して「開く」をクリックし、詳細を表示します。

2. 必要に応じてポリシーを変更します。

- 変更するプリンシパルを選択します。
詳細は、4.5.5.1項「認可ポリシーの作成」を参照してください。

- 変更する(または展開する)ターゲットを選択します。
詳細は、4.5.5.1項「認可ポリシーの作成」を参照してください。

- 「条件」タブをクリックして条件を編集します。
詳細は、4.6項「条件ビルダーの使用」を参照してください。

- 義務タブをクリックし、義務またはその属性を変更します。

- 義務を変更するには、義務表から「編集」をクリックし、表示されたダイアログで変更を行い、「更新」をクリックします。

- 属性を変更するには、「属性」表から属性を選択して「編集」をクリックします。表示されたダイアログで変更を行い、「更新」をクリックします。

- 義務を変更するには、義務表から属性を選択して「削除」をクリックします。

3. 「適用」をクリックします。

4.5.5.3 認可ポリシーの削除

認可ポリシーを削除するには、次のようにします。

1. 認可ポリシーの検索画面を表示するには、次の方法から選択します。

- ナビゲーション・パネルで情報ツリーを展開し、適切なアプリケーションのポリシー・ドメインの下の「認可ポリシー」ノードを探して右クリックし、「開く」を選択します。ホーム領域に検索ダイアログが表示されます。

- ホーム領域で、その下に認可ポリシーを作成したアプリケーション名を選択し、「認可ポリシー」から「検索」をクリックしますホーム領域に検索ダイアログが表示されます。

ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

2. 検索の条件を入力し、「検索」をクリックします。

3. 検索結果から適切な認可ポリシーを選択し、「削除」をクリックします。

4.5.6 ロール・カタログでのアプリケーション・ロールの管理

アプリケーション・ロールはアプリケーション・レベル(したがってその名前)で定義されます。アプリケーション・ロールはエンタープライズ・ユーザー、グループまたはアイデンティティ・ストアのロール、またはポリシー・ストアの別のアプリケーション・ロールに割り当てることができます。1つのターゲット・アプリケーションが複数の異なるロールを持ち、よりきめの細かい認可のために、それぞれが異なる権限のセットを割り当てられることが可能です。メンバーシップは、ロール・マッピング・ポリシーを使用して静的または動的に付与できます。

注意:

ロール・マッピング・ポリシーでは、ロールをサブジェクトに割り当て、認可ポリシーではロールのアクセス権限を定義します。

次の手順で関係を確立することで、アプリケーション・ロールを使用してアクセスを制御できます。

1. アプリケーション・ロールを定義して、ユーザーがアプリケーションで持つ機能ロールを表します。

2. 各アプリケーション・ロールを外部ロールまたは個別のユーザーにマッピングします。

3. 認可ポリシーを作成し、アプリケーション・ロールの目標を達成するのに必要なレベルのアクセス権(許可/拒否)を提供します。

4. アプリケーション・ロールをプリンシパルとして1つまたは複数の認可ポリシーに追加します。

アプリケーション・ロールはロールの継承および階層を使用します。継承パターンは、サブジェクトがロールに割り当てられる(ロール・マッピング・ポリシーまたは静的ロールの割当てを使用)ようなもので、ロール・マッピング・ポリシーにより禁止されなければ、子ロールも継承します。アプリケーション・ロールがポリシー・プリンシパルとして参照されるとき、ロールに割り当てられたすべてのユーザーのリソースへのアクセスは、ポリシーにより管理されます。次の各項では、アプリケーション・ロールでの管理操作について説明します。

- アプリケーション・ロールの作成

- アプリケーション・ロールの変更

- アプリケーション・ロールに対する外部ロールのマッピング

- 外部ユーザーのアプリケーション・ロールへのマッピング

- アプリケーション・ロールの削除または外部ロール・マッピングの削除

4.5.6.1 アプリケーション・ロールの作成

次の手順では、新しいアプリケーション・ロールを作成する手順について説明します。同時にメンバーをロールに追加する必要はなく、保存したロールに後で戻ることができます。アプリケーション・ロールを作成するには、次のようにします。

1. 次のいずれかの方法を選択して、アプリケーション・ロールを作成するページを表示します。

- ナビゲーション・パネルで、適切な「アプリケーション」ノードの下のロール・カタログに移動します。ロール・カタログ・ノードを右クリックし、メニューから「新規」を選択します。

- ホーム領域で、その下にアプリケーション・ロールを作成するアプリケーション名を選択し、「アプリケーション・ロール」から「新規」をクリックします

「一般」(アクティブ)、「アプリケーション・ロール階層」、「外部ロール・マッピング」および外部ユーザー・マッピングの、4つのタブのある無題ページがホーム領域に表示されます。

2. 次の情報を「一般」タブで入力します。

- 表示名: 「表示名」はオプションで、大文字と小文字が区別されます。表示名は管理コンソールに表示され、管理者にオブジェクトの特定に役立つ追加情報を提供するため、分かりやすい表示名を指定することをお薦めします。

- ロール名: 名前は必須で、大文字と小文字は区別されません。アプリケーションは実行時にこの文字列を渡して、ユーザーのこのリソースへのアクセスが認可されているかどうかを判断します。

- 説明: オプションですが、資格に関する有用な情報を入力することをお薦めします。説明の文字列では、大文字と小文字は区別されません。

- ロール・カテゴリ: ロール・カテゴリは管理を容易にするためにロールに割り当てることができるタグです。4.5.8項「ロール・カテゴリの管理」を参照してください。

3. 「保存」をクリックします。
ページは「ロール名」に指定したエントリと一致する名前になり、「アプリケーション・ロール階層」、「外部ロール・マッピング」および外部ユーザー・マッピングのタブがアクティブになります。この時点で、「ポリシーの作成」またはポリシーの検索をそれぞれクリックして、このアプリケーション・ロールをプリンシパルとして使用してポリシーを作成するか、このアプリケーション・ロールをプリンシパルとして使用してポリシーを検索することができます。アプリケーション・ロール階層を定義するには、次の手順に続きます。

4. オプションで、アプリケーション・ロール階層タブを選択し、このアプリケーション・ロールが権限を継承する(Inherits)元のロールを定義し、このアプリケーション・ロールが権限を定義する(Is Inherited By)対象のロールを定義します。階層は必須ではありませんが、定義する場合には、次の例のサブ手順が前のオプションに特有の手順です。

1. 「継承」をクリックします。

2. 「追加」をクリックします。

3. 階層を追加しているロールに対応するラジオ・ボタンを選択します。
階層にロールを追加する場合、その下で作業中のロールにロールを追加するか、またはアプリケーション・ロール階層表で選択できるロールに追加することができます。

4. ロールの追加ダイアログの条件フィールドを完成し、「検索」をクリックします。
結果が「検索結果」表に表示されます。空の文字列の場合、すべてのロールをフェッチします。

5. このロールが「検索結果」表から権限を継承する元のロールを選択します。
複数のロールを選択するには、[Ctrl]キーを押しながらクリックします。

6. 「追加」をクリックします。
選択したロールがアプリケーション・ロール階層タブに表示され、アプリケーション・ロールはそこから権限を継承します。

外部ロール・マッピングの詳細は、4.5.6.3項「外部ロールのアプリケーション・ロールへのマッピング」を参照してください。外部ユーザー・マッピングの詳細は、4.5.6.4項「外部ユーザーのアプリケーション・ロールへのマッピング」を参照してください。

4.5.6.2 アプリケーション・ロールの変更

アプリケーション・ロールを変更または表示するには、次のようにします。

1. 目的のアプリケーション・ロールを表示するには、次の方法から選択します。

- ナビゲーション・パネルで情報ツリーを展開し、適切なアプリケーションの下のロール・カタログ・ノードを探して右クリックし、「開く」を選択します。ホーム領域に検索ダイアログが表示されます。検索の条件を入力し、「検索」をクリックします。

- ホーム領域で、その下にアプリケーション・ロールが作成されたアプリケーション名を選択し、「アプリケーション・ロール」から「検索」をクリックしますホーム領域に検索ダイアログが表示されます。検索の条件を入力し、「検索」をクリックします。

正しいアプリケーション・ロールが表示されたら、それを選択して「開く」をクリックし、詳細をホーム領域に表示します。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

2. 変更するパラメータを含むタブを選択し、「追加」をクリックします。
使用可能なタブの詳細は、次を参照してください。

- アプリケーション・ロール階層: アプリケーション・ロールの作成

- 外部ロール・マッピング: アプリケーション・ロールへの外部ロールのマッピング

- 外部ユーザー・マッピング: 外部ユーザーのアプリケーション・ロールへのマッピング

4.5.6.3 アプリケーション・ロールへの外部ロールのマッピング

外部ロールをアプリケーション・ロールにマッピングするには、次のようにします。

1. 目的のアプリケーション・ロールを表示するには、次の方法から選択します。

- ナビゲーション・パネルで情報ツリーを展開し、適切なアプリケーションの下のロール・カタログ・ノードを探して、ダブルクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

- ナビゲーション・パネルの検索機能を使用してアプリケーション・ロールを検索し、「検索結果」タブでアプリケーション・ロール名をダブルクリックします。ナビゲーション・パネルでの検索の詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

- ホーム領域で、その下にアプリケーション・ロールが作成されたアプリケーション名を選択し、「アプリケーション・ロール」から「検索」をクリックしますホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

正しいアプリケーション・ロールが表示されたら、それを選択して「開く」をクリックし、詳細をホーム領域に表示します。

2. 外部ロール・マッピングタブを選択します。

3. 「追加」をクリックして、「ロールの追加」ダイアログを表示します。

4. ロールの追加ダイアログの問合せフィールドを完成し、「検索」をクリックします。
空の文字列の場合、すべてのロールをフェッチします。結果が外部ロール検索表に表示されます。

5. 表内で、マップする外部ロールの名前をクリックして、外部ロールを選択します。
複数のロールを選択するには、[Ctrl]キーを押しながらクリックします。

6. ロールのマップをクリックします。
選択したロールが外部ロール・マッピングタブに表示されます。

4.5.6.4 外部ユーザーのアプリケーション・ロールへのマッピング

外部ユーザーをアプリケーション・ロールにマッピングするには、次のようにします。

1. 目的のアプリケーション・ロールを表示するには、次の方法から選択します。

- ナビゲーション・パネルで情報ツリーを展開し、適切なアプリケーションの下のロール・カタログ・ノードを探して、ダブルクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

- ナビゲーション・パネルの検索機能を使用してアプリケーション・ロールを検索し、「検索結果」タブでアプリケーション・ロール名をダブルクリックします。ナビゲーション・パネルでの検索の詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

- ホーム領域で、その下にアプリケーション・ロールが作成されたアプリケーション名を選択し、「アプリケーション・ロール」から「検索」をクリックしますホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

正しいアプリケーション・ロールが表示されたら、それを選択して「開く」をクリックし、詳細をホーム領域に表示します。

2. 外部ユーザー・マッピング・タブを選択します。

3. 「追加」をクリックして、「ユーザーの追加」ダイアログを表示します。

4. 「ユーザーの追加」ダイアログの問合せフィールドを完成し、「検索」をクリックします。
空の文字列の場合、すべてのロールをフェッチします。結果が外部ユーザー検索表に表示されます。

5. 表内で、マップするユーザーの名前を選択して、ユーザーを選択します。
複数のロールを選択するには、[Ctrl]キーを押しながらクリックします。

6. ユーザーのマップをクリックします。
選択したロールが外部ユーザー・マッピングタブに表示されます。

4.5.6.5 アプリケーション・ロールの削除または外部ロール・マッピングの削除

アプリケーション・ロールを削除する、またはアプリケーション・ロールから外部ロール・マッピングを削除するには、次のようにします。

1. 目的のアプリケーション・ロールを表示するには、次の方法から選択します。

- ナビゲーション・パネルで情報ツリーを展開し、適切なアプリケーションの下のロール・カタログ・ノードを探して右クリックし、「開く」を選択します。ホーム領域に検索ダイアログが表示されます。検索の条件を入力し、「検索」をクリックします。

- ホーム領域で、その下にアプリケーション・ロールが作成されたアプリケーション名を選択し、「アプリケーション・ロール」から「検索」をクリックしますホーム領域に検索ダイアログが表示されます。検索の条件を入力し、「検索」をクリックします。

ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

2. 「検索結果」アプリケーション・ロールを選択し、次を行います。

- 「削除」をクリックしてロールを削除します。

- 外部ロール・マッピング表から適切なマッピングを選択し、「削除」をクリックします。

4.5.7 ロール・マッピング・ポリシーの管理

アプリケーション・ロールへのメンバーシップは、ロール・マッピング・ポリシーを使用して静的または動的に付与できます。アプリケーション・ロールはロール・マッピング・ポリシーで参照され、ユーザーに定義済みのリソースへのアクセス権を付与できます。次の各項では、ロール・マッピング・ポリシーでの管理操作について説明します。

- ロール・マッピング・ポリシーの作成

- ロール・マッピング・ポリシーの変更

- ロール・マッピング・ポリシーの削除

4.5.7.1 ロール・マッピング・ポリシーの作成

ロール・マッピング・ポリシーを作成するには、次のようにします。

1. 次のいずれかの方法を選択して、ロール・マッピング・ポリシーを作成するページを表示します。

- ナビゲーション・パネルで、適切な「アプリケーション」ノードに移動して、ロール・カタログ・ブランチを展開します。ロール・マッピング・ポリシーを右クリックし、メニューから「新規」を選択します。

- ホーム領域で、その下にロール・マッピング・ポリシーを作成するアプリケーション名を選択し、ロール・マッピング・ポリシーから「新規」をクリックします。

ホーム領域に無題ページが表示されます。

2. 次の情報を入力します。

- 結果: ポリシーで権限を付与する場合は「許可」を、ポリシーで権限を拒否する場合は「拒否」を選択します。

- 表示名: 「表示名」はオプションで、大文字と小文字が区別されます。表示名は管理コンソールに表示され、管理者にオブジェクトの特定に役立つ追加情報を提供するため、分かりやすい表示名を指定することをお薦めします。

- 名前: 名前は必須で、大文字と小文字は区別されません。

- 説明: オプションですが、ポリシーに関する有用な情報を入力することをお薦めします。説明の文字列では、大文字と小文字は区別されません。

3. 次のいずれかの方法を選択して、アプリケーション・ロールを追加します。

- ドラッグ・アンド・ドロップ

1. ナビゲーション・パネルを使用して、検索を実行することで、アプリケーションの使用可能なアプリケーション・ロールを一覧表示します詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

2. アプリケーション・ロールを「検索結果」タブから「アプリケーション・ロール」というラベルの付いた領域にドラッグ・アンド・ドロップします。

- 「アプリケーション・ロールの追加」ダイアログ

1. 「アプリケーション・ロール」セクションで「追加」をクリックします。
「アプリケーション・ロールの検索」ダイアログが表示されます。

2. 文字列を入力することで、アプリケーション・ロールを検索します。
問合せに一致するリソースが「検索結果」に表示されます。

3. 追加するプリンシパルを選択し、アプリケーション・ロールの追加をクリックします。
リストから複数の項目を選択するには、[Ctrl]キーを押しながらクリックします。

注意:

このリリースのこのダイアログでは、プリンシパルの検索のタイトルと「プリンシパルの追加」ボタンが表示されます。

4. 次のいずれかの方法を選択して、プリンシパルを追加します。

- ドラッグ・アンド・ドロップ

1. ナビゲーション・パネルを使用して、検索を実行することで、アプリケーションの使用可能なユーザーおよび外部ロールを一覧表示します。詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

2. ユーザーおよび外部ロールを「検索結果」タブから「プリンシパル」というラベルの付いた領域にドラッグ・アンド・ドロップします。

- 「プリンシパルの追加」ダイアログ

1. 「プリンシパル」セクションで「追加」をクリックします。
プリンシパルの検索ダイアログが表示されます。

2. 文字列を入力することで、使用可能なプリンシパル(この場合、ユーザーまたは外部ロール)を検索します。
問合せに一致するリソースが「検索結果」に表示されます。

3. 追加するプリンシパルを選択して、「プリンシパルの追加」をクリックします。
リストから複数の項目を選択するには、[Ctrl]キーを押しながらクリックします。

5. オプションで、次のいずれかの方法を選択して、リソース(ターゲットとも呼ばれます)を追加します。

- ドラッグ・アンド・ドロップ

1. ナビゲーション・パネルを使用して、検索を実行することで、アプリケーションの使用可能なリソースを一覧表示します詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

2. 1つまたは複数のリソースまたは資格を「検索結果」タブから「リソース」というラベルの付いた領域にドラッグ・アンド・ドロップします。

- 「ターゲットの追加」ポップ・アップ検索

1. 「リソース」セクションで「追加」をクリックします。
「ターゲットの追加」ダイアログが表示されます。

2. リソースを含むポリシー・ドメインを選択します(適用可能な場合)。

3. 文字列を入力し、「検索」をクリックします。
問合せに一致するリソースが「検索結果」に表示されます。検索文字列が入力されないと、指定したタイプのすべてのオブジェクトのリストが返されます。

4. 追加する適切なターゲットを選択して、「選択済の追加」をクリックします。
ターゲットが「選択されたターゲット」に追加されます。リストから複数の項目を選択するには、[Ctrl]キーを押しながらクリックします。

5. リソース式リンクをクリックし、ターゲットとして式を追加します。
リソース・タイプを選択し、文字列式を入力して、「ターゲットに追加」をクリックします。これは定義済みの条件を使用して、実行時に動的にターゲットを検索します。管理者権限のコンテキスト内で、文字列式を含む、選択したリソース・タイプに属するすべてのリソースが返されます。

6. 「ターゲットの追加」をクリックします。

6. 条件ビルダーの使用の詳細は、4.6項「条件ビルダーの使用」を参照してください。

7. 「保存」をクリックします。

4.5.7.2 ロール・マッピング・ポリシーの変更

ロール・マッピング・ポリシーを変更するには、次のようにします。

1. 目的のロール・マッピング・ポリシーを表示するには、次の方法から選択します。

- ナビゲーション・パネルで情報ツリーを展開し、適切なアプリケーションのロール・カタログ・ノードの下のロール・マッピング・ポリシーを探して、ダブルクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

- ホーム領域で、その下にアプリケーション・ロールが作成されたアプリケーション名を選択し、ロール・マッピング・ポリシーの下の「検索」をクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

正しいロール・マッピング・ポリシーが表示されたら、それを選択して「開く」をクリックし、詳細をホーム領域に表示します。

2. 必要に応じてポリシーを変更します。

3. 「適用」をクリックします。

4.5.7.3 ロール・マッピング・ポリシーの削除

ロール・マッピング・ポリシーを削除するには、次のようにします。

1. 目的のロール・マッピング・ポリシーを表示するには、次の方法から選択します。

- ナビゲーション・パネルで情報ツリーを展開し、適切なアプリケーションのロール・カタログ・ノードの下のロール・マッピング・ポリシーを探して、ダブルクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

- ホーム領域で、その下にアプリケーション・ロールが作成されたアプリケーション名を選択し、ロール・マッピング・ポリシーの下の「検索」をクリックします。ホーム領域に検索ダイアログが表示されます。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

正しいロール・マッピング・ポリシーが表示されたら、それを選択して「開く」をクリックし、詳細をホーム領域に表示します。

2. 削除するロール・マッピング・ポリシーをダブルクリックします。
ホーム領域にロール・マッピング・ポリシーが表示されます。

3. ホーム領域の右上隅の「削除」をクリックします。

4.5.8 ロール・カテゴリの管理

ロール・カテゴリは管理を容易にするためにロールに割り当てることができるタグです。ロール・カテゴリを作成または削除することはできますが、変更はできません。ロール・カテゴリを作成するには、次のようにします。ロール・カテゴリの削除手順は、最後の手順の後に詳しく説明します。

1. ナビゲーション・パネルで、適切な「アプリケーション」ノードを展開し、ロール・カテゴリ・ノードをダブルクリックします。

ホーム領域にロール・カテゴリ・ページが表示されます。

2. 「新規」をクリックして、「新規カテゴリ」ダイアログ・ボックスを表示します。

3. 次の情報を入力します。

- 名前

- 表示名

- 説明

4. 「作成」をクリックします。
ロール・カテゴリ・リストに新しいカテゴリが表示されます。

ロール・カテゴリを削除するには、ナビゲーション・パネルで、適切な「アプリケーション」ノードを展開し、ロール・カテゴリ・ノードをダブルクリックします。削除するロール・カテゴリを選択し、「削除」をクリックします。

4.5.9 属性および関数を拡張として管理

属性と関数はそれらが作成されたアプリケーションの「拡張」ノードの下に編成された定義です。属性および関数の定義は条件や義務で使用することができます。条件については、属性および関数の定義を使用して、保護リソースへのアクセスをさらに制限するためにポリシーに追加できるオプションの式を作成できます。義務については、このオプションの名前と値のペアのセットは、ポリシー決定とともに、追加の情報をコール側アプリケーションに返します。義務を定義するには次の2つの方法があります。

- 絶対値を含む属性が返される場合に、静的に定義。

- 属性値またはカスタム関数が実行時に評価され出力が返される場合に、動的に定義。

属性は、実行時に動的に定義される値(たとえばユーザーの地域)や、保護リソースのタイプに基づく値(たとえばテキスト・ファイルの作成日)の場合があります。ポリシーの評価中に、属性値はアプリケーションにより渡されることができるか、またはOracle Entitlements Serverが属性リトリーバ・コンポーネントを使用して取得できます。属性には定義済みの型が必要です。ブール、整数、日付、時間および文字列がOracle Entitlements Serverの事前定義済みの型です。属性は、単数または複数の値のリストである場合があります。関数は外部で実装されたロジックの定義です。ポリシーの結果に対する条件としてポリシーに追加できます。次の各項では、属性および関数での管理操作について説明します。

- 属性の作成

- 属性の変更

- 属性の削除

- 関数の作成

- 関数の変更

- 関数の削除

4.5.9.1 属性の作成

属性を作成するには、次のようにします。

1. ナビゲーション・パネルで、適切な「アプリケーション」ノードの下の「拡張」に移動して拡張します。

2. 「属性」ノードを右クリックし、メニューから「新規」を選択します。
ホーム領域に無題ページが表示されます。

3. 属性に対して次の情報を入力します。

- 表示名: 「表示名」はオプションで、大文字と小文字が区別されます。表示名は管理コンソールに表示され、管理者にオブジェクトの特定に役立つ追加情報を提供するため、分かりやすい表示名を指定することをお薦めします。

- 名前: 名前は必須で、大文字と小文字は区別されません。アプリケーションは実行時にこの文字列を渡して、ユーザーのこのリソースへのアクセスが認可されているかどうかを判断します。

- 説明: オプションですが、資格に関する有用な情報を入力することをお薦めします。説明の文字列では、大文字と小文字は区別されません。

- カテゴリ: 「リソース」および「動的」からこの必要なパラメータの値を選択します。

- 型: 「String」、「Date」、「Integer」、「Boolean」、「Time」から選択します。

- 入力値: 「単一」および「複数」から選択します。

4. 「保存」メニューから次のいずれかを選択します。

- 「保存して閉じる」で構成を保存し、「表示名」に指定した値を使用してタブの名前を変更します。

- 保存して別に作成ではナビゲーション・パネルの情報ツリーに構成が保存されますが、別の属性を作成するための無題の領域は開かれたままになります。

4.5.9.2 属性の変更

属性を変更するには、次のようにします。

1. 目的の属性を表示するには、次の方法から選択します。

- ナビゲーション・パネルで、適切な「アプリケーション」ノードの下の「拡張」に移動して拡張します。属性をダブルクリックしてホーム領域に検索ダイアログを表示します。ホーム領域での検索の詳細は、5.3.9項「属性の検索」を参照してください。

- ナビゲーション・パネルの検索機能を使用して属性を検索し、「検索結果」タブで属性名をダブルクリックします。ナビゲーション・パネルでの検索の詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

正しい属性が表示されたら、それを選択して「開く」をクリックし、詳細をホーム領域に表示します。

2. 必要に応じて属性を変更します。

3. 「適用」をクリックします。

4.5.9.3 属性の削除

属性を削除するには、次のようにします。

1. 属性を表示するには、次の方法から選択します。

- ナビゲーション・パネルで、適切な「アプリケーション」ノードの下の「拡張」に移動して拡張します。属性を右クリックして「開く」を選択し、ホーム領域に検索ダイアログを表示します。検索の条件を入力し、「検索」をクリックします。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

- ナビゲーション・パネルの検索機能を使用して属性を検索し、「検索結果」タブで属性名を右クリックして「開く」を選択し、ホーム領域に属性を表示します。ナビゲーション・パネルでの検索の詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

2. 属性を選択し、「削除」をクリックします。
削除の警告が表示されます。

3. 「はい」をクリックします。

4.5.9.4 関数の作成

関数を作成するには、次のようにします。

1. ナビゲーション・パネルで、適切な「アプリケーション」ノードの下の「拡張」に移動して拡張します。

2. 「関数」ノードを右クリックし、メニューから「新規」を選択します。
ホーム領域に無題ページが表示されます。

3. 関数に対して次の情報を入力します。

- 表示名: 「表示名」はオプションで、大文字と小文字が区別されます。表示名は管理コンソールに表示され、管理者にオブジェクトの特定に役立つ追加情報を提供するため、分かりやすい表示名を指定することをお薦めします。

- 名前: 名前は必須で、大文字と小文字は区別されません。アプリケーションは実行時にこの文字列を渡して、ユーザーのこのリソースへのアクセスが認可されているかどうかを判断します。

- 説明: オプションですが、資格に関する有用な情報を入力することをお薦めします。説明の文字列では、大文字と小文字は区別されません。

- 関数クラス名: 機能を提供するクラスの名前です。

- 入力パラメータ: 関数に渡されるパラメータの型のリストです。

- 戻り型: 関数により戻されるデータ型を選択します。

- 構文プレビューは関数の構文をプレビュー表示します。

4. 「保存」メニューから次のいずれかを選択します。

- 「保存して閉じる」で構成を保存し、「表示名」に指定した値を使用してタブの名前を変更します。

- 保存して別に作成ではナビゲーション・パネルの情報ツリーに構成が保存されますが、別に作成するための無題の領域は開かれたままです。

4.5.9.5 関数の変更

関数を変更するには、次のようにします。

1. ナビゲーション・パネルで、適切な「アプリケーション」ノードの下の「拡張」に移動して拡張します。

2. 関数をダブルクリックしてホーム領域に検索ダイアログを表示します。

3. 関数を表示する検索条件を入力します。
ホーム領域での検索の詳細は、5.3.10項「関数の検索」を参照してください。

4. 「検索結果」から関数を選択し、「開く」をクリックします。
ホーム領域に関数の詳細が表示されます。

5. 必要に応じて関数を変更します。

6. 「適用」をクリックします。

4.5.9.6 関数の削除

関数を削除するには、次のようにします。

1. 関数を表示するには、次の方法から選択します。

- ナビゲーション・パネルで、適切な「アプリケーション」ノードの下の「拡張」に移動して拡張します。関数を右クリックして「開く」を選択し、ホーム領域に検索ダイアログを表示します。検索の条件を入力し、「検索」をクリックします。「検索結果」から適切な関数を選択します。ホーム領域での検索の詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

- ナビゲーション・パネルの検索機能を使用して関数を検索し、「検索結果」タブで関数名を右クリックして「開く」を選択し、ホーム領域に関数を表示します。ナビゲーション・パネルでの検索の詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

2. 「削除」をクリックします。
削除の警告が表示されます。

3. 「はい」をクリックします。

4.6 条件ビルダーの使用

ポリシー・ルールのオプションの条件を使用して、アクセスのリクエストへの応答で返された認可決定の適用性を評価できます。たとえば、条件を使用して、リクエストが特定の場所からまたは特定の時間に発行された場合に限り、リソースへのアクセス権を付与することができます。

注意:

ロール・マッピング・ポリシーの条件は、認可ポリシーの条件と同じ機能を提供し、同じ形式をとります。

条件は式の形で作成され、trueかfalseかが決定されます。式の結果がtrueの場合、ポリシーの条件は満たされ、ポリシーが適用されます。式の結果がtrueでない場合、ポリシーは適用されません。式は属性、関数またはリテラルを操作できます。Oracle Entitlements Serverには挿入できる事前定義済みの属性および関数が含まれますが、カスタムの属性および関数を作成することもできます。リテラルはサポートされるデータ型に属する定数です。

注意:

すべての属性と関数(カスタムおよび事前定義済みの両方)は、アプリケーションの「拡張」ノードの下で、作成、収集、およびさらに管理されます。詳細は、4.5.9項「属性および関数を拡張として管理」を参照してください。

条件ビルダーにより、管理者は条件式をすばやく作成して、認可ポリシーまたはロール・マッピング・ポリシーに追加することができます。次の手順では、条件ビルダーを使用してポリシーに条件を作成する方法について説明します。条件を作成するには、認可ポリシーまたはロール・マッピング・ポリシーを作成または変更します。次のいずれかの手順に従うことで、条件を作成できます。

- 認可ポリシーの作成または

- 認可ポリシーの変更

- ロール・マッピング・ポリシーの作成

- ロール・マッピング・ポリシーの変更

適切な画面が表示されたら、次の手順に従います。

1. 「条件」タブをクリックします。

2. 「条件の編集」をクリックします。
条件ビルダーが(図4-1に表示されているように)表示されます。左側の条件式のフレームに注意してください。フレームには2つの「追加」置換可能と演算子のドロップ・ダウンが含まれています(ドロップ・ダウンは演算子が追加されるまでは空白です)。式コンポーネントのタブ、「属性」、「関数」、「リテラル」は右側にあります。これらのタブから「式」フレームにコンポーネントを追加して条件を作成します。

図4-1 条件ビルダー

3. 条件に追加するコンポーネントのタイプを含むタブをクリックします。
図4-2はオペランド値タブのスクリーン・ショットです。これらのタブに表示されている属性と関数は、ポリシーが作成されているアプリケーションに基づいてフィルタされます。たとえば、Application 1で作成されたカスタム関数は、条件ビルダーがApplication 2でポリシーを作成するためにアクティブにされている場合には表示されません。

図4-2 オペランド値タブ

4. 条件に追加するコンポーネントを含む行を選択し、「追加」をクリックします。
青いiをクリックし、コンポーネントに関する詳細を含む「詳細」ボックスを表示します。図4-3は文字列値をとるSYS_APP属性が追加された後のスナップショットです。

図4-3 リテラルの条件への追加

5. 適切なオペランド値を選択し、「追加」をクリックすることで、値を式の右側に移入します。

6. ドロップ・ダウンをクリックし、項目を選択することで、演算子を条件ビルダーの右側に指定します。
演算子のオプションはオペランド値により異なります。

7. 該当する場合は、式の最後の矢印をクリックし、ドロップ･ダウン・メニューからAND、ORまたはNOTを選択することで、式を追加します。
REMOVEによりすべてのコンポーネントの式がクリアされるので、再び開始できます。

8. 該当する場合、適切なオペランド値タブから、追加の式に対するコンポーネントを選択します。
現在の式の最後の矢印をクリックし、オペランド値タブから選択することで、必要な数の式(およびコンポーネント)を追加できます。

9. 「完了」をクリックして条件を完成させます。

式を作成するために条件ビルダー内を移動するときには、次の点を考慮する必要があります。

- 条件ビルダーには追加の詳細のためにほとんどのフィールドにツール・ヒントが含まれています。

- オペランド値の情報については、適切な青いiをクリックします。

- 少なくとも、式には2つのオペランドと1つの演算子が含まれている必要があります。

- 属性と属性、属性と関数、属性とリテラル、関数と関数、関数とリテラルを比較できます。

- 関数の入力パラメータには、属性、リテラルまたは関数を使用できます。

- 表示された演算子の選択は最初のオペランドの選択と直接関係します。たとえば、「次より小さい」または「次と等しい」を文字列で実行することはできません。

- 式内で表示された2番目のオペランド値の選択も最初のオペランドの選択と直接関係します。

- REMOVEによりすべてのコンポーネントに関係する式がクリアされるので、再び開始できます。全部の条件がクリアされるわけではありません。

- 完成した条件(式)は実行時にOracle Entitlements Serverにより評価されます。解釈は優先のルールにより管理されます。

- この条件の出力はブールである必要があります。

次の各項では、さらに複雑な条件の手順を示します。

- 複雑な式の作成

- 関数間でのパラメータの受渡し

4.6.1 複雑な式の作成

この手順では、カッコを使用して複雑な式を作成する方法について説明します。

1. 次のいずれかの手順に従うことで、条件ビルダーを使用できます。

- 認可ポリシーの作成または

- 認可ポリシーの変更

- ロール・マッピング・ポリシーの作成

- ロール・マッピング・ポリシーの変更

2. 「条件」タブをクリックします。

3. 「条件の編集」をクリックします。
条件ビルダーは図4-1のように表示されます。

4. 「属性」タブをクリックします。

5. DateAttrカスタム属性を選択し、「追加」をクリックします。
DateAttrは事前定義済みのOracle Entitlements Serverの属性ではないので、この手順はカスタム属性が4.5.9項「属性および関数を拡張として管理」に記載されているとおりに定義されていることを前提とします。DateAttrは演算子の左側に追加されます。

6. 演算子として等号(=)を選択します。

7. CURRENT_GMT_DATE事前定義属性を選択し、「追加」をクリックします。
CURRENT_GMT_DATEは事前定義済みのOracle Entitlements Serverの属性で、「属性」タブで表示できます。これは演算子の右側に追加されます。

8. コードの最後の行で適切なAND、ORまたはNOT操作を選択することで、条件をより複雑にします。
カッコは一致する必要があります。開きカッコと閉じカッコの数は等しくなければなりません。コードの最後の行で操作を選択する場合、操作にはコード自体が含まれます。条件全体の最後で操作を選択する場合、全体として条件に追加できます。

9. 必要に応じて、「属性」、「関数」または「リテラル」から値を選択することで条件を追加します。

10. 完了後、「完了」をクリックします。

4.6.2 関数間でのパラメータの受渡し

この手順では、パラメータを関数に渡す方法について説明します。

1. 次のいずれかの手順に従うことで、条件ビルダーを使用できます。

- 認可ポリシーの作成または

- 認可ポリシーの変更

- ロール・マッピング・ポリシーの作成

- ロール・マッピング・ポリシーの変更

2. 「条件」タブをクリックします。

3. 「条件の編集」をクリックします。
条件ビルダーは図4-1のように表示されます。

4. 「関数」タブをクリックします。

5. STRING_EQUALを選択し、「追加」をクリックします。
図4-4は追加された関数を示し、渡される必要のある2つのパラメータのプレースフォルダを含んでいます。この関数は2つの文字列(1つは事前定義済み属性の値)を比較します。

図4-4 関数の追加

6. まだの場合、最初のパラメータを選択します。

7. 「属性」タブをクリックします。

8. SYS_USERを選択し、「追加」をクリックします。
2番目のパラメータが強調表示され、「リテラル」タブがアクティブになります。

9. 2番目のパラメータの値を入力し、「追加」をクリックします。
この例では、joeです。演算子の右側のブールが強調表示され、「リテラル」タブがアクティブになります。

10. 適切な演算子を選択します。

11. 「ブール」置換可能をクリックし、この関数の出力がtrueまたはfalseのいずれである必要があるかを選択します。

12. 適切と思われるオペランドを追加します。

13. 完了後、「完了」をクリックします。

5 セキュリティ・オブジェクトの問合せ

Oracle Entitlements Serverでは、Oracle Entitlements Server管理コンソール内から、ポリシーおよびポリシー・オブジェクトを問合せできます。この章では、検索機能のタイプおよび検索機能を使用する目的について説明します。次の項目が含まれます。

- 5.1項「管理コンソールを使用した検索」

- 5.2項「簡易検索を使用したオブジェクトの検索」

- 5.3項「拡張検索を使用したオブジェクトの検索」

5.1 管理コンソールを使用した検索

Oracle Entitlements Serverでは、管理コンソールを使用して、様々な種類の検索問合せを実行できます。

- 簡易検索では、名前および表示名のみを照合します。ナビゲーション・パネルの先頭から検索が生成され、結果はナビゲーション・パネルに表示されます。詳細は、5.2項「簡易検索を使用したオブジェクトの検索」を参照してください。

- 拡張検索では、より高度なマッチングが可能な演算子を使用します。ナビゲーション・パネルで、または「ホーム」領域から、オブジェクトをダブルクリックすると、拡張検索画面が起動します。「ホーム」領域に検索ボックスが開き、そこに結果も表示されます。詳細は、5.3項「拡張検索を使用したオブジェクトの検索」を参照してください。

- ポリシーが作成または変更されている場合、「認可ポリシー」画面またはロール・マッピング・ポリシー画面内から、緑色の「追加」ボタン(プラス記号)をクリックすることによって、ポップアップ検索が開きます。ポップアップ検索ボックスでは、ショッピング・カート・パラダイムを使用します。検索ボックスの上部にある複数の表示されたタブから選択された内容を、検索ボックスの下部にある「選択」ボックスに追加します。「追加」をクリックすると、「選択」ボックス内のすべての選択内容が追加されます。
図5-1は、プリンシパルを追加するためのポップアップ検索ボックスのスクリーン・ショットです。1つ以上のポリシー・サブジェクトを選択し、それを「選択されたプリンシパル」ボックスに追加して、3つのタブ(「アプリケーション・ロール」、「外部ロール」および「ユーザー」)をクリックできます。「プリンシパルの追加」をクリックすると、すべてのタブから追加されたすべての選択内容が、ポリシーに追加されます。

図5-1 ポップアップ検索ボックス

5.2 簡易検索を使用したオブジェクトの検索

簡易検索では、名前および表示名のみを照合します。図5-2に示すように、ナビゲーション・パネルの「認可管理」タブの上部分にあるフィールドを使用して、簡易問合せを指定します。

図5-2 ナビゲーション・パネルの簡易検索のフィールド

簡易検索を指定するには、次のようにします。

1. 「対象」リストから、検索対象のポリシー・オブジェクトを選択します。
使用可能なオブジェクト・タイプは次のとおりです。

- アプリケーション・ロール

- 外部ロール

- ユーザー

- リソース

- リソース・タイプ

- 資格

- 属性

2. 「次を含む」リストから、検索範囲を選択します。
検索範囲は、検索が行われるレベルを定義します。アプリケーション・ロール、リソース、リソース・タイプ、資格および属性を検索する場合、検索範囲はアプリケーションです。外部ロールおよびユーザーの場合、検索範囲はグローバルです。資格およびリソースの場合、検索範囲はアプリケーション内のポリシー・ドメインです。

注意:

リソース検索を実行している場合、タイプ・リストからリソース・タイプも選択します。

3. オプションで、一致させる文字列をテキスト・ボックスに入力します。
簡易検索では、ワイルドカード文字のパーセント(%)およびアスタリスク(*)がサポートされています。

4. テキスト・ボックスの隣にある矢印アイコンをクリックして、検索を開始します。
指定した基準に一致する名前および表示名が返され、「検索結果」タブに表示されます。検索文字列が入力されないと、指定したタイプのすべてのオブジェクトのリストが返されます。

5. オブジェクトをダブルクリックして編集するか、オブジェクトを右クリックして「新規」を選択して作成するか、またはオブジェクトの情報アイコンをクリックして詳細を表示します。
ポリシー・オブジェクトの管理の詳細は、第4章「ポリシーおよびロールの管理」を参照してください。

5.3 拡張検索を使用したオブジェクトの検索

拡張検索を開始するには、通常、ナビゲーション・パネルで、または「ホーム」領域にあるオブジェクトの「検索」リンクから、オブジェクト名をダブルクリックします。拡張検索では、次の演算子を使用できます。

- 次で始まる

- 次で終わる

- 次を含む

- 次と等しい

拡張検索では、ワイルドカード文字はサポートされていません。特に、アスタリスク(*)またはパーセント(%)の文字は、拡張検索パラメータではプレーン・テキストとして処理されます。次の各項では、拡張検索によるポリシー・オブジェクトの検索の詳細を説明します。

- 外部ロールの検索

- アプリケーションの検索

- リソース・タイプの検索

- アプリケーション・ロールの検索

- ロール・マッピング・ポリシーの検索

- リソースの検索

- 資格の検索

- 認可ポリシーの検索

- 属性の検索

- 関数の検索

5.3.1 外部ロールの検索

外部ロールを検索するには、次のようにします。

1. 次の方法から選択して、外部ロールの検索ページを表示します。

- ナビゲーション・パネルで、「グローバル」を開き、「外部ロール」をダブルクリックします。(または、「外部ロール」を右クリックして、「オープン」を選択します。)

- 「ホーム」領域で、検索および作成セクションから検索 - 外部ロールをクリックします。

2. 次の問合せパラメータを入力します。

- 名前: リストから演算子を選択し、一致させる文字列を入力します。

- 表示名: リストから演算子を選択し、一致させる文字列を入力します。

オプションで、以前に保存した検索の「保存済検索」ドロップダウン・リストから選択します。問合せパラメータは、検索フィールドに自動的に移入します。パーソナライズ...を選択して、以前に保存した検索のオプションを設定します。

3. オプションで、保存...をクリックして、現在の問合せパラメータに名前を付けます。
名前付き検索は、「保存済検索」リストに追加されます。

4. 「検索」をクリックします。
結果は、「検索結果」に表示されます。

5.3.2 アプリケーションの検索

アプリケーションを検索するには、次のようにします。

1. 次の方法から選択して、アプリケーションの検索ページを表示します。

- ナビゲーション・パネルで、「アプリケーション」をダブルクリックし、アプリケーションの検索ページを表示します。(または、「アプリケーション」を右クリックして、「オープン」を選択します。)

- 「ホーム」領域で、検索および作成セクションから検索 - アプリケーションをクリックします。

2. 次の問合せパラメータを入力します。

- 名前: リストから演算子を選択し、一致させる文字列を入力します。

- 表示名: リストから演算子を選択し、一致させる文字列を入力します。

オプションで、以前に保存した検索の「保存済検索」ドロップダウン・リストから選択します。問合せパラメータは、検索フィールドに自動的に移入します。パーソナライズ...を選択して、以前に保存した検索のオプションを設定します。

3. オプションで、保存...をクリックして、現在の問合せパラメータに名前を付けます。
名前付き検索は、「保存済検索」リストに追加されます。

4. 「検索」をクリックします。
結果は、「検索結果」に表示されます。

5.3.3 リソース・タイプの検索

リソース・タイプを検索するには、次のようにします。

1. 次の方法から選択して、図5-3に示すようなリソース・タイプの検索ページを表示します。

- ナビゲーション・パネルで、アプリケーション・ノードを開き、「リソース・タイプ」をダブルクリックします。(または、「リソース・タイプ」を右クリックして、「オープン」を選択します。)

- 「ホーム」領域で、適切なアプリケーション名を選択し、「リソース・タイプ」の下の「検索」をクリックします。

図5-3 リソース・タイプの検索

2. 次の問合せパラメータを入力します。

- 表示名: リストから演算子を選択し、一致させる文字列を入力します。

- 名前: リストから演算子を選択し、一致させる文字列を入力します。

- アクション: リストから演算子を選択し、一致させる文字列を入力します。

オプションで、以前に保存した検索の「保存済検索」ドロップダウン・リストから選択します。問合せパラメータは、検索フィールドに自動的に移入します。パーソナライズ...を選択して、以前に保存した検索のオプションを設定します。

3. オプションで、保存...をクリックして、現在の問合せパラメータに名前を付けます。
名前付き検索は、「保存済検索」リストに追加されます。

4. 「検索」をクリックします。
図5-4に示すように、問合せ指定に一致するすべての結果が「検索結果」表に表示されます。

図5-4 リソース・タイプの検索結果

5.3.4 アプリケーション・ロールの検索

アプリケーション・ロールを検索するには、次のようにします。

1. 次の方法から選択して、ロール・カタログの検索ページを表示します。

- ナビゲーション・パネルで、「アプリケーション」および検索に適用可能な名前付きアプリケーション・ノードを開き、ロール・カタログをダブルクリックします。(または、ロール・カタログを右クリックして、「オープン」を選択します。)

- 「ホーム」領域で、アプリケーション名を選択し、「アプリケーション・ロール」から「検索」をクリックします。

図5-5に示すように、ロール・カタログの検索タブが表示されます。

図5-5 ロール・カタログでのアプリケーション・ロールの検索

2. 次の問合せパラメータを入力します。

- ロール名: リストから演算子を選択し、一致させる文字列を入力します。

- 表示名: リストから演算子を選択し、一致させる文字列を入力します。

- カテゴリ: リストからロール・カテゴリを選択します。(Oracle Entitlements Serverでは、ロール・カテゴリの等号検索のみをサポートします。)

オプションで、以前に保存した検索の「保存済検索」ドロップダウン・リストから選択します。問合せパラメータは、検索フィールドに自動的に移入します。パーソナライズ...を選択して、以前に保存した検索のオプションを設定します。

3. オプションで、保存...をクリックして、現在の問合せパラメータに名前を付けます。
名前付き検索は、「保存済検索」リストに追加されます。

4. 「検索」をクリックします。
図5-6に示すように、問合せ指定に一致するすべての結果が「検索結果」表に表示されます。

図5-6 アプリケーション・ロールの検索結果

5.3.5 ロール・マッピング・ポリシーの検索

1. 次の方法から選択して、ロール・マッピング・ポリシーの検索ページを表示します。

- ナビゲーション・パネルで、「アプリケーション」および検索に適用可能な名前付きアプリケーション・ノードを開き、ロール・マッピング・ポリシーをダブルクリックします。(または、ロール・マッピング・ポリシーを右クリックして、「オープン」を選択します。)

- 「ホーム」領域で、アプリケーション名を選択し、ロール・マッピング・ポリシーから「検索」をクリックします。
図5-7に示すように、ロール・ポリシーの検索ページが表示されます。

図5-7 ロール・マッピング・ポリシーの検索

2. 「検索」セクションで、次のように問合せパラメータを入力します。

- 影響: リストからポリシーの影響(付与/拒否)を選択します。

- 表示名: リストから演算子を選択し、一致させる文字列を入力します。

- 名前: リストから演算子を選択し、一致させる文字列を入力します。

- ロール: リストから演算子を選択し、一致させる文字列を入力します。

- プリンシパル: リストから演算子を選択し、一致させる文字列を入力します。

- ターゲット: リストから演算子を選択し、一致させる文字列を入力します。

3. 「検索」をクリックします。
図5-8に示すように、問合せ指定に一致するすべての結果が「検索結果」表に表示されます。

図5-8 ロール・マッピング・ポリシーの検索結果

5.3.6 リソースの検索

リソースは、階層的(サブ・リソースが親リソースから属性を継承するシナリオ)または非階層的にすることができます。リソースが階層的な場合、その階層組織が検索結果に表示されます。リソースを検索するには、次のようにします。

1. 次の方法から選択して、ロール・マッピング・ポリシーの検索ページを表示します。

- ナビゲーション・パネルで、「アプリケーション」および検索に適用可能な名前付きアプリケーション・ノードを開きます。適切なポリシー・ドメインおよびリソース・カタログを開き、「リソース」をダブルクリックします。(または、「リソース」を右クリックして、「オープン」を選択します。)

- 「ホーム」領域で、アプリケーション名を選択し、「リソース」から「検索」をクリックします。
図5-9に示すように、リソースの検索ページが表示されます。

図5-9 リソースの検索

2. 次の問合せパラメータを入力します。

- リソース・タイプ: リストからリソース・タイプを選択します。このパラメータは必須です。

- 表示名: リストから演算子を選択し、一致させる文字列を入力します。

- 名前: リストから演算子を選択し、一致させる文字列を入力します。

3. 「検索」をクリックします。
問合せ指定に一致するすべての結果が「検索結果」表に表示されます。

5.3.7 資格の検索

資格を検索するには、次のようにします。

1. 次の方法から選択して、資格の検索ページを表示します。

- ナビゲーション・パネルで、「アプリケーション」および検索に適用可能な名前付きアプリケーション・ノードを開きます。適切なポリシー・ドメインおよびリソース・カタログを開き、「資格」をダブルクリックします。(または、「資格」を右クリックして、「オープン」を選択します。)

- 「ホーム」領域で、アプリケーション名を選択し、「資格」から「検索」をクリックします。(この場合、デフォルトのポリシー・ドメイン内でのみ、検索が行われます。)

図5-10に示すように、「ホーム」領域に資格の検索タブが表示されます。

図5-10 資格の検索

2. 次の問合せパラメータを入力します。

- 資格名: リストから演算子を選択し、一致させる文字列を入力します。

- 表示名: リストから演算子を選択し、一致させる文字列を入力します。

- リソース名: リストから演算子を選択し、一致させる文字列を入力します。

オプションで、以前に保存した検索の「保存済検索」ドロップダウン・リストから選択します。問合せパラメータは、検索フィールドに自動的に移入します。パーソナライズ...を選択して、以前に保存した検索のオプションを設定します。

3. オプションで、保存...をクリックして、現在の問合せパラメータに名前を付けます。
名前検索は、「保存済検索」リストに追加されます。

4. 「検索」をクリックします。
問合せ指定に一致するすべての結果が「検索結果」表に表示されます。

5.3.8 認可ポリシーの検索

ポリシー名、プリンシパルまたはターゲットを指定することによって、認可ポリシーを検索できます。認可ポリシーを検索するには、次のようにします。

1. 次の方法から選択して、「ポリシーの検索」ページを表示します。

- ナビゲーション・パネルで、「アプリケーション」および検索に適用可能な名前付きアプリケーション・ノードを開きます。適切なポリシー・ドメインおよびリソース・カタログを開き、「認可ポリシー」をダブルクリックします。(または、「認可ポリシー」を右クリックして、「オープン」を選択します。)

- 「ホーム」領域で、アプリケーション名を選択し、「認可ポリシー」の下の「検索」をクリックします。(この場合、デフォルトのポリシー・ドメイン内で、検索が行われます。)

図5-11に示すように、「ポリシーの検索」タブが表示されます。

図5-11 ポリシーの検索

2. 「検索条件」リストから、検索タイプを選択します。
問合せパラメータは、選択内容に応じて変わります。オプションには、「ポリシー」、「プリンシパル」または「ターゲット」があります。図5-11は、「ポリシー」が選択された場合のスクリーンショットです。図5-12は、「ターゲット」が選択された場合のスクリーンショットです。

図5-12 ターゲットによるポリシーの検索

3. 前の選択に基づいたオプションを使用して検索します。

- 「検索条件」が「ポリシー」の場合: 次の問合せパラメータを入力します。

- 影響: リストからポリシーの影響(付与/拒否)を選択します。

- 表示名: リストから演算子を選択し、一致させる文字列を入力します。

- 名前: リストから演算子を選択し、一致させる文字列を入力します。

- プリンシパル: リストから演算子を選択し、一致させる文字列を入力します。

- ターゲット: リストから演算子を選択し、一致させる文字列を入力します。

- 「検索条件」が「プリンシパル」または「ターゲット」の場合: リストから演算子を選択し、一致させる文字列を入力します。
「リソース」または「リソース・タイプ」演算子が選択されている場合、リソース・タイプを指定する必要があります。

4. 「検索」をクリックします。

5.3.9 属性の検索

属性を検索するには、次のようにします。

1. ナビゲーション・パネルで、「アプリケーション」および検索に適用可能な名前付きアプリケーション・ノードを開きます。

2. 「拡張」を開き、「属性」をダブルクリックします。
または、「属性」を右クリックして、「オープン」を選択します。「属性の検索」ページが表示されます。

3. 次の問合せパラメータを入力します。

- 表示名: リストから演算子を選択し、一致させる文字列を入力します。

- 名前: リストから演算子を選択し、一致させる文字列を入力します。

- タイプ: リストから演算子を選択し、一致させる文字列を入力します。

オプションで、以前に保存した検索の「保存済検索」ドロップダウン・リストから選択します。問合せパラメータは、検索フィールドに自動的に移入します。パーソナライズ...を選択して、以前に保存した検索のオプションを設定します。

4. オプションで、保存...をクリックして、現在の問合せパラメータに名前を付けます。
名前付き検索は、「保存済検索」リストに追加されます。

5. 「検索」をクリックします。

5.3.10 関数の検索

アプリケーション関数を検索するには、次のようにします。

1. ナビゲーション・パネルで、「アプリケーション」および検索に適用可能な名前付きアプリケーション・ノードを開きます。

2. 「拡張」を開き、「関数」をダブルクリックします。
または、「関数」を右クリックして、「オープン」を選択します。関数の検索ページが表示されます。

3. 次の問合せパラメータを入力します。

- 名前: リストから演算子を選択し、一致させる文字列を入力します。

- 表示名: リストから演算子を選択し、一致させる文字列を入力します。

オプションで、以前に保存した検索の「保存済検索」ドロップダウン・リストから選択します。問合せパラメータは、検索フィールドに自動的に移入します。パーソナライズ...を選択して、以前に保存した検索のオプションを設定します。

4. オプションで、保存...をクリックして、現在の問合せパラメータに名前を付けます。
名前付き検索は、「保存済検索」リストに追加されます。

5. 「検索」をクリックします。

6 事前定義済属性リトリーバの構成

1.3項「Oracle Entitlements Serverのアーキテクチャの概要」で説明しているように、ポリシー情報ポイント(PIP)は、属性値のソースとして機能するシステム・エンティティです。Oracle Entitlements Serverは、1つ以上のこれらのPIP情報ストアから属性値を取得するために、属性リトリーバ・プラグインに依存しています。事前定義済属性リトリーバは、Oracle Entitlements Serverに同梱されています。この章では、これらの事前定義済属性リトリーバおよび関連する構成要件について説明します。この章には次の項目があります。

- 6.1項「事前定義済属性リトリーバについて」

- 6.2項「事前定義済属性リトリーバの構成」

- 6.3項「jps-config.xmlの変更」

- 6.4項「PIP接続資格証明の設定」

注意:

カスタム属性リトリーバ、およびカスタム属性リトリーバを使用する場合のOracle Entitlements Serverの構成の詳細は、『Oracle Fusion Middleware Oracle Entitlements Server開発者ガイド』を参照してください。

6.1 事前定義済属性リトリーバについて

Oracle Entitlements Serverには事前定義済属性リトリーバが含まれており、これは、Lightweight Directory Access Protocol (LDAP)データ・ストアおよびリレーショナル・データベース管理システム(RDBMS)に接続し、属性値を取得するのに使用されます。これらのプラグインは、追加のプログラミングを行わずに、システムに定義された1つ以上の属性を処理できます。これには、キャッシング機能およびフェイルオーバーも含まれています。

- メモリー内キャッシュ・メカニズムは、Oracle Entitlements Serverと外部リポジトリ間の通信を減らすことでパフォーマンスを向上させるために使用されます。キャッシュは最大1000エントリを保持し、個々の属性に対して有効化できます。キャッシュ・サイズは構成できません。制限に達すると、キャッシュ項目はランダムに削除されます。例6-2は、cachedおよびttlプロパティが指定された個々の属性の定義を示します。

- リポジトリ・フェイルオーバーも構成できます。属性への呼出しを受信すると、Oracle Entitlements Serverは、プライマリ・リポジトリがアクティブであるかどうかを確認します。アクティブな場合、値が取得されます。プライマリ・リポジトリがアクティブではない場合、すでに失敗しており、バックアップ・リポジトリがアクティブになります。後者の場合、Oracle Entitlements Serverは、(構成に基づいて)アクティブ・リポジトリへのスイッチ・バックのタイミングであるかどうかを確認します。スイッチ・バックのタイミングである場合、切替えが行われ、プライマリ・リポジトリから値が取得されます。構成された時間がまだ経過していない場合、アクティブなバックアップ・リポジトリから値が取得されます。

注意:

プライマリ・リポジトリから値を取得中にエラーが発生した場合、Oracle Entitlements Serverは、アクティブなバックアップ・リポジトリが見つかるまで、バックアップ・リポジトリを1つずつ検索します。

構成情報については、6.2.3項「事前定義済属性リトリーバの個々の属性の構成」を参照してください。

6.2 事前定義済属性リトリーバの構成

これらの属性リトリーバの構成情報は、jps-config.xml構成ファイルで定義されます。2つのタイプの情報(属性問合せ情報およびリポジトリ接続情報)を構成する必要があります。

- リポジトリ接続情報は、データ・ストアに接続するために使用され、場所、JDBCドライバとURLまたはLDAP URL(いずれか該当するもの)、およびユーザー/資格証明情報が含まれます。この接続情報は、特定のリトリーバ・インスタンスに関連します。例6-1に示すように、リポジトリ接続情報は、jps-config.xmlの<serviceInstances>セクションで定義されます。

例6-1 属性リトリーバに定義されるリポジトリ接続情報

<serviceInstance name="policystore.rdbms" provider="policy.rdbms">
<property name="jdbc.url"
value="jdbc:oracle:thin:@scl58116.us.oracle.com:1521:orcl"/>
<property name="jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="bootstrap.security.principal.key" value="keyname"/>
<property name="bootstrap.security.principal.map" value="mapname"/>
<property name="oracle.security.jps.ldap.root.name" value="cn=jpsTestNode"/>
<property name="oracle.security.jps.farm.name"
value="cn=wcai_view_jing.atzsrg"/>
</serviceInstance>

6.2.1項「LDAPリポジトリ属性リトリーバ・パラメータの構成」、6.2.2項「データベース・リポジトリ属性リトリーバ・パラメータの構成」、および6.3項「jps-config.xmlの変更」では、リポジトリ接続構成に関する情報が記載されています。

注意:

インスタンスは、デフォルトの<jpsContexts>セクションにも定義する必要があります。例6-8「jpsContextでの事前定義済属性リトリーバの宣言」を参照してください。

- 属性問合せ情報は、特定の属性に関連し、名前、使用する事前定義済属性リトリーバの名前、取得のための検索問合せ(たとえば、ストアがリレーショナル・データベースの場合はSQL問合せ、ストアがディレクトリの場合はLDAP問合せ)、および属性キャッシング情報が含まれます。例6-2に示すように、属性問合せ情報は、jps-config.xmlの<propertySets>セクションで定義されます。

例6-2 属性リトリーバに定義される属性問合せ情報

<propertySet name="ootb.pip.attribute.age.based.on.myattr.ldap">
<property name="ootb.pip.attr.type" value="OOTB_PIP_ATTRIBUTE"/>
<property name="ootb.pip.ref" value="pip.service.ootb.ldap"/>
<property name="name" value="oespipage_myattr"/>
<property name="query" value="(cn=%MyAttr%)"/>
<property name="cached" value="true"/>
<property name="ttl" value="60"/>
</propertySet>

6.2.3項「事前定義済属性リトリーバの個々の属性の構成」および6.3項「jps-config.xmlの変更」では、属性問合せ構成に関する情報が記載されています。

注意:

これらの事前定義済属性リトリーバは、Oracle Database 11gR1、Oracle Internet Directory 11gR1、およびOracle Virtual Directory 11gR1で構成できます。

次の各項では、各タイプの属性リトリーバの構成パラメータの詳細を説明します。前述したように、これらのパラメータは、$DOMAIN_HOME/config/fmwconfigディレクトリにある(Java EEコンテナが使用する)構成ファイルであるjps-config.xml内にあります。

- LDAPリポジトリ属性リトリーバ・パラメータの構成

- データベース・リポジトリ属性リトリーバ・パラメータの構成

- 事前定義済属性リトリーバの個々の属性の構成

6.2.1 LDAPリポジトリ属性リトリーバ・パラメータの構成

表6-1では、LDAP属性リトリーバを使用する場合に定義する必要があるパラメータについて説明します。構成のサンプル・コードは、例6-5「事前定義済LDAP属性リトリーバの使用」および例6-10「LDAPフェイルオーバーの構成」を参照してください。

表6-1 LDAP属性リトリーバ・パラメータ

名前

使用方法

name

説明: 事前定義済属性リトリーバの名前

必須

許容値: 属性リトリーバのサービス・インスタンスを定義する文字列。

description

説明: 事前定義済属性リトリーバの説明

オプション

許容値: 文字列

type

説明: 事前定義済属性リトリーバのタイプ

必須

許容値: LDAP_PIP

failed.server.retry.interval

説明: プライマリ・リポジトリとの通信が失敗した後、この属性は、プライマリ・リポジトリにスイッチ・バックする前にバックアップ・リポジトリが使用されている時間間隔を定義します。

オプション

許容値: 秒数に等しい値を指定します。デフォルト値は15です。

bootstrap.security.principal.key

説明: LDAPポリシー・ストアにアクセスするためのパスワード資格証明のキーを定義し、CSFストアに格納されています。JEEアプリケーションおよびJSEアプリケーションで有効です。LDAPストアおよびデータベース・ストアに適用します。6.4項「PIP接続資格証明の設定」を参照してください。

オプション: 本番モード用のみ。

許容値: 資格証明のキー名(oes_sm_keyなど)。

bootstrap.security.principal.map

説明: LDAPポリシー・ストアにアクセスするためのパスワード資格証明のマップを定義し、CSFストアに格納されています。JEEアプリケーションおよびJSEアプリケーションで有効です。LDAPストアおよびデータベース・ストアに適用します。6.4項「PIP接続資格証明の設定」を参照してください。

オプション: 本番モード用のみ。

許容値: 資格証明のマップ名(oes_sm_mapなど)。

ldap.url

説明: LDAPポリシー・ストアのURLを定義します。JEEアプリケーションおよびJSEアプリケーションで有効で、LDAPストアにのみ適用します。

必須

許容値: LDAPポリシー・ストアのURIで、形式はldap://host:portです。

6.2.2 データベース・リポジトリ属性リトリーバ・パラメータの構成

表6-2では、RDBMS属性リトリーバを使用する場合に定義する必要があるパラメータについて説明します。構成のサンプル・コードは、例6-6「JDBCでの事前定義済RDBMS属性リトリーバの使用」および例6-7「SQLでの事前定義済RDBMS属性リトリーバの使用」を参照してください。

表6-2 RDBMS属性リトリーバ・パラメータ

名前

使用方法

name

説明: 事前定義済属性リトリーバの名前

必須

許容値: 属性リトリーバのサービス・インスタンスを定義する文字列。

description

説明: 事前定義済属性リトリーバの説明

オプション

許容値: 文字列

type

説明: 事前定義済属性リトリーバのタイプ

必須

許容値: RDBMS_PIP

failed.server.retry.interval

説明: プライマリ・リポジトリが失敗した後、この属性は、プライマリ・リポジトリにスイッチ・バックする前にバックアップ・リポジトリが使用されている時間間隔を特定します。

オプション

許容値: 秒数に等しい値を指定します。デフォルト値は15です。

bootstrap.security.principal.key

説明: データベースにアクセスするためのパスワード資格証明のキーを定義し、CSFストアに格納されています。JEEアプリケーションおよびJSEアプリケーションで有効です。6.4項「PIP接続資格証明の設定」を参照してください。

オプション: 本番モード用のみ。

許容値: 資格証明のキー名(oes_sm_keyなど)。

bootstrap.security.principal.map

説明: データベースにアクセスするためのパスワード資格証明のマップを定義し、CSFストアに格納されています。JEEアプリケーションおよびJSEアプリケーションで有効です。6.4項「PIP接続資格証明の設定」を参照してください。

オプション: 本番モード用のみ。

許容値: 資格証明のマップ名(oes_sm_mapなど)。

jdbc.driver

説明: Java Database Connectivity (JDBC) APIを使用してデータベースに接続する場合のドライバの場所。

必須: JDBC APIを使用してデータベースに接続している場合。

許容値: oracle.jdbc.driver.OracleDriverなど

jdbc.url

説明: データベースを指すURLを指定します。

必須: JDBC APIを使用してデータベースに接続している場合。

許容値: カンマ区切りのURLのリスト。最初はプライマリなどとして処理されます。例: jdbc:oracle:thin:@scl58116.us.oracle.com:1521:orcl

datasource.jndi.name

説明: JDBCを直接介するのではなくデータ・ソースを介してPIPインスタンスを動作させる場合のデータ・ソースJNDI名。データ・ソース・シナリオは、WebLogic ServerおよびWebSphere Application Serverのみでサポートされます。

必須: JDBCを直接介するのではなくデータ・ソースを介してPIPインスタンスを動作させる場合。

許容値: 事前定義済データ・ソース・オブジェクトのJNDI名。

6.2.3 事前定義済属性リトリーバの個々の属性の構成

表6-3では、構成された属性リトリーバによって取得された各属性に定義されるパラメータについて説明します。構成のサンプルは、例6-9「属性のキャッシュの有効化」を参照してください。

表6-3 取得する属性の構成

名前

使用方法

name

説明: ポリシー・ストアで定義されている属性の名前。LDAP事前定義済属性リトリーバを使用している場合、Oracle Entitlements Serverに定義される属性名は、LDAPストアで定義される属性名と同じである必要があります。現在、名前マッピング機能はありません。

必須

許容値: 属性名

query

説明: 問合せに使用されるSQLコマンドまたはLDAPフィルタ。ユーザーは、問合せ文字列内の組込み属性およびカスタム属性を使用できます。たとえば、組込み属性sys_userを使用して、select age from customers where name=%sys_user%;などの問合せを定義できます。データ・ストアに問合せを送信する前に、トークンはその値に自動的に置き換えられます。双方向の依存性(たとえば、属性Aの問合せ文字列に属性Bが含まれ、属性Bの問合せ文字列に属性Aが含まれている)も検出でき、このような場合、例外がスローされます。

必須

許容値: SQLコマンドまたはLDAPフィルタ。

search.base

説明: LDAP検索ベース。

必須: LDAP用のみ。

許容値: 検索ベース・オブジェクトのDN。

ttl

説明: cachedが有効化されている場合、cached属性値の存続時間(秒)。

オプション

許容値: 任意の整数。cachedが有効化されている場合、デフォルト値は60秒です。

cached

説明: 属性値のキャッシングを有効化します。

オプション

許容値: デフォルト値はfalseです。

ootb.pip.attr.type

説明: OOTB_PIP_ATTRIBUTEに設定する必要があります。

必須

許容値: OOTB_PIP_ATTRIBUTE

ootb.pip.ref

説明: OOTB PIPインスタンスに設定する必要があります。

必須

許容値: jps-config.xmlの<serviceInstance>セクションで定義されたPIPサービス・インスタンス名。

6.3 jps-config.xmlの変更

jps-config.xml内で事前定義済属性リトリーバを構成するには、この項の各例で説明しているように、要素を変更します。例6-3は、jps-config.xmlファイルのサンプルです。これに続く各例は、行うことができる変更を示します。

例6-3 jps-config.xmlのサンプル・ファイル

<?xml version="1.0"?>

<jpsConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="
http://xmlns.oracle.com/oracleas/schema/jps-config-11_0.xsd">

<property name="oracle.security.jps.jaas.mode" value="off"/>
<property name="oracle.security.jps.enterprise.user.class"
value="weblogic.security.principal.WLSUserImpl"/>
<property name="oracle.security.jps.enterprise.role.class"
value="weblogic.security.principal.WLSGroupImpl"/>

<propertySets>
<!-- These are the global authenticated role properties -->
<propertySet name="authenticated.role.properties">
<property name="authenticated.role.name" value="authenticated-role"/>
<property name="authenticated.role.uniquename" value="authenticated-role"/>
<property name="authenticated.role.description"
value="This is the authenticated role used by identity store
service instance."/>
</propertySet>

<!-- attribute defined for ldap retriever -->
<propertySet name="ootb.pip.attribute.age.ldap">
<property name="ootb.pip.attr.type" value="OOTB_PIP_ATTRIBUTE"/>
<property name="ootb.pip.ref" value="pip.service.ootb.ldap"/>
<property name="name" value="oespipage"/>
<property name="query" value="(cn=%SYS_USER%)"/>
<property name="cached" value="true"/>
<property name="ttl" value="60"/>
</propertySet>

<propertySet name="ootb.pip.attribute.age.based.on.myattr.ldap">
<property name="ootb.pip.attr.type" value="OOTB_PIP_ATTRIBUTE"/>
<property name="ootb.pip.ref" value="pip.service.ootb.ldap"/>
<property name="name" value="oespipage_myattr"/>
<property name="query" value="(cn=%MyAttr%)"/>
<property name="cached" value="true"/>
<property name="ttl" value="60"/>
</propertySet>

<propertySet name="ootb.pip.attribute.gender.ldap">
<property name="ootb.pip.attr.type" value="OOTB_PIP_ATTRIBUTE"/>
<property name="ootb.pip.ref" value="pip.service.ootb.ldap"/>
<property name="name" value="oespipgender"/>
<property name="query" value="(oespipage=%oespipage%)"/>
<property name="cached" value="true"/>
<property name="ttl" value="60"/>
</propertySet>

<!-- attribute defined for rdbms retriever -->
<propertySet name="ootb.pip.attribute.age.rdbms">
<property name="ootb.pip.attr.type" value="OOTB_PIP_ATTRIBUTE"/>
<property name="ootb.pip.ref" value="pip.service.ootb.db"/>
<property name="name" value="oespipage"/>
<property name="query" value="select oespipage
from pip_info_store where username=%SYS_USER%"/>
<property name="cached" value="true"/>
<property name="ttl" value="60"/>
</propertySet>

<propertySet name="ootb.pip.attribute.age.based.on.myattr.rdbms">
<property name="ootb.pip.attr.type" value="OOTB_PIP_ATTRIBUTE"/>
<property name="ootb.pip.ref" value="pip.service.ootb.db"/>
<property name="name" value="oespipage_myattr"/>
<property name="query" value="select oespipage
as oespipage_myattr from pip_info_store where username=%MyAttr%"/>
<property name="cached" value="true"/>
<property name="ttl" value="60"/>
</propertySet>

<propertySet name="ootb.pip.attribute.gender.rdbms">
<property name="ootb.pip.attr.type" value="OOTB_PIP_ATTRIBUTE"/>
<property name="ootb.pip.ref" value="pip.service.ootb.db"/>
<property name="name" value="oespipgender"/>
<property name="query" value="select oespipgender
from pip_info_store where oespipage=%oespipage%"/>
<property name="cached" value="true"/>
<property name="ttl" value="60"/>
</propertySet>
</propertySets>

<serviceProviders>

<serviceProvider type="CREDENTIAL_STORE" name="credstoressp"
class="oracle.security.jps.internal.credstore.ssp.
SspCredentialStoreProvider">
<description>SecretStore-based CSF Provider</description>
</serviceProvider>

<serviceProvider class="oracle.security.jps.az.
internal.runtime.provider.PIPServiceProvider"
name="pip.service.provider" type="PIP"/>

<serviceProvider type="POLICY_STORE" name="policy.rdbms"
class="oracle.security.jps.internal.policystore.
OPSSPolicyStoreProvider">
<property name="policystore.type" value="DB_ORACLE"/>
<description>DBMS based PolicyStore</description>
</serviceProvider>

<serviceProvider name="pdp.service.provider" type="PDP"
class="oracle.security.jps.az.internal.
runtime.provider.PDPServiceProvider">
<description>OPSS Runtime PDP Service Provider</description>
</serviceProvider>

<serviceProvider name="idstore.xml.provider" type="IDENTITY_STORE"
class="oracle.security.jps.internal.idstore.
xml.XmlIdentityStoreProvider">
<description>XML-based IdStore Provider</description>
</serviceProvider>

<serviceProvider name="jaas.login.provider" type="LOGIN"
class="oracle.security.jps.internal.
login.jaas.JaasLoginServiceProvider">
<description>This is Jaas Login Service Provider and is used
to configure login module service instances</description>
</serviceProvider>

<serviceProvider name="policy.xml" type="POLICY_STORE"
class="oracle.security.jps.internal.
policystore.xml.XmlPolicyStoreProvider">
<description>XML-based PolicyStore</description>
</serviceProvider>

<serviceProvider type="POLICY_STORE" name="policy.oid"
class="oracle.security.jps.internal.
policystore.ldap.LdapPolicyStoreProvider">
<description>LDAP-based PolicyStore</description>
<property name="policystore.type" value="OID"/>
<property name="connection.pool.maxsize" value="30"/>
<property name="connection.pool.provider.type" value="idmpool"/>
</serviceProvider>

<serviceProvider type="AUDIT" name="audit.provider"
class="oracle.security.jps.internal.audit.AuditProvider">
<description>Audit Service</description>
</serviceProvider>
</serviceProviders>

<serviceInstances>

<serviceInstance name="credstore" provider="credstoressp" location="./">
<description>File Based Credential Store Service Instance</description>
</serviceInstance>

<serviceInstance name="idstore.xml" provider="idstore.xml.provider">
<!-- Subscriber name must be defined for XML Identity Store -->
<property name="subscriber.name" value="jazn.com"/>
<!-- This is the location of XML Identity Store -->
<property name="location" value="./user-data.xml"/>
<!-- This property set defines the authenticated role -->
<propertySetRef ref="authenticated.role.properties"/>
</serviceInstance>
<serviceInstance name="idstore.loginmodule"
provider="jaas.login.provider">
<description>Identity Store Login Module</description>
<property name="loginModuleClassName" value="oracle.security.jps.internal.
jaas.module.idstore.IdStoreLoginModule"/>
<property name="jaas.login.controlFlag" value="REQUIRED"/>
<property name="debug" value="true"/>
<property name="addAllRoles" value="true"/>
</serviceInstance>

<serviceInstance name="policystore.rdbms" provider="policy.rdbms">
<property name="jdbc.url"
value="jdbc:oracle:thin:@scl58116.us.oracle.com:1521:orcl"/>
<property name="jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="bootstrap.security.principal.key" value="keyname"/>
<property name="bootstrap.security.principal.map" value="mapname"/>
<property name="oracle.security.jps.ldap.root.name"
value="cn=jpsTestNode"/>
<property name="oracle.security.jps.farm.name"
value="cn=wcai_view_jing.atzsrg"/>
</serviceInstance>

<serviceInstance name="policystore.rdbms.ds" provider="policy.rdbms">
<property name="oracle.security.jps.ldap.root.name"
value="cn=jpsTestNode"/>
<property name="oracle.security.jps.farm.name"
value="cn=wcai_view_jing.atzsrg"/>
<property value="atzsrgds" name="datasource.jndi.name"/>
</serviceInstance>

<serviceInstance name="pdp.service" provider="pdp.service.provider">
<property name="oracle.security.jps.runtime.pd.client.sm_name"
value="${atzsrg.pdp.configuration_id}"/>
<property name="oracle.security.jps.pdp.
AuthorizationDecisionCacheEnabled" value="true"/>
<property name="oracle.security.jps.pdp.
AuthorizationDecisionCacheEvictionCapacity" value="500"/>
<property name="oracle.security.jps.pdp.
AuthorizationDecisionCacheEvictionPercentage" value="10"/>
<property name="oracle.security.jps.pdp.
AuthorizationDecisionCacheTTL" value="60"/>
<property name="oracle.security.jps.ldap.
policystore.refresh.interval" value="30000"/>
<property name="oracle.security.jps.policystore.
refresh.purge.timeout" value="600000"/> <!-- 10 minutes -->
<property name="loading_attribute_backward_compatible" value="false"/>
<!-- Properties for controlled mode PD -->
<property name="oracle.security.jps.runtime.
pd.client.policyDistributionMode" value="non-controlled"/>
<property name="oracle.security.jps.runtime.
instance.name" value="${atzsrg.pdp.instance_name}"/>
</serviceInstance>

<serviceInstance name="policystore.oid" provider="policy.oid">
<property name="max.search.filter.length" value="4096"/>
<property name="bootstrap.security.principal.key" value="keyname"/>
<property name="bootstrap.security.principal.map" value="mapname"/>
<property name="ldap.url" value="ldap://scl58126.us.oracle.com:3060"/>
<property name="oracle.security.jps.ldap.root.name"
value="cn=jpsTestNode"/>
<property name="oracle.security.jps.farm.name"
value="cn=wcai_view_jing.atzsrg"/>
<property name="oracle.security.jps.policystore.resourcetypeenforcementmode"
value="Lenient"/>
</serviceInstance>

<serviceInstance name="policystore.xml" provider="policy.xml"
location="./system-jazn-data.xml"/>

<serviceInstance name="user.authentication.loginmodule"
provider="jaas.login.provider">
<description>User Authentication Login Module</description>
<property name="loginModuleClassName"
value="oracle.security.jps.internal.
jaas.module.authentication.JpsUserAuthenticationLoginModule"/>
<property name="jaas.login.controlFlag" value="REQUIRED"/>
</serviceInstance>

<serviceInstance name="user.assertion.loginmodule"
provider="jaas.login.provider">
<description>User Assertion Login Module</description>
<property name="loginModuleClassName"
value="oracle.security.jps.internal.
jaas.module.assertion.JpsUserAssertionLoginModule"/>
<property name="jaas.login.controlFlag" value="REQUIRED"/>
</serviceInstance>

<serviceInstance name="pip.service.ootb.ldap" provider="pip.service.provider">
<property name="type" value="LDAP_PIP"/>
<property name="ldap.url" value="ldap://scl58126.us.oracle.com:3060"/>
<property name="bootstrap.security.principal.key" value="keyname"/>
<property name="bootstrap.security.principal.map" value="mapname"/>
<property name="search.base" value="cn=pip_info_store,
cn=wcai_view_jing.atzsrg,cn=JPSContext,cn=jpsTestNode"/>
<property name="failed.server.retry.interval" value="10"/>
</serviceInstance>
<!-- JPS Audit Service Instance-->
<serviceInstance name="audit" provider="audit.provider">
<property name="audit.filterPreset" value="None"/>
<property name="audit.maxDirSize" value ="0"/>
<property name="audit.maxFileSize" value ="104857600"/>
<property name="audit.loader.jndi" value="jdbc/AuditDB"/>
<property name="audit.loader.interval" value="15" />
<property name="audit.loader.repositoryType" value="File" />
</serviceInstance>

<serviceInstance name="pip.service.ootb.db" provider="pip.service.provider">
<property name="type" value="RDBMS_PIP"/>
<property name="jdbc.url"
value="jdbc:oracle:thin:@scl58116.us.oracle.com:1521:orcl"/>
<property name="jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="bootstrap.security.principal.key" value="keyname"/>
<property name="bootstrap.security.principal.map" value="mapname"/>
<property name="failed.server.retry.interval" value="10"/>
</serviceInstance>

<serviceInstance name="pip.service.ootb.db.ds" provider="pip.service.provider">
<property name="type" value="RDBMS_PIP"/>
<property value="atzsrgds" name="datasource.jndi.name"/>
<property name="failed.server.retry.interval" value="10"/>
</serviceInstance>

</serviceInstances>

<jpsContexts default="default">
<jpsContext name="default">
<serviceInstanceRef ref="policystore.oid"/>
<serviceInstanceRef ref="pdp.service"/>
<serviceInstanceRef ref="audit"/>
<serviceInstanceRef ref="idstore.xml"/>
<serviceInstanceRef ref="idstore.loginmodule"/>
<serviceInstanceRef ref="pip.service.ootb.ldap"/>
<serviceInstanceRef ref="pip.service.ootb.db"/>
</jpsContext>
<jpsContext name="smsec">
<serviceInstanceRef ref="credstore"/>
</jpsContext>

</jpsContexts>

</jpsConfig>

例6-4は、内部Oracle Entitlements Serverクラスを定義することによって、serviceProvider要素が事前定義済属性リトリーバの使用を定義する方法を示します。

例6-4 事前定義済属性リトリーバの宣言

<serviceProvider
class="oracle.security.jps.az.internal.runtime.provider.PIPServiceProvider"
name="pip.service.provider" type="PIP"/>

次の各例は、使用する事前定義済属性リトリーバのserviceInstance要素を変更する方法を示します。

- 例6-5「事前定義済LDAP属性リトリーバの使用」

- 例6-6「JDBCでの事前定義済RDBMS属性リトリーバの使用」

- 例6-7「SQLでの事前定義済RDBMS属性リトリーバの使用」

- 例6-8「jpsContextでの事前定義済属性リトリーバの宣言」

- 例6-9「属性のキャッシュの有効化」

- 例6-10「LDAPフェイルオーバーの構成」

例6-5は、事前定義済LDAP属性リトリーバを使用する場合にserviceInstance要素を変更する方法を示します。

例6-5 事前定義済LDAP属性リトリーバの使用

<serviceInstance name="pip.service.ootb.ldap" provider="pip.service.provider">
<property name="type" value="RDBMS_PIP"/>
<property name="ldap.url" value="ldap://dadvmg0065.us.oracle.com:3080"/>
<property name="bootstrap.security.principal.key" value="keyname"/>
<property name="bootstrap.security.principal.map" value="mapname"/>
<property name="failed.server.retry.interval" value="10"/>
</serviceInstance>

次の2つの例は、事前定義済RDBMS属性リトリーバを使用する場合にserviceInstance要素を変更する方法を示します。例6-6は、Java Database Connectivity (JDBC) APIを使用する場合です。

例6-6 JDBCでの事前定義済RDBMS属性リトリーバの使用

<serviceInstance name="pip.service.ootb.db" provider="pip.service.provider">
<property name="type" value="RDBMS_PIP"/>
<property name="jdbc.url"
value="jdbc:oracle:thin:@scl58116.us.oracle.com:1521:orcl"/>
<property name="jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="bootstrap.security.principal.map" value="mapname"/>
<property name="bootstrap.security.principal.key" value="keyname"/>
<property name="failed.server.retry.interval" value="10"/>
</serviceInstance>

例6-7は、SQLデータベースを使用する場合です。

例6-7 SQLでの事前定義済RDBMS属性リトリーバの使用

<serviceInstance name="pip.service.ootb.db" provider="pip.service.provider">
<property name="type" value="RDBMS_PIP"/>
<property name="datasource.jndi.name" value="DB_RAC"/>
<property name="failed.server.retry.interval" value="10"/>
</serviceInstance>

例6-8は、jpsContext要素で事前定義済属性リトリーバ参照を宣言する方法を示します。このサンプルでは、事前定義済RDBMS属性リトリーバを定義しています。

例6-8 jpsContextでの事前定義済属性リトリーバの宣言

<jpsContext name="default">
<serviceInstanceRef ref="policystore.db"/>
<serviceInstanceRef ref="pdp.service"/>
<serviceInstanceRef ref="audit"/>
<serviceInstanceRef ref="idstore.xml"/>
<serviceInstanceRef ref="idstore.loginmodule"/>
<serviceInstanceRef ref="pip.service.ootb.db"/>
</jpsContext>

例6-9は、特定の属性値のキャッシングを構成する方法を示します。キャッシングは属性ごとに有効化されます。この例では、キャッシュ・レコードは60秒後に削除されます。

例6-9 属性のキャッシュの有効化

<propertySet name="ootb.pip.attribute.gender.ldap">
<property name="ootb.pip.attr.type" value="OOTB_PIP_ATTRIBUTE"/>
<property name="ootb.pip.ref" value="pip.service.ootb.ldap"/>
<property name="name" value="oespipgender"/>
<property name="query" value="(oespipage=%oespipage%)"/>
<property name="cached" value="true"/>
<property name="ttl" value="60"/>
</propertySet>

例6-10は、フェイルオーバー動作を構成する方法を示します。この例では、プライマリ接続はldap://dadvmg0065:3080で、バックアップ接続はldap://scl58123:3060です。失敗したサーバーの再試行間隔は10秒です。

例6-10 LDAPフェイルオーバーの構成

<serviceInstance name="pip.service.ootb.ldap" provider="pip.service.provider">
<property name="type" value="LDAP_PIP"/>
<property name="ldap.url"
value="ldap://dadvmg0065:3080,ldap://scl58123:3060"/>
<property name="bootstrap.security.principal.key" value="keyname"/>
<property name="bootstrap.security.principal.map" value="mapname"/>
<property name="failed.server.retry.interval" value="10"/>
</serviceInstance>

6.4 PIP接続資格証明の設定

表6-1「LDAP属性リトリーバ・パラメータ」および表6-2「RDBMS属性リトリーバ・パラメータ」に示すように、bootstrap.security.principal.keyおよびbootstrap.security.principal.mapパラメータは、データ・ストアにアクセスするためのキーおよびマップ(それぞれ)を定義します。Oracle Entitlements Serverには、ブートストラップ資格証明ストアにこれらのLDAPおよびデータベース接続資格証明を設定するoesPassword.shが付属しています。ツールは、$OES_SM_INSTANCE_DIRECTORY/bin/ディレクトリにあります。次のコマンドを使用して実行します。

./oesPassword.sh -setpass

セキュリティ・プリンシパルのキー名、セキュリティ・プリンシパルのマップ名、ユーザー名および関連するパスワードの入力が求められます。

7 ポリシー配布の管理

ポリシー配布は、構成されたポリシーを作成するために使用されるプロセス、および評価のために使用可能なポリシー・データで構成されます。ポリシーの評価によって、アクセス・リクエストへの回答で、付与または拒否の認可が決定されます。この章の内容は次のとおりです。

- 7.1項「ポリシー配布について」

- 7.2項「配布モードの定義」

- 7.3項「ポリシーの配布」

7.1 ポリシー配布について

ポリシーの管理とポリシーの配布は、異なる操作です。ポリシー管理操作は、ポリシー・ストア内のポリシーを定義、変更および削除するために使用されます。ポリシー配布コンポーネントは、保護されたリソースへのアクセス権を付与または拒否するためにデータを使用するセキュリティ・モジュールで、ポリシーを使用可能にします。ポリシーは、配布されるまで適用されません。ポリシー配布には、次のアクションのいずれかまたはすべてが含まれます。

- ポリシー・ストアからのポリシーの読取り。

- 認可リクエスト処理中に使用するセキュリティ・モジュールによって維持されるメモリー内ポリシー・キャッシュにあるポリシー・オブジェクトのキャッシング。

- ポリシー配布コンポーネントに対してローカルな、ポリシー・ストアから独立したファイルベースの永続キャッシュにあるポリシー・オブジェクトの保存。

中央のOracle Entitlements Server管理コンソールと、(保護されたアプリケーションに)ローカルにインストールされたセキュリティ・モジュールの両方に、ポリシー配布コンポーネントコンポーネントが含まれます。このアーキテクチャによって、次の2つのデプロイメント・シナリオが認められます。1つ目は、多くのセキュリティ・モジュールと通信できる集中ポリシー配布コンポーネントに関係し、2つ目は、1つのセキュリティ・モジュールに対してローカルで、1つのセキュリティ・モジュールと通信するポリシー配布コンポーネントに関係します。

注意:

ポリシー配布用のセキュリティ・モジュールの構成の詳細は、A.1項「ポリシー配布構成」を参照してください。定義の作成およびセキュリティ・モジュールのバインドの詳細は、8.2項「セキュリティ・モジュール定義の構成」を参照してください。

次の各項では、詳細を説明します。

- 集中ポリシー配布コンポーネントの使用

- ローカル・ポリシー配布コンポーネントの使用

7.1.1 集中ポリシー配布コンポーネントの使用

集中ポリシー配布コンポーネント・シナリオは、セキュリティ・モジュールのポリシー配布コンポーネント・クライアントと通信するサーバーとして機能する、(管理コンソール内の)ポリシー配布コンポーネントの使用に関係します。図7-1は、このシナリオで、セキュリティ・モジュールのポリシー配布コンポーネント・クライアントがポリシー・ストアと通信しない方法を示します。ポリシーの配布は、Oracle Entitlements Server管理者によって開始され、ポリシー配布コンポーネント・クライアントにプッシュされます。現在、7.2.1項「制御された配布」で説明しているように、制御された方法でのみデータをプッシュできます。このシナリオでは、多くのセキュリティ・モジュールと通信できる集中ポリシー配布コンポーネントが許可されます。

図7-1 Oracle Entitlements Serverポリシー配布コンポーネントの使用

7.1.2 ローカル・ポリシー配布コンポーネントの使用

ローカルの(セキュリティ・モジュールへの)シナリオは、ポリシー・ストアと直接通信するセキュリティ・モジュールのポリシー配布コンポーネントに関係します。このシナリオでは、ローカルのポリシー配布コンポーネントは、1つのセキュリティ・モジュールのみと通信できます。アプリケーションは、管理操作を管理し、ポリシー配布コンポーネントのセキュリティ・モジュール・インスタンスがポリシーまたはポリシー・デルタを配布するタイミングを決定します。このデプロイメントでは、図7-2に示すように、ポリシー配布コンポーネントは、(配布されるデータがあるかポリシー・ストアを定期的にチェックすることによって、)ポリシー・ストアからデータをプルし、ポリシー・ストアからポリシー・データを送信して、管理者が開始したポリシー配布の後にPDPに対して使用可能にします。

図7-2 セキュリティ・モジュール・ポリシー配布コンポーネントの使用

現在、7.2.1項「制御された配布」で説明しているような制御された方法、または、7.2.2項「制御されない配布」で説明しているような制御されない方法のいずれかで、データをプルできます。

7.2 配布モードの定義

Oracle Entitlements Serverでは、アプリケーションおよびサービスを保護する個々のセキュリティ・モジュールへのポリシーの配布タスクを処理します。ポリシー・データは、制御された方法または制御されない方法のいずれかで配布されます。配布モードは、各セキュリティ・モジュールに対して、jps-config.xml構成ファイルで定義されます。指定した配布モードは、そのセキュリティ・モジュールにバインドされたすべてのアプリケーション・オブジェクトに適用可能です。次の各項では、配布モードの詳細を説明します。

- 制御された配布

- 制御されない配布

7.2.1 制御された配布

制御された配布は、デフォルトの配布モードです。これは、ポリシー配布コンポーネントによって開始され、PDPクライアント(セキュリティ・モジュール)が最後の配布以降に作成または変更されたポリシー・データを受信することを確認します。この点において、配布は、新規または更新済のポリシー・データを配布するための明示的なアクションを実行する、ポリシー管理者によって制御されます。(ポリシー配布コンポーネントは、ポリシー変更および配布を追跡するバージョニング・メカニズムを維持します。)制御された配布を有効化すると、セキュリティ・モジュールは、ポリシー配布コンポーネントの配布を直接リクエストできません。

注意:

セキュリティ・モジュールが開始し、それ自体を構成IDを持つポリシー配布コンポーネントに登録する場合は例外です。ポリシーは、この登録に基づいて、セキュリティ・モジュールに配布されます。

制御された配布の場合、ポリシー配布コンポーネントは、ローカルの永続キャッシュ(ポリシー・オブジェクトを格納し、ポリシー・ストアから独立するためにPDPによって維持されているファイルベースのキャッシュ)にデータを格納するセキュリティ・モジュールに、新規または更新済のポリシー・データを配布します。ポリシー配布コンポーネントは、セキュリティ・モジュール・クライアントへの一定のライブ接続を維持しません。ポリシーを配布する前に接続を確立します。そのため、セキュリティ・モジュールは、ポリシーを決定する際にポリシー・ストアに依存しません。ポリシー・ストアがオフラインの場合、それ自体のローカル・キャッシュを使用できます。セキュリティ・モジュールが開始すると、ポリシー・ストアが使用可能かどうかチェックされます。使用不可の場合、セキュリティ・モジュールはローカルの永続キャッシュからポリシー・データを使用します。

注意:

制御された配布は、データベース・タイプのポリシー・ストアでのみサポートされ、LDAPベースのポリシー・ストアではサポートされません。LDAPポリシー・ストア用に配布APIが呼び出される場合、それは操作不能になります。

制御された配布では、ポリシー配布操作が失敗すると、ポリシー配布全体が失敗します。デフォルトでは、制御された配布は無効化されます。

7.2.2 制御されない配布

PDPクライアント(セキュリティ・モジュール)がポリシー・ストアからポリシーおよびポリシー変更を定期的に取得(プル)する場合、これは制御されない配布と呼ばれます。ポリシー変更がポリシー・ストアに保存されるとすぐに、制御されない配布によってポリシー変更が使用可能になります。制御されない配布は、セキュリティ・モジュールによって開始され、完了していないポリシーを取得することがあります。ポリシー・ストアは、オンラインで、制御されない配布に対して常に使用可能である必要があります。制御されない配布は、どのポリシー・ストア・タイプでもサポートされます。

7.3 ポリシーの配布

上位レベルから、ポリシーを配布できるポイント到達するように、次の手順を実行する必要があります。

1. セキュリティ・モジュール定義を作成します。
8.2.1項「セキュリティ・モジュール定義の作成」を参照してください。

2. 定義を適切なアプリケーションにバインドします。
8.2.2項「セキュリティ・モジュールへのアプリケーションのバインド」を参照してください。セキュリティ・モジュールをバインド解除するには、8.2.3項「セキュリティ・モジュールからのアプリケーションのバインド解除」を参照してください。

3. 「ホーム」領域でアプリケーションを開きます。
7.3.1項「管理コンソールを使用したポリシーの配布」を参照してください。

4. ポリシーを配布します。
7.3.1項「管理コンソールを使用したポリシーの配布」を参照してください。

7.3.1 管理コンソールを使用したポリシーの配布

ポリシーは、アプリケーション内から配布されます。次の手順では、管理コンソールを使用したポリシーの配布方法を説明します。

1. ナビゲーション・パネルで、アプリケーション・ノードを開きます。

2. 変更するアプリケーションを選択します。

3. アプリケーション名を右クリックして、メニューから「オープン」を選択します。
「一般」タブ、委任管理者タブおよびポリシー配布タブはすべてアクティブです。

4. ポリシー配布タブをクリックします。

5. ポリシーを配布するセキュリティ・モジュールの定義を選択します。

6. 「配布」をクリックします。

7. 「リフレッシュ」をクリックして、配布の進行状況を更新します。

8 システム構成の管理

セキュリティ・モジュール定義および管理者の構成は、Authorization Policy Manager管理コンソールの最上位の「システム構成」タブ内で定義されます。この章には次のトピックが含まれます:

- 8.1項「管理者の委任」

- 8.2項「セキュリティ・モジュール定義の構成」

8.1 管理者の委任

管理者ロールを作成して、ポリシー・オブジェクトの管理操作を委任できます。たとえば、管理者ロールを適切なレベルで作成し、管理権限ロールに加えてユーザー、グループ、または他のロールも割り当てることによって、管理者を委任するアプリケーション・ドメインおよびポリシー・ドメインを定義できます。詳細は、第9章「管理者ロールの委任」を参照してください。そこには、アプリケーション・ドメインまたはポリシー・ドメインの他のタイプの管理者ロールを管理できるシステム管理者ロールの作成に関する項があります。

8.2 セキュリティ・モジュール定義の構成

セキュリティ・モジュールは、認可での主要な役割を果たすOracle Entitlements Serverクライアントです。認可リクエストが生成されると、セキュリティ・モジュールはポリシー・データを評価し、リソースへのアクセス権を付与するか拒否するかを決定します。アプリケーション(保護されたリソースを表すOracle Entitlements Serverオブジェクト)を、それを保護するセキュリティ・モジュールにバインドする必要があります。セキュリティ・モジュールをバインドすると、ポリシー・データを評価のために送信できます。ポリシー配布コンポーネント(第7章「ポリシー配布の管理」で説明)は、ポリシー・データをセキュリティ・モジュールに送信する際に使用されるメカニズムです。

注意:

認可プロセスの詳細は、1.4項「Oracle Entitlements Serverの認可ポリシーの処理方法」を参照してください。

次の各項では、アプリケーション・オブジェクトに対するセキュリティ・モジュール定義のバインド(およびバインド解除)の方法について説明します。

- セキュリティ・モジュール定義の作成

- セキュリティ・モジュールへのアプリケーションのバインド

- セキュリティ・モジュールからのアプリケーションのバインド解除

- セキュリティ・モジュール定義の削除

8.2.1 セキュリティ・モジュール定義の作成

セキュリティ・モジュールを作成するには、次のようにします。

1. 「ホーム」領域から「システム構成」タブを選択します。

2. ナビゲーション・パネルにあるセキュリティ・モジュールをダブルクリックします。
または、セキュリティ・モジュールを右クリックして、「オープン」を選択します。図8-1に示すように、セキュリティ・モジュールページが表示されます。

図8-1 「ホーム」領域のセキュリティ・モジュール

3. 「新規」をクリックして、新規セキュリティ・モジュール定義を作成します。
または、「アクション」メニューから「新規」を選択します。セキュリティ・モジュールダイアログが表示されます。

4. 新規セキュリティ・モジュールに、次の値を指定します。

- 名前: 入力値は一意である必要があります。

- 表示名

- 説明

5. 「保存」をクリックします。

8.2.2 セキュリティ・モジュールへのアプリケーションのバインド

アプリケーションをセキュリティ・モジュールにバインドするには、次のようにします。

1. 「ホーム」領域から「システム構成」タブを選択します。

2. ナビゲーション・パネルにあるセキュリティ・モジュールをダブルクリックします。
または、セキュリティ・モジュールを右クリックして、「オープン」を選択します。セキュリティ・モジュールページが表示されます。

3. セキュリティ・モジュール定義の名前を表から選択します。

4. アプリケーションにバインド表で「追加」をクリックするか、「アクション」メニューから「追加」を選択します。
または、アプリケーションにバインド・アクションメニューから「追加」を選択します。「アプリケーションの追加」ダイアログが表示されます。

5. テキスト・ボックスに検索文字列を入力し、矢印をクリックして検索します。
または、検索文字列を入力せずに矢印をクリックして、使用可能なすべてのアプリケーションを返します。

6. 返されたリストから、1つ以上のアプリケーションを選択します。

7. 「追加」をクリックします。
選択したアプリケーションが選択したセキュリティ・モジュールにバインドされ、アプリケーションにバインド表に表示されます。

8.2.3 セキュリティ・モジュールからのアプリケーションのバインド解除

アプリケーションをセキュリティ・モジュールからバインド解除するには、次のようにします。

1. 「ホーム」領域から「システム構成」タブを選択します。

2. ナビゲーション・パネルにあるセキュリティ・モジュールをダブルクリックします。
または、セキュリティ・モジュールを右クリックして、「オープン」を選択します。セキュリティ・モジュールページが表示されます。

3. 表で、該当するセキュリティ・モジュール定義の名前を選択します。

4. アプリケーションにバインド表で、該当するアプリケーションの名前を選択します。

5. 「削除」をクリックするか、「アクション」メニューから「削除」を選択します。
確認ダイアログが表示されます。

6. 「アンバインド」をクリックします。

8.2.4 セキュリティ・モジュール定義の削除

セキュリティ・モジュール定義を削除するには、次のようにします。

1. 「ホーム」領域から「システム構成」タブを選択します。

2. ナビゲーション・パネルにあるセキュリティ・モジュールをダブルクリックします。
または、セキュリティ・モジュールを右クリックして、「オープン」を選択します。セキュリティ・モジュールページが表示されます。

3. 表で、該当するセキュリティ・モジュール定義の名前を選択します。

4. 「削除」をクリックするか、「アクション」メニューから「削除」を選択します。
確認ダイアログが表示されます。

5. 「削除」をクリックします。

9 管理者ロールの委任

システム管理権限およびポリシー管理権限を、ある管理者から別の管理者に委任するには、制限付きの権限を持つ管理者ロールを作成するか、既存の管理者ロールをユーザーに付与します。この章では、ポリシーおよびシステム管理タスクを委任する方法について説明します。この章には次の項目があります。

- 9.1項「委任管理者について」

- 9.2項「範囲と粒度を使用した委任」

- 9.3項「アプリケーション管理の委任」

- 9.4項「委任するポリシー・ドメインの使用」

- 9.5項「ポリシー・ドメイン管理の委任」

- 9.6項「管理者ロールを使用したシステム管理者の管理」

9.1 委任管理者について

管理は、特定のジョブを行うために、1つ以上の認可された権限が誰かに付与されるタイミングです。委任は、誰かに付与されている認可された権限を別の人に譲渡する機能です。それとともに、ある人から別の人への認可された権限の譲渡として、管理の委任を定義できます。Oracle Entitlements Serverでは、ポリシー・オブジェクトおよびエンティティでのタスクを実行する資格を持つ管理者は、管理ロールを使用して、この権限を他の人に譲渡できます。管理ロールは、サブジェクト(ロールを付与される人)、リソース(ロールが関連するオブジェクト)およびアクション(表示、管理/変更)で構成されます。

注意:

ロールの詳細は、1.5.1項「ロールベースのアクセス制御(RBAC)」を参照してください。

Oracle Entitlements Serverでは、管理権限を割り当て、外部ロールおよびユーザーをマッピングすることによって、管理者ロールの委任を定義できます。ユーザーが管理者としてログインすると、ナビゲーション・パネルには、ログイン・ユーザーが管理することを認可されたアプリケーションのセットのみ表示されます。実際は、委任管理者が管理できないすべてのオブジェクトは、非表示になっています。表示および管理権限を持つ管理ロールが付与されている場合、どの非デフォルト委任管理者ロールも、管理操作を実行できます。

注意:

非デフォルト管理者ロールは、手動で作成された任意の管理者ロールです。アプリケーションまたはポリシー・ドメインの作成時に自動的に作成された管理者ロールは、これには含まれません。

管理者ロールには、次の制限も適用されます。

- 非システム・レベルの(委任)管理ロールは、その範囲内の他の管理ロールのみ管理できます。たとえば、アプリケーション1に作成された管理ロールは、アプリケーション1のポリシー・ドメイン内の管理ロールを管理できますが、アプリケーション1内のピア管理ロール、またはアプリケーション2およびアプリケーション2のポリシー・ドメイン内のすべてのロールは管理できません。範囲と粒度の詳細は、9.2項「範囲と粒度を使用した委任」で説明しています。

- システム・レベルの管理ロール(第8章「システム構成の管理」で説明)は、どのアプリケーションまたはポリシー・ドメイン内の管理ロールの委任も管理できます。

- 非デフォルト管理ロール(手動で作成)は、どのアプリケーションまたはポリシー・ドメイン内のデフォルト管理ロールも管理できません。

9.2 範囲と粒度を使用した委任

委任管理は、リソースおよびポリシー・オブジェクトの管理をある人から別の人に譲渡することに関するすべてです。委任の範囲(または委任によって適用されるオブジェクトの範囲)は、レベルで定義されます。管理の粒度は、各範囲で管理されるオブジェクトのタイプを定義します。各範囲が作成されると、デフォルトの管理ロールが自動的に作成されます。追加の管理ロールは後で作成できます。

注意:

次は、すべてのデフォルトの管理ロールに適用可能です。

- デフォルトの管理者ロールは、個別に削除できません。

- ポリシー・ドメインが削除されると、すべての管理ロール(デフォルトを含む)が削除されます。

- アプリケーションが削除されると、すべての管理ロールが削除されます。

- デフォルトの管理者ロールに割り当てられた権限は、変更できません。

最高から最低まで、範囲および適用可能な粒度は、次のとおりです。

- 最高レベルのSystemAdminには、システムレベルのリソースおよびすべてのポリシー関連のオブジェクトを管理する権限があります。システム・リソースには、管理者ロール、システム構成およびセキュリティ・モジュール・バインディングが含まれます。ポリシー・オブジェクトには、アプリケーション・オブジェクトが含まれます。

注意:

システム管理者は、すべてのアプリケーション・オブジェクトおよび子ポリシー・ドメインを含む、すべてのポリシー・オブジェクトに対する権限を持っていますが、構成、アプリケーション・オブジェクトおよび2つの間のバインディングを管理することを主な目的としています。

システム・レベルの管理者ロールの管理については、第8章「システム構成の管理」で説明しています。

- アプリケーション管理者は、割当て先のアプリケーション内のすべてのオブジェクトを管理する権限を持っています。作成される各アプリケーションに、1つのApplicationPolicyAdminが生成されます。これらは、ポリシー・ドメインおよびその子(関数、属性、アプリケーション・ロール、リソース・タイプなど)を含む、アプリケーション内のポリシー・オブジェクトの管理を委任することを主な目的としています。詳細は、9.3項「アプリケーション管理の委任」を参照してください。

- ポリシー・ドメイン管理者は、割当て先のポリシー・ドメイン内のすべてのオブジェクトを管理する権限を持っています。作成される各ポリシー・ドメインに、1つのPolicyDomainAdminが生成されます。これらは、ポリシー・ドメイン内のポリシー、権限およびリソースの管理を委任するために主に作成されます。この概念の概要は、9.4項「委任するポリシー・ドメインの使用」を参照してください。詳細は、9.5項「ポリシー・ドメイン管理の委任」を参照してください。

9.3 アプリケーション管理の委任

次の各項では、アプリケーションの管理者の管理方法について説明します。

- アプリケーションへの委任管理者の追加

- アプリケーションの委任管理者の変更または削除

9.3.1 アプリケーションへの委任管理者の追加

次の手順は、新規管理者ロールを作成し、それを該当するロールまたはユーザーに割り当てる方法を説明します。委任管理者をアプリケーションに追加するには、次のようにします。

1. ナビゲーション・パネルで、アプリケーション・ノードを開きます。

2. 変更するアプリケーションを選択します。

3. アプリケーション名を右クリックして、メニューから「オープン」を選択します。
「一般」タブ、委任管理者タブおよびポリシー配布タブはすべてアクティブです。

4. 委任管理者タブをクリックします。
表示された表に、アプリケーション名がリストされます。アプリケーション名の隣にある矢印をクリックして、アプリケーション・オブジェクトの作成時に作成されたデフォルトのApplicationPolicyAdminを表示します。委任管理者表の下の次のタブ内で、管理者ロール名をクリックして、詳細を表示します。

- ロール詳細

- 外部ロール・マッピング

- 外部ユーザー・マッピング

5. 「新規」をクリックして、新規管理者ロールを作成します。
「新規」をアクティブ化するアプリケーションの名前を必ず選択してください。または、アプリケーションを選択し、「アクション」メニューから「新規」を選択します。新規管理者ロールダイアログが表示されます。

6. 新規管理者ロールに次の値を指定し、「OK」をクリックします。

- 名前: 入力値は一意である必要があります。

- 表示名

- 説明

7. 新規管理者ロールを選択して、その構成タブをアクティブ化します。
ロール詳細タブはアクティブです。

8. 「編集」をクリックして、ロール詳細を定義します。
管理者ロールの編集ダイアログが表示されます。

9. 適切なポリシー・オブジェクトに表示または管理権限を付与し、「保存」をクリックします。
図9-1は、管理ロールの編集権限ポップアップ画面です。リストされたポリシー・オブジェクトに対して、「表示」または「管理」を選択します。たとえば、管理ポリシーによって、管理者は管理ロールに新しい権限を割り当てることができます。ただし、管理ロールによって、管理者は管理ロールにメンバーを割り当てることができます。リストされた他のオブジェクトの詳細は、2.3項「ポリシー・オブジェクトの用語集」を参照してください。

図9-1 管理ロールの編集ポップアップ画面

10. 外部ロール・マッピングタブをクリックして、外部ロールのメンバーに管理者ロールを付与します。

11. 「追加」をクリックして、プリンシパルの検索ダイアログを表示します。

12. 「外部ロール」検索ボックスの問合せフィールドに入力したら、「検索」をクリックします。
空の文字列の場合、すべてのロールをフェッチします。結果は「検索結果」表に表示されます。

13. 表内で、マップする外部ロールの名前をクリックして、外部ロールを選択します。
複数のロールを選択するには、[Ctrl]キーを押しながらクリックします。

14. 「プリンシパルの追加」をクリックします。
選択したロールが外部ロール・マッピングタブに表示されます。

15. 外部ユーザー・マッピングタブをクリックして、外部ユーザーに管理者ロールを付与します。

16. 「追加」をクリックして、プリンシパルの検索ダイアログを表示します。

17. 「ユーザー」検索ボックスの問合せフィールドに入力したら、「検索」をクリックします。
空の文字列の場合、すべてのロールをフェッチします。結果は「検索結果」表に表示されます。

18. 表内で、マップするユーザーの名前を選択して、ユーザーを選択します。
複数のロールを選択するには、[Ctrl]キーを押しながらクリックします。

19. 「プリンシパルの追加」をクリックします。
選択したロールが外部ユーザー・マッピングタブに表示されます。

9.3.2 アプリケーションの委任管理者の変更または削除

アプリケーションの構成された管理者ロールを変更または削除するには、次のようにします。

1. ナビゲーション・パネルで、アプリケーション・ノードを開きます。

2. 変更するアプリケーションを選択します。

3. アプリケーション名を右クリックして、メニューから「オープン」を選択します。
「一般」タブ、委任管理者タブおよびポリシー配布タブはすべてアクティブです。

4. 委任管理者タブをクリックします。

5. 変更する管理者ロールにナビゲートし、選択します。
ロール詳細タブ、外部ロール・マッピングタブおよび外部ユーザー・マッピングタブが表示されます。

6. 変更または削除する構成が含まれているタブを選択します。

- 構成の変更の詳細は、9.3.1項「アプリケーションへの委任管理者の追加」を参照してください。

- 管理者ロールからマッピングを削除するには、該当する管理者ロールおよび適切な「マッピング」タブを選択します。マッピングを選択し、「削除」をクリックします。

- 管理者ロールを削除するには、管理者ロールを選択し、「削除」をクリックします。

9.4 委任するポリシー・ドメインの使用

1つ以上の(オプションの)ポリシー・ドメインを使用して、保護されたアプリケーションを保護しているポリシーの管理を委任できます。ポリシー・ドメインには、完了したポリシー定義のコンポーネントが含まれます。これは、ターゲット・リソース(リソース・タイプのインスタンス)、資格(リソースで実行できるアクション)、およびポリシー(コントロールをアセンブルするルールおよび影響を及ぼすプリンシパル)を合わせたものです。

複数のポリシー・ドメインを使用することによって、保護されたアプリケーションのアーキテクチャや、ポリシーの管理の委任方法など、定義されたロジックに従ってポリシーをパーティション化できます。たとえば、1つのポリシー・ドメインを使用して、すべてのポリシーのリソース保護を維持することも、複数のポリシー・ドメインを使用して、リソースの特定の特性を反映することもできます。異なるポリシー・ドメインを担当する別の管理者を配置することができます。

注意:

ポリシー・ドメインの作成はオプションであるため、ポリシー管理を委任する必要がない場合は、ポリシー・ドメインを作成する必要はありません。この場合、アプリケーションのすべてのポリシー・オブジェクトが含まれる各アプリケーションを使用して、デフォルトのポリシー・ドメインが作成されます。

次の各項では、ポリシー・ドメインの管理手順について説明します。

- ポリシー・ドメインの作成

- ポリシー・ドメインの変更

- ポリシー・ドメインの削除

9.4.1 ポリシー・ドメインの作成

ポリシー・ドメインを作成するには、次のようにします。

1. ポリシー・ドメインを作成するナビゲーション・パネルでアプリケーションの名前を右クリックし、メニューから「新規」を選択します。
「ホーム」領域に無題のページが表示されます。

2. ポリシー・ドメインの次の情報を指定します。

- 表示名

- 名前

- 説明: オプションですが、資格に関する有用な情報を指定することをお薦めします。

3. 「保存」メニューから次のいずれかを選択します。

- 「保存して閉じる」では、構成を保存し、ポリシー・ドメインの表示名に指定した値でタブの名前を変更します。

- 保存して別に作成では、ナビゲーション・パネルの情報ツリーに構成を保存しますが、別のアプリケーションを作成できるように無題の領域が開いたままになります。

9.4.2 ポリシー・ドメインの変更

ポリシー・ドメインを変更するには、次のようにします。

1. 削除するポリシー・ドメインが作成されたアプリケーションにナビゲートし、情報ツリーを開きます。

2. 変更するポリシー・ドメインの名前をダブルクリックします。
「ホーム」領域にポリシー・ドメイン構成が表示されます。

3. 必要に応じて変更し、「適用」をクリックします。

9.4.3 ポリシー・ドメインの削除

ポリシー・ドメインを削除するには、次のようにします。

1. 削除するポリシー・ドメインが作成されたアプリケーションにナビゲートし、情報ツリーを開きます。

2. 削除するポリシー・ドメインの名前をダブルクリックします。
「ホーム」領域にポリシー・ドメイン構成が表示されます。

3. 「削除」をクリックします。
確認ダイアログが表示されます。

4. 「OK」をクリックして削除します。

9.5 ポリシー・ドメイン管理の委任

次の各項では、ポリシー・ドメインの管理者の管理方法について説明します。

- ポリシー・ドメインへの委任管理者の追加

- ポリシー・ドメインの委任管理者の変更または削除

9.5.1 ポリシー・ドメインへの委任管理者の追加

次の手順は、新規管理者ロールを作成し、それを該当するロールまたはユーザーに割り当てる方法を説明します。委任管理者をポリシー・ドメインに追加するには、次のようにします。

1. ナビゲーション・パネルで、アプリケーション・ノードを開きます。

2. 変更するアプリケーションを選択します。

3. アプリケーション名を右クリックして、メニューから「オープン」を選択します。
「一般」タブ、委任管理者タブおよびポリシー配布タブはすべてアクティブです。

4. 委任管理者タブをクリックします。
表示された表に、ポリシー・ドメイン名がリストされます。ポリシー・ドメインの隣にある矢印をクリックして、階層を展開し、すでに構成された管理者ロール(デフォルトのPolicyDomainAdminなど)を表示します。

5. 管理者ロールを作成するポリシー・ドメインを選択します。

6. 「新規」をクリックして、新規管理者ロールを作成します。
「新規」をアクティブ化するポリシー・ドメインの名前を必ず選択してください。または、ポリシー・ドメインを選択し、「アクション」メニューから「新規」を選択します。新規管理者ロールダイアログが表示されます。

7. 新規管理者ロールに次の値を指定し、「OK」をクリックします。

- 名前: 入力値は一意である必要があります。

- 表示名

- 説明

8. 新規管理者ロールを選択して、その構成タブをアクティブ化します。
ロール詳細タブはアクティブです。

9. 「編集」をクリックして、ロール詳細を定義します。
管理者ロールの編集ダイアログが表示されます。

10. 適切なポリシー・ドメイン・オブジェクトに表示または管理権限を付与し、「保存」をクリックします。

11. 外部ロール・マッピングタブをクリックします。

1. 「追加」をクリックして、プリンシパルの検索ダイアログを表示します。

2. 「外部ロール」検索ボックスの問合せフィールドに入力したら、「検索」をクリックします。
空の文字列の場合、すべてのロールをフェッチします。結果は「検索結果」表に表示されます。

3. 表内で、マップする外部ロールの名前をクリックして、外部ロールを選択します。
複数のロールを選択するには、[Ctrl]キーを押しながらクリックします。

4. 「プリンシパルの追加」をクリックします。
選択したロールが外部ロール・マッピングタブに表示されます。

12. 外部ユーザー・マッピングタブをクリックします。

1. 「追加」をクリックして、プリンシパルの検索ダイアログを表示します。

2. 「ユーザー」検索ボックスの問合せフィールドに入力したら、「検索」をクリックします。
空の文字列の場合、すべてのロールをフェッチします。結果は「検索結果」表に表示されます。

3. 表内で、マップするユーザーの名前を選択して、ユーザーを選択します。
複数のロールを選択するには、[Ctrl]キーを押しながらクリックします。

4. 「プリンシパルの追加」をクリックします。
選択したロールが外部ユーザー・マッピングタブに表示されます。

9.5.2 ポリシー・ドメインの委任管理者の変更または削除

ポリシー・ドメインの構成された管理者ロールを変更または削除するには、次のようにします。

1. ナビゲーション・パネルで、アプリケーション・ノードを開きます。

2. 変更するアプリケーションを選択します。

3. アプリケーション名を右クリックして、メニューから「オープン」を選択します。
「一般」タブ、委任管理者タブおよびポリシー配布タブはすべてアクティブです。

4. 委任管理者タブをクリックします。

5. 変更する管理者ロールにナビゲートし、選択します。
ロール詳細タブ、外部ロール・マッピングタブおよび外部ユーザー・マッピングタブが表示されます。

6. 変更または削除する構成が含まれているタブを選択します。

- 構成の変更の詳細は、9.5.1項「ポリシー・ドメインへの委任管理者の追加」を参照してください。

- 管理者ロールからマッピングを削除するには、該当する管理者ロールおよび適切な「マッピング」タブを選択します。マッピングを選択し、「削除」をクリックします。

- 管理者ロールを削除するには、管理者ロールを選択し、「削除」をクリックします。

9.6 管理者ロールを使用したシステム管理者の管理

システム管理者ロールを作成および構成すると、システム管理権限をユーザーに委任できます。デフォルトでは、SystemAdminは、インストール中に作成され、メインの「システム構成」タブの下にある「システム管理者」にナビゲートすると、「システム管理者」表に表示されます。SystemAdminはシステム・レベル・リソース(その他の管理者ロールと、システム構成およびバインデイングを含む)を管理し、WebLogic Serverのweblogicユーザーにマップします。

次の各項では、Oracle Entitlements Serverのすべてのシステム管理者ロールの管理操作について説明します。

- 新規管理者ロールの作成

- 管理者ロールへの権限の割当て

- 管理者ロール・メンバーシップの変更

- 管理者ロールの削除

9.6.1 新規管理者ロールの作成

新規管理者ロールを作成するには、次のようにします。

1. 「ホーム」領域から「システム構成」タブを選択します。
「ホーム」領域に「システム管理者」タブが表示されます。

2. 管理者ロールの下にある「新規」をクリックして、新規管理者ロールを作成します。
ダイアログが表示されます。

3. 新規管理者ロールに、次の値を指定します。

- 名前: 入力値は一意である必要があります。

- 表示名

- 説明

4. 「作成」をクリックします。

9.6.2 管理者ロールへの権限の割当て

権限を管理者ロールに割り当てるには、次の手順で説明するように、外部ロール、外部ユーザー、またはその両方をロールにマップします。

1. 「ホーム」領域から「システム構成」タブを選択します。
「システム管理者」タブおよび構成された管理者ロールが、「ホーム」領域に表示されます。または、管理者を右クリックして、「オープン」を選択します。

2. 管理者ロールの名前を表から選択します。

3. 「変更」または「表示」オプションを選択して、管理者コントロールを定義します。
「変更」では、すべてのシステム管理者リソース上で、管理(およびプロキシ表示による)権限を持っているとして、管理者を定義します。「表示」では、表示権限のみを持っているとして、管理者を定義します。

4. 外部ロール・マッピングタブをクリックします。

1. 「追加」をクリックするか、「アクション」メニューから「追加」を選択します。
「ロールの追加」検索ダイアログが表示されます。

2. テキスト・ボックスに検索文字列を入力し、矢印をクリックして外部ロールを検索します。
または、検索文字列を入力せずに「検索」をクリックして、使用可能なすべての外部ロールを返します。

3. 結果から1つ以上のロールを選択し、「選択済の追加」をクリックします。
または、「すべて追加」をクリックして、返されたすべての結果を追加します。

4. 「プリンシパルの追加」をクリックします。

5. 外部ユーザー・マッピングタブをクリックします。

1. 「追加」をクリックするか、「アクション」メニューから「追加」を選択します。
「ユーザーの追加」検索ダイアログが表示されます。

2. テキスト・ボックスに検索文字列を入力し、矢印をクリックして外部ユーザーを検索します。
または、検索文字列を入力せずに「検索」をクリックして、使用可能なすべての外部ユーザーを返します。

3. 結果から1つ以上のユーザーを選択し、「選択済の追加」をクリックします。
または、「すべて追加」をクリックして、返されたすべての結果を追加します。

4. 「プリンシパルの追加」をクリックします。

9.6.3 管理者ロール・メンバーシップの変更

管理者ロール・メンバーシップを変更するには、次の手順で説明するように、マッピングを削除します。

1. 「ホーム」領域から「システム構成」タブを選択します。

2. ナビゲーション・パネルにあるシステム管理者をダブルクリックします。
または、システム管理者を右クリックして、「オープン」を選択します。「システム管理者」ページが表示されます。

3. 管理者ロールの名前を表から選択します。

4. 必要に応じて、「変更」または「表示」管理者コントロールを変更します。

5. 外部ロール・マッピングタブをクリックします。

1. 削除する外部ロールを選択します。

2. 「削除」をクリックします。
または、「アクション」メニューから「削除」を選択します。

6. 外部ユーザー・マッピングタブをクリックします。

1. 削除する外部ユーザーを選択します。

2. 「削除」をクリックします。
または、「アクション」メニューから「削除」を選択します。

9.6.4 管理者ロールの削除

管理者ロールを削除するには、次のようにします。

1. 「ホーム」領域から「システム構成」タブを選択します。

2. ナビゲーション・パネルにあるシステム管理者をダブルクリックします。
または、システム管理者を右クリックして、「オープン」を選択します。「システム管理者」ページが表示されます。

3. 管理者ロールの名前を表から選択します。

4. 「削除」をクリックします。
確認ダイアログが表示されます。

5. 「削除」をクリックします。

10 ユーザー・インタフェースのカスタマイズ

この章では、Oracle Entitlements Server管理コンソールであるOracle Authorization Policy Managerに行うことができるいくつかのカスタマイズについて説明します。この章には次の項目があります。

- Authorization Policy Managerのカスタマイズ

- ヘッダー、フッターおよびロゴのカスタマイズ

- 色のスキームのカスタマイズ

- ログイン・ページのカスタマイズ

10.1 Authorization Policy Managerのカスタマイズ

この章で説明するカスタマイズではいずれも、次のファイル内のデータを変更する必要があります。

$ORACLE_HOME$/apm/modules/oracle.security.apm_11.1.1/oracle.security.apm.ear
$ORACLE_HOME$/apm/modules/oracle.security.apm_
11.1.1/oracle.security.apm.core.view.war

あるバージョンのAuthorization Policy Managerに適用したカスタマイズは、新しいバージョンのツールをインストールするたびに指定しなおす必要があります。

ヒント:

開始する前に、上に示されたAuthorization Policy ManagerのEARおよびWAR ファイルをバックアップすることをお薦めします。

Authorization Policy Managerをカスタマイズするには、次のようにします。

1. 次のコマンドで示しているように、ツールのEARファイル、WARファイルおよびview WARファイルを解凍します。

$ unzip -d $tempDir/ear $ORACLE_HOME$/apm/modules/oracle.security.apm_
11.1.1/oracle.security.apm.ear
$ unzip -d $tempDir/war $tempDir/ear/oracle.security.apm.war
$ unzip -d $tempDir/viewWar $ORACLE_HOME$/apm/modules/
oracle.security.apm_11.1.1/oracle.security.apm.core.view.war

2. この章の以降の項で説明しているように、1つ以上の解凍済ファイルを変更します。

3. 次のコマンドで示しているように、ツールのEARファイル、WARファイルおよびview WARファイルを圧縮しなおします。

$ zip $tempDir/ear/oracle.security.apm.war $tempDir/war/*
$ zip $ORACLE_HOME$/apm/modules/oracle.security.apm_
11.1.1/oracle.security.apm.ear $tempDir/ear/*
$ zip $ORACLE_HOME$/apm/modules/oracle.security.apm_
11.1.1/oracle.security.apm.core.view.war $temp/viewWar/*

4. Authorization Policy Managerを再デプロイします。

10.2 ヘッダー、フッターおよびロゴのカスタマイズ

ヘッダー、フッターおよびロゴをカスタマイズするには、次のようにします。

1. view WARファイルを解凍します。詳細は、「Authorization Policy Managerのカスタマイズ」を参照してください。

2. AuthPolicyMgr.jspxファイルを編集のために開いて、適宜、次の変更を適用します。

3. 新しいブランド・タイトルを指定するには、次のスニペットに示すようにbrandingファセットを変更します。

<f:facet name="branding">
<af:outputText value="My Custom Application Title" noWrap="true" id="ot1"/>
</f:facet>

4. 新しいフッターを指定するには、次のスニペットに示すようにappAboutおよびappCopyrightファセットを変更します。

<f:facet name="appAbout">
<af:outputText value="My Custom Footer at Right" noWrap="true" id="ot2"/>
</f:facet>
<f:facet name="appCopyright">
<af:outputText value="My Custom Footer at Left"  noWrap="true" id="ot3"/>
</f:facet>

5. 新しいロゴ・イメージを指定するには、次のようにします。

1. 次のスニペットに示すように、リソースをmetaContainerファセットに挿入します(ファセット内のその他の内容はそのままにしておきます)。

<f:facet name="metaContainer">
....
<af:resource type="css">
.MyCustomBrandingLogo {
background-image:url(/apm/images/world_36x20.png);
background-position:center;
background-repeat:no-repeat; display:block;
height:2.5em; width:119px;
}
</af:resource>
...
</f:facet>

2. 次のスニペットに示すように、pageTemplateタグに入力属性としてスタイル・クラス名を指定します(タグ内のその他の内容はそのままにしておきます)。

<af:pageTemplate viewId="/templates/IdmShell.jspx"
value="#{bindings.pageTemplateBinding}" id="pt1">
...
<f:attribute name="brandingLogoCls" value="MyCustomBrandingLogo"/>
...

10.3 色のスキームのカスタマイズ

色のスキームをカスタマイズするための新しいスキンが使用可能になった場合、次のようにします。

1. ツールのEARファイルおよびWARファイルを解凍します。詳細は、「Authorization Policy Managerのカスタマイズ」を参照してください。

2. ファイルTrinidad-config.xml (通常、フォルダWAR/WEB-INF内にある)を編集のために開きます。

3. このファイル内で、次のスニペットに示すように、skin-familyタグの中に新しいスキンの値を指定します。

<trinidad-config xmlns="http://myfaces.apache.org/trinidad/config">
...
<skin-family>MyCustomSkin</skin-family>
...
</trinidad-config>

10.4 ログイン・ページのカスタマイズ

ログイン・ページおよびログイン・エラー・ページをカスタマイズするには、次のようにします。

1. ツールのEARファイルを解凍します。詳細は、「Authorization Policy Managerのカスタマイズ」を参照してください。

2. ファイルweb.xml (通常、フォルダEAR/WEB-INF内にある)を編集のために開きます。

3. このファイル内で、次のスニペットに示すように、form-login-config要素の下にform-login-pageおよびform-error-pageの適切な値を指定します。

<login-config>
<form-login-config>
<form-login-page>/MyCustomLoginPage.html</form-login-page>
<form-error-page> MyCustomLoginErrorPage.html </form-error-page>
</form-login-config>
</login-config>

11 管理タスク

この章では、監査タスクの管理、および異なるタイプのストアからのポリシーの移行について説明します。この章には次の項目があります。

- 11.1項「WebLogic Serverとの統合」

- 11.2項「監査タスクの管理」

- 11.3項「ポリシーの移行」

- 11.4項「キャッシュの構成」

- 11.5項「デバッグ」

11.1 WebLogic Serverとの統合

1.3.2.2項「PDP/PEPの組合せとしてのセキュリティ・モジュール」で説明しているように、WebLogic Serverは、ロール・マッピングおよび認可プロバイダを有効化した後で、認可リクエストを自動的に捕捉できます。次の手順は、これを行う方法を説明します。ここでは、WebLogic Serverは、$DOMAINドメインの$WLSディレクトリにインストールされていることを前提としています。手順に従う場合は、インストールからの値を置き換えます。

1. 次のコマンドを使用して、jps-atz-wls-proxyproviders.jarをWebLogic Serverプロバイダ定義ディレクトリにコピーします。

cp jps-atz-wls-proxyproviders.jar $WLS/server/lib/mbeantypes

2. 次のコマンドを使用して、$DOMAINドメインを起動します。

$DOMAIN/startWeblogic.sh

3. 認可プロキシおよびロール・マッピング・プロバイダを、ドメインを保護するレルムに追加します。
図11-1は、これを示すWebLogic Serverコンソールのスクリーンショットです。

図11-1 WebLogic Serverドメインのレルムへのプロバイダの追加

4. ドメインを再起動します。

プロバイダを有効化したら、構成パラメータについてA.2.4項「WebLogic Serverセキュリティ・モジュール」を参照してください。

11.2 監査タスクの管理

Oracle Entitlements Serverは、すべての管理アクティビティおよび認可リクエスト、オプションでファイルへの情報の記録を監査します。監査フレームワークは、Oracle Platform Security Services用に開発されたフレームワークを基にしています。Oracle Platform Security Servicesの監査フレームワークの概要は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』を参照してください。次の情報は、Oracle Entitlements Serverでの監査機能に固有なものです。

- 11.2.1項「イベントの監査」

- 11.2.2項「監査の構成」

- 11.2.3項「その他の監査情報」

注意:

Oracle Entitlements Serverは、Oracle Entitlements Server自体、Oracle Platform Security Services、またはその組合せによって構成されたポリシーの結果として生じる決定を監査します。

11.2.1 イベントの監査

表11-1では、Oracle Entitlements Serverが監査するイベント(機能カテゴリごとに編成)をリストします。デフォルトでは、監査ロギングは無効になっています。

表11-1 Oracle Entitlements Serverで監査されるイベント

機能カテゴリ

機能タスク

管理ロール管理

- AdminRoleCreation

- AdminRoleDeletion

- AdminRoleGrant

- AdminRoleRevoke

- AdminRoleResActionGrant

- AdminRoleResActionRevoke

アプリケーション管理

- ApplicationDeletion

権限付与管理

- PermissionSetGrant

- PermissionSetRevocation

権限設定管理

- PermissionSetCreation

- PermissionSetModification

- PermissionSetDeletion

ポリシー・ドメイン管理

- PolicyDomainCreation

- PolicyDomainDeletion

ポリシー管理

- PolicyCreation

- PolicyModification

- PolicyDeletion

- PolicyGrant

- PolicyRevoke

リソース管理

- ResourceCreation

- ResourceModification

- ResourceDeletion

ロール管理

- RoleCreation

- RoleModification

- RoleDeletion

- RoleMembershipAdd

- RoleMembershipRemove

ロール・ポリシー管理

- RolePolicyCreation

- RolePolicyModification

- RolePolicyDeletion

認可

- CheckPermission

- IsAccessAllowed

- CheckSubject

構成バインディング管理

- SecurityModuleBinding

- SecurityModuleUnbinding

構成管理

- SecurityModuleCreation

- SecurityModuleModification

- SecurityModuleDeletion

ポリシー配布管理

- PolicyDistribution

- PdpDeregistration

- purgeDistributionStatus

11.2.2 監査の構成

監査は、Java EEコンテナが使用する構成ファイルであるjps-config.xmlで構成されます。これは、$DOMAIN_HOME/config/fmwconfigディレクトリにあります。例11-1に示すように、filterPresetレベル、リポジトリ・タイプ、およびその他の情報を定義できます。

例11-1 jps-config.xmlでの監査サービスの構成パラメータ

<!-- JPS Audit Service Instance-->
<serviceInstance name="audit" provider="audit.provider">
<property name="audit.filterPreset" value="None"/>
<property name="audit.maxDirSize" value ="0"/>
<property name="audit.maxFileSize" value ="104857600"/>
<property name="audit.loader.jndi" value="jdbc/AuditDB"/>
<property name="audit.loader.interval" value="15" />
<property name="audit.loader.repositoryType" value="File" />
</serviceInstance>

表11-2では、構成パラメータの詳細を説明します。

表11-2 jps-config.xmlでの監査パラメータ

パラメータ

説明

audit.filterPreset

なし(デフォルト)、低、中、すべて、またはカスタム

audit.maxDirSize

監査ファイルが書き込まれるディレクトリのサイズを制御します。整数値をバイト単位で指定します。

audit.maxFileSize

監査イベントが書き込まれるバス・ストップ・ファイルのサイズを制御します。整数値をバイト単位で指定します。

audit.loader.jndi

データベースが使用中の場合、監査イベントがアップロードされるJNDIデータ・ソースへのパスを指定します。

audit.loader.interval

データベースが使用中の場合、監査ローダーのアップロードの頻度を制御します。整数値を秒単位で指定します。

audit.loader.RepositoryType

監査リポジトリ・タイプを定義します。FileまたはDbのいずれかの値を指定します。タイプがデータベース(Db)の場合、audit.loader.jndiも定義する必要があります。

11.2.3 その他の監査情報

次のリストは、監査フレームワークに関する情報が記載されている他のドキュメントを示します。

- 入門資料は、『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。

- Enterprise Managerユーザー・インタフェースまたはWebLogic Scripting Tool (WLST)コマンドライン・インタフェースを使用して、監査ポリシーを管理できます。詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』を参照してください。

- Oracle Fusion Middlewareの監査フレームワークのリファレンスは、『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。

- その他の構成情報は、『Oracle Fusion Middlewareセキュリティ・ガイド』を参照してください。

11.3 ポリシーの移行

この項では、あるタイプのストアから別のタイプのストアへのポリシーの移行について説明します。次の手順について説明します。

- 11.3.1項「XMLからLDAPへの移行」

- 11.3.2項「LDAPからXMLへの移行」

- 11.3.3項「XMLからデータベースへの移行」

- 11.3.4項「データベースからXMLへの移行」

11.3.1 XMLからLDAPへの移行

次に、XMLベースのポリシー・ストアからLDAPベースのディレクトリにポリシーを移行する手順を示します。

1. 次のサブ手順で説明するように、jps-config.xmlを変更します。

1. 例11-2に示すように、ソースおよび宛先のポリシー・ストアの両方にserviceInstanceを作成します。

例11-2 ソースおよび宛先のポリシー・ストアのためのXMLからLDAPへのserviceInstance

<!-- Source XML-based policy store instance -->
<serviceInstance name="src.xml" provider="policystore.xml.provider"
location="mydir/jazn-data.xml">
<description>File Based Policy Store Service Instance</description>
</serviceInstance>

<!-- Destination LDAP-based policy store instance -->
<serviceInstance provider="ldap.policystore.provider"
name="policystore.ldap.destination">
<description>Replace: A. myDestDomain and myDestRootName to appropriate
values according to your destination LDAP directory structure;
B. ldap://myDestHost.com:3060 with the URL and port
number of your destination LDAP</description>
<property value="OID" name="policystore.type"/>
<property value="bootstrap" name="bootstrap.security.principal.key"/>
<property value="cn=myDestDomain" name="oracle.security.jps.farm.name"/>
<property value="cn=myDestRootName"
name="oracle.security.jps.ldap.root.name"/>
<property value="ldap://myDestHost.com:3060" name="ldap.url"/>
</serviceInstance>

2. 例11-3に示すように、宛先LDAPディレクトリへのアクセスに使用されるブートストラップ資格証明に対応するserviceInstanceを作成します。

例11-3 ブートストラップ資格証明のためのXMLからLDAPへのserviceInstance

<!-- Bootstrap credentials to access destination LDAP -->
<serviceInstance location="./bootstrap" provider="credstoressp"
name="bootstrap.cred">
<description>Replace location with the full path of the directory
where the bootstrap file cwallet.sso is located;
typically found in destinationDomain/config/fmwconfig/</description>
</serviceInstance>

3. 例11-4に示すように、ソースおよび宛先のストアの両方にjpsContextを作成します。

例11-4 ソースおよび宛先のポリシー・ストアのためのXMLからLDAPへのjpsContext

<jpsContext name="sourceContext">
<serviceInstanceRef ref="src.xml"/>
</jpsContext>

<jpsContext name="destinationContext">
<serviceInstanceRef ref="policystore.ldap.destination"/>
</jpsContext>

<jpsContext name="bootstrap_credstore_context">
<serviceInstanceRef ref="bootstrap.cred"/>
</jpsContext>

2. WebLogic Scripting Toolを起動します。
移行コマンドがオフライン・コマンドのときは、WebLogic Scripting ToolをWebLogic Serverに接続する必要はありません。

3. WebLogic Scripting ToolのmigrateSecurityStoreコマンドを実行して、次のようにポリシー・ストアおよびアプリケーションを移行します。

- ポリシー・ストアを移行するには、次を実行します。

migrateSecurityStore
(type="policyStore", src="sourceContext",
dst="destinationContext",
configFile="myDir/jps-config.xml")

ここでは、次の事項が適用されます。

- 対応するjpsContext (ステップ1ですでに作成済)の名前は、srcおよびdstパラメータに渡されます。

- jps-config.xmlファイル(ステップ1ですでに変更済)の名前は、configFileパラメータに渡されます。値は、完全パス情報を持つ完全修飾ファイル名である必要があります。

- アプリケーションを移行するには、次を実行します。

migrateSecurityStore
(type="appPolicies", src="sourceContext",
dst="destinationContext",
configFile="myDir/jps-config.xml",
srcApp="sourceApplication", dstApp="destinationApplication",
overWrite="true")

ここでは、次の事項が適用されます。

- 対応するjpsContext (ステップ1ですでに作成済)の名前は、srcおよびdstパラメータに渡されます。

- jps-config.xmlファイル(ステップ1ですでに変更済)の名前は、configFileパラメータに渡されます。値は、完全パス情報を持つ完全修飾ファイル名である必要があります。

- 移行されるアプリケーションの名前は、srcAppパラメータの値です。このパラメータが渡されない場合、ソースおよび宛先のポリシー・ストアにある同じアプリケーション名を持つすべてのアプリケーションが移行されます。

- 宛先ポリシー・ストアにあるアプリケーションに割り当てられる名前は、dstAppパラメータの値です。このパラメータが渡されない場合、宛先ストアにあるアプリケーションの名前は、ソース・ストアで使用されている名前と同じです。

- overWriteパラメータがtrueとして定義されている場合、宛先アプリケーションに固有のポリシーは、ソース・アプリケーションからのポリシーによって置き換えられます。このパラメータのデフォルト値はfalseです。

11.3.2 LDAPからXMLへの移行

次に、LDAPベースのディレクトリからXMLベースのポリシー・ストアにポリシーを移行する手順を示します。

1. 次のサブ手順で説明するように、jps-config.xmlを変更します。

1. 例11-5に示すように、ソースおよび宛先のポリシー・ストアの両方にserviceInstanceを作成します。

例11-5 ソースおよび宛先のポリシー・ストアのためのLDAPからXMLへのserviceInstance

<!-- Source LDAP-based policy store instance -->
<serviceInstance provider="ldap.policystore.provider"
name="policystore.ldap.source">
<description></description>
<property value="OID" name="policystore.type"/>
<property value="bootstrap" name="bootstrap.security.principal.key"/>
<property value="cn=mySourceDomain" name="oracle.security.jps.farm.name"/>
<property value="cn=mySourceRootName"
name="oracle.security.jps.ldap.root.name"/>
<property value="ldap://mySourceHost.com:3060" name="ldap.url"/>
</serviceInstance>

<!-- Destination XML-based policy store instance -->
<serviceInstance name="dst.xml" provider="policystore.xml.provider"
location="/scratch/divyasin/WithPSR/jazn-data-fscm.xml">
<description>File Based Policy Store Service Instance</description>
</serviceInstance>

2. 例11-6に示すように、宛先LDAPディレクトリへのアクセスに使用されるブートストラップ資格証明に対応するserviceInstanceを作成します。

例11-6 ブートストラップ資格証明のためのLDAPからXMLへのserviceInstance

<!-- Bootstrap credentials to access source LDAP -->
<serviceInstance location="./bootstrap" provider="credstoressp"
name="bootstrap.cred">
<description>Replace location with the full path of the directory where the
bootstrap file cwallet.sso is located; typically found in
destinationDomain/config/fmwconfig/</description>
</serviceInstance>

3. 例11-7に示すように、ソースおよび宛先のストアの両方にjpsContextを作成します。

例11-7 ソースおよび宛先のポリシー・ストアのためのLDAPからXMLへのjpsContext

<jpsContext name="sourceContext">
<serviceInstanceRef ref="policystore.ldap.source"/>
</jpsContext>

<jpsContext name="destinationContext">
<serviceInstanceRef ref="dst.xml"/>
</jpsContext>

<jpsContext name="bootstrap_credstore_context">
<serviceInstanceRef ref="bootstrap.cred"/>
</jpsContext>

2. WebLogic Scripting Toolを起動します。
移行コマンドがオフライン・コマンドのときは、WebLogic Scripting ToolをWebLogic Serverに接続する必要はありません。

3. WebLogic Scripting ToolのmigrateSecurityStoreコマンドを実行して、次のようにポリシー・ストアおよびアプリケーションを移行します。

- ポリシー・ストアを移行するには、次を実行します。

migrateSecurityStore
(type="policyStore", src="sourceContext",
dst="destinationContext",
configFile="/scratch/divyasin/WithPSR/jps-config.xml")

ここでは、次の事項が適用されます。

- 対応するjpsContext (ステップ1ですでに作成済)の名前は、srcおよびdstパラメータに渡されます。

- jps-config.xmlファイル(ステップ1ですでに変更済)の名前は、configFileパラメータに渡されます。値は、完全パス情報を持つ完全修飾ファイル名である必要があります。

- アプリケーションを移行するには、次を実行します。

migrateSecurityStore
(type="appPolicies", src="sourceContext",
dst="destinationContext",
configFile="/scratch/divyasin/WithPSR/jps-config.xml",
srcApp="sourceApplication", dstApp="destinationApplication",
overWrite="true")

ここでは、次の事項が適用されます。

- 対応するjpsContext (ステップ1ですでに作成済)の名前は、srcおよびdstパラメータに渡されます。

- jps-config.xmlファイル(ステップ1ですでに変更済)の名前は、configFileパラメータに渡されます。値は、完全パス情報を持つ完全修飾ファイル名である必要があります。

- 移行されるアプリケーションの名前は、srcAppパラメータの値です。このパラメータが渡されない場合、ソースおよび宛先のポリシー・ストアにある同じアプリケーション名を持つすべてのアプリケーションが移行されます。

- 宛先ポリシー・ストアにあるアプリケーションに割り当てられる名前は、dstAppパラメータの値です。このパラメータが渡されない場合、宛先ストアにあるアプリケーションの名前は、ソース・ストアで使用されている名前と同じです。

- overWriteパラメータがtrueとして定義されている場合、宛先アプリケーションに固有のポリシーは、ソース・アプリケーションからのポリシーによって置き換えられます。このパラメータのデフォルト値はfalseです。

11.3.3 XMLからデータベースへの移行

次に、XMLベースのポリシー・ストアからデータベースにポリシーを移行する手順を示します。

1. 次のサブ手順で説明するように、jps-config.xmlを変更します。

1. 例11-8に示すように、ソースおよび宛先のポリシー・ストアの両方にserviceInstanceを作成します。

例11-8 ソースおよび宛先のポリシー・ストアのためのXMLからデータベースへのserviceInstance

<!-- Source XML-based policy store instance -->
<serviceInstance name="src.xml" provider="policystore.xml.provider"
location="/scratch/divyasin/WithPSR/jazn-data-fscm.xml">
<description>File Based Policy Store Service Instance</description>
</serviceInstance>

<!-- Destination DB-based policy store instance -->
<serviceInstance provider="ldap.policystore.provider"
name="policystore.db.destination">
<description>DB Based Policy Store Service Instance</description>
<property name="policystore.type" value="DB_ORACLE"/>
<property name="jdbc.url"
value="jdbc:oracle:thin:@sc.us.oracle.com:1722:orcl"
<jdbc:oracle:thin:@sc.us.oracle.com:1722:orcl>/>
<property name="jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="bootstrap.security.principal.key"
value="bootstrap_DWgpEJgXwhDIoLYVZ2OWd4R8wOA=" />
<property name="oracle.security.jps.ldap.root.name" value="cn=jpsTestNode"/>
<property name="oracle.security.jps.farm.name" value="cn=view_steph.atz"/>
</serviceInstance>

2. 例11-9に示すように、宛先LDAPディレクトリへのアクセスに使用されるブートストラップ資格証明に対応するserviceInstanceを作成します。

例11-9 ブートストラップ資格証明のためのXMLからデータベースへのserviceInstance

<!-- Bootstrap credentials to access source DB -->
<serviceInstance location="./bootstrap" provider="credstoressp"
name="bootstrap.cred">
<description>Replace location with the full path of the directory
where the bootstrap file cwallet.sso is located;
typically found in destinationDomain/config/fmwconfig/</description>
</serviceInstance>

3. 例11-10に示すように、ソースおよび宛先のストアの両方にjpsContextを作成します。

例11-10 ソースおよび宛先のポリシー・ストアのためのXMLからデータベースへのjpsContext

<jpsContext name="sourceContext">
<serviceInstanceRef ref="src.xml"/>
</jpsContext>

<jpsContext name="destinationContext">
<serviceInstanceRef ref="policystore.db.destination"/>
</jpsContext>

<jpsContext name="bootstrap_credstore_context">
<serviceInstanceRef ref="bootstrap.cred"/>
</jpsContext>

2. WebLogic Scripting Toolを起動します。
移行コマンドがオフライン・コマンドのときは、WebLogic Scripting ToolをWebLogic Serverに接続する必要はありません。

3. WebLogic Scripting ToolのmigrateSecurityStoreコマンドを実行して、次のようにポリシー・ストアおよびアプリケーションを移行します。

- ポリシー・ストアを移行するには、次を実行します。

migrateSecurityStore
(type="policyStore", src="sourceContext",
dst="destinationContext",
configFile="/scratch/divyasin/WithPSR/jps-config.xml")

ここでは、次の事項が適用されます。

- 対応するjpsContext (ステップ1ですでに作成済)の名前は、srcおよびdstパラメータに渡されます。

- jps-config.xmlファイル(ステップ1ですでに変更済)の名前は、configFileパラメータに渡されます。値は、完全パス情報を持つ完全修飾ファイル名である必要があります。

- アプリケーションを移行するには、次を実行します。

migrateSecurityStore
(type="appPolicies", src="sourceContext",
dst="destinationContext",
configFile="/scratch/divyasin/WithPSR/jps-config.xml",
srcApp="sourceApplication", dstApp="destinationApplication",
overWrite="true")

ここでは、次の事項が適用されます。

- 対応するjpsContext (ステップ1ですでに作成済)の名前は、srcおよびdstパラメータに渡されます。

- jps-config.xmlファイル(ステップ1ですでに変更済)の名前は、configFileパラメータに渡されます。値は、完全パス情報を持つ完全修飾ファイル名である必要があります。

- 移行されるアプリケーションの名前は、srcAppパラメータの値です。このパラメータが渡されない場合、ソースおよび宛先のポリシー・ストアにある同じアプリケーション名を持つすべてのアプリケーションが移行されます。

- 宛先ポリシー・ストアにあるアプリケーションに割り当てられる名前は、dstAppパラメータの値です。このパラメータが渡されない場合、宛先ストアにあるアプリケーションの名前は、ソース・ストアで使用されている名前と同じです。

- overWriteパラメータがtrueとして定義されている場合、宛先アプリケーションに固有のポリシーは、ソース・アプリケーションからのポリシーによって置き換えられます。このパラメータのデフォルト値はfalseです。

11.3.4 データベースからXMLへの移行

次に、データベースからXMLベースのポリシー・ストアにポリシーを移行する手順を示します。

1. 次のサブ手順で説明するように、jps-config.xmlを変更します。

1. 例11-11に示すように、ソースおよび宛先のポリシー・ストアの両方にserviceInstanceを作成します。

例11-11 ソースおよび宛先のポリシー・ストアのためのデータベースからXMLへのserviceInstance

<!-- Source DB-based policy store instance -->
<serviceInstance provider="ldap.policystore.provider"
name="policystore.db.source">
<description>DB Based Policy Store Service Instance</description>
<property name="policystore.type" value="DB_ORACLE"/>
<property name="jdbc.url"
value="jdbc:oracle:thin:@sc.us.oracle.com:1722:orcl" <jdbc:oracle:thin:@sc.us.oracle.com:1722:orcl>/>
<property name="jdbc.driver" value="oracle.jdbc.driver.OracleDriver"/>
<property name="bootstrap.security.principal.key"
value="bootstrap_DWgpEJgXwhDIoLYVZ2OWd4R8wOA=" />
<property name="oracle.security.jps.ldap.root.name" value="cn=jpsTestNode"/>
<property name="oracle.security.jps.farm.name" value="cn=view_steph.atz"/>
</serviceInstance>

<!-- Destination XML-based policy store instance -->
<serviceInstance name="dst.xml" provider="policystore.xml.provider"
location="/scratch/divyasin/WithPSR/jazn-data-fscm.xml">
<description>File Based Policy Store Service Instance</description>
</serviceInstance>

2. 例11-12に示すように、宛先LDAPディレクトリへのアクセスに使用されるブートストラップ資格証明に対応するserviceInstanceを作成します。

例11-12 ブートストラップ資格証明のためのデータベースからXMLへのserviceInstance

<!-- Bootstrap credentials to access source and destination LDAPs -->
<serviceInstance location="./bootstrap" provider="credstoressp"
name="bootstrap.cred">
<description>Replace location with the full path of the directory where
the bootstrap file cwallet.sso is located; typically found in
destinationDomain/config/fmwconfig/</description>
</serviceInstance>

3. 例11-13に示すように、ソースおよび宛先のストアの両方にjpsContextを作成します。

例11-13 ソースおよび宛先のポリシー・ストアのためのデータベースからXMLへのjpsContext

<jpsContext name="sourceContext">
<serviceInstanceRef ref="policystore.db.source"/>
</jpsContext>

<jpsContext name="destinationContext">
<serviceInstanceRef ref="dst.xml"/>
</jpsContext>

<jpsContext name="bootstrap_credstore_context">
<serviceInstanceRef ref="bootstrap.cred"/>
</jpsContext>

2. WebLogic Scripting Toolを起動します。
移行コマンドがオフライン・コマンドのときは、WebLogic Scripting ToolをWebLogic Serverに接続する必要はありません。

3. WebLogic Scripting ToolのmigrateSecurityStoreコマンドを実行して、次のようにポリシー・ストアおよびアプリケーションを移行します。

- ポリシー・ストアを移行するには、次を実行します。

migrateSecurityStore
(type="policyStore", src="sourceContext",
dst="destinationContext",
configFile="/scratch/divyasin/WithPSR/jps-config.xml")

ここでは、次の事項が適用されます。

- 対応するjpsContext (ステップ1ですでに作成済)の名前は、srcおよびdstパラメータに渡されます。

- jps-config.xmlファイル(ステップ1ですでに変更済)の名前は、configFileパラメータに渡されます。値は、完全パス情報を持つ完全修飾ファイル名である必要があります。

- アプリケーションを移行するには、次を実行します。

migrateSecurityStore
(type="appPolicies", src="sourceContext",
dst="destinationContext",
configFile="/scratch/divyasin/WithPSR/jps-config.xml",
srcApp="sourceApplication", dstApp="destinationApplication",
overWrite="true")

ここでは、次の事項が適用されます。

- 対応するjpsContext (ステップ1ですでに作成済)の名前は、srcおよびdstパラメータに渡されます。

- jps-config.xmlファイル(ステップ1ですでに変更済)の名前は、configFileパラメータに渡されます。値は、完全パス情報を持つ完全修飾ファイル名である必要があります。

- 移行されるアプリケーションの名前は、srcAppパラメータの値です。このパラメータが渡されない場合、ソースおよび宛先のポリシー・ストアにある同じアプリケーション名を持つすべてのアプリケーションが移行されます。

- 宛先ポリシー・ストアにあるアプリケーションに割り当てられる名前は、dstAppパラメータの値です。このパラメータが渡されない場合、宛先ストアにあるアプリケーションの名前は、ソース・ストアで使用されている名前と同じになります。

- overWriteパラメータがtrueとして定義されている場合、宛先アプリケーションに固有のポリシーは、ソース・アプリケーションからのポリシーによって置き換えられます。このパラメータのデフォルト値はfalseです。

11.4 キャッシュの構成

Oracle Entitlements Serverでは、キャッシング機能が提供されています。キャッシュ設定は、jps-config.xmlファイルで構成されます。次の各項では、適切な詳細を説明します。

- 11.4.1項「決定キャッシングの構成」

- 11.4.2項「属性キャッシングの構成」

11.4.1 決定キャッシングの構成

認可決定キャッシングによって、Oracle Entitlements Serverは、同一コールが行われると、認可コールの結果をキャッシュし、その決定を今後使用できます。決定キャッシュは、2つの階層レベルで構成されます。

- 第1レベル(L1)は、認可コールで使用されるサブジェクトをキャッシュします。

- 第2レベル(L2)は、指定したサブジェクトの認可決定およびロール・マッピング決定をキャッシュします。

注意:

決定キャッシュは、ポリシーが変更されると自動的に無効化されます。

キャッシュのキーは、ポリシー評価中に使用される受信サブジェクト、権限および属性です。キャッシュの値は、決定および義務です。

すべてのパラメータ名には、接頭辞としてoracle.security.jps.pdpが付けられます。例11-14は、決定キャッシュ・パラメータをjps-config.xmlに設定する方法を示します。

例11-14 決定キャッシングを構成するXML

<serviceInstance name="pdp.service" provider="pdp.service.provider">
…
<property name="oracle.security.jps.pdp.AuthorizationDecisionCacheEnabled"
value="true"/>
<property name="oracle.security.jps.pdp.
AuthorizationDecisionCacheEvictionCapacity"
value="1000"/>
<property name="oracle.security.jps.pdp.
AuthorizationDecisionCacheEvictionPercentage"
value="15"/>
<property name=" oracle.security.jps.pdp.AuthorizationDecisionCacheTTL"
value="180"/>
…
</serviceInstance>

表11-3では、決定キャッシング・パラメータを説明します。

表11-3 決定キャッシング・パラメータ

名前

説明

許容値

oracle.security.jps.pdp.AuthorizationDecisionCacheEnabled

ポリシー決定キャッシュを有効化するかどうかを指定するオプション・パラメータ。

true (デフォルト)

false

oracle.security.jps.pdp.AuthorizaionDecisionCacheEvictionCapacity

L1キャッシュの最大容量を指定するオプション・パラメータ。エントリ数がこの値を超えると、いくつかのエントリが削除されます。

エントリ数を表す整数

500 (デフォルト)

oracle.security.jps.pdp.AuthorizationDecisionCacheEvictionPercentage

最大容量に達したときに削除する必要があるL1キャッシュ内のエントリの比率を指定するオプション・パラメータ。たとえば、最大容量が200で、このパラメータの値が10の場合、20エントリがキャッシュから削除されます。

エントリの割合を表す整数

10 (デフォルトは10%)

oracle.security.jps.pdp.AuthotizationDecisionCacheTTL

L2キャッシュ内のエントリの存続時間の値(秒)を指定するオプション・パラメータ。認可決定をキャッシュする長さを定義します。

時間を秒で表す整数

60 (デフォルトは1分)

11.4.2 属性キャッシングの構成

渡された各属性にcachedプロパティが定義されている場合、その属性をキャッシュできます。cachedが有効化されている場合、対応する存続時間(TTL)の値も定義する必要があります。キャッシュのキーは、属性URIです。キャッシュの値は、属性オブジェクトです。例11-15は、属性キャッシュをjps-config.xmlに設定する方法を示します。

例11-15 属性キャッシングを構成するXML

<propertySet name="ootb.pip.attribute.age.based.on.myattr.rdbms">
<property name="ootb.pip.attr.type" value="OOTB_PIP_ATTRIBUTE"/>
<property name="ootb.pip.ref" value="pip.service.ootb.db"/>
<property name="name" value=" myattr"/>
<property name="query" value="select value from table"/>
<property name="cached" value="true"/>
<property name="TTL" value="60"/>
</propertySet>

注意:

cachedが属性に定義されていない場合、属性はキャッシュされません。

11.5 デバッグ

次の各項では、Oracle Entitlements Serverおよびポリシー配布コンポーネントの使用時に作成された認可ポリシーのデバッグ方法について説明します。

- デバッグのためのロギングの構成

- 認可ポリシーをデバッグするログの検索

- ポリシー配布のデバッグ

11.5.1 デバッグのためのロギングの構成

Oracle Entitlements Serverは、標準のJavaロギング・フレームワークを使用します。ロギングは、特定のイベントのエンティティを通知するプロセスです。Oracle Entitlements Serverの場合、エンティティはファイルまたは管理コンソールになり、イベントはデバッグ情報、ランタイム例外、またはユーザーが実行するアクションの記録になります。ロギング・フレームワークは、Oracle Entitlements Serverデプロイメントに基づいて構成されます。詳細は、次の各項に記載されています。

- Javaセキュリティ・モジュール・デプロイメントのためのロギングの構成

- WebLogic Serverセキュリティ・モジュール・デプロイメントのためのロギングの構成

注意:

java.util.loggingパッケージは、プラットフォームのコア・ロギング機能のクラスおよびインタフェースを提供します。

11.5.1.1 Javaセキュリティ・モジュール・デプロイメントのためのロギングの構成

デプロイメントでJavaセキュリティ・モジュールを使用する際にロギングを有効化するには、次の構成を行う必要があります。

- セキュリティ・モジュールを開始する際に次のコマンドを実行して、ロギング構成ファイルを指定します。

-Djava.util.logging.config.file=logging.properties

- 構成ファイルに次の行を追加して、ロギング・レベルを設定します。

oracle.jps.authorization.level=FINEST
oracle.jps.openaz.level=FINEST

ロギング・レベルは、ロギング・レコードの複雑度を定義し、ロギング・レベルには、(低いものから高いものの順に) VERBOSE (単純な情報)、WARNING、INFO、CONFIG、FINE、FINER、FINEST (複雑な情報)があります。

構成ファイルを指定しない場合、$JAVA_HOME/jre/lib/にあるlogging.propertiesファイルが使用されます。例11-16は、管理コンソールに情報を記録するようにlogging.propertiesを構成する方法を示します。

例11-16 管理コンソール・ロギングのための構成

#The messages will we printed to the standard output
handlers=java.util.logging.ConsoleHandler

#The default level for all loggers is INFO
.level=INFO

#Override the default level for OES authorization to FINEST
oracle.jps.authorization.level=FINEST
oracle.jps.openaz.level=FINEST

#Use default formatter to print the messages
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

例11-17は、ファイルに情報を記録するようにlogging.propertiesを構成する方法を示します。

例11-17 ファイル・ロギングのための構成

#The messages will be written to a file
handlers=java.util.logging.FileHandler

#The default level for all loggers is INFO
.level=INFO

#Override the default level for OES authorization to FINEST
oracle.jps.authorization.level=FINEST
oracle.jps.openaz.level=FINEST

#Configure file information. %h – is the user home directory
java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter

11.5.1.2 WebLogic Serverセキュリティ・モジュール・デプロイメントのためのロギングの構成

デプロイメントでWebLogic Serverセキュリティ・モジュールを使用する際にロギングを有効化するには、WebLogic Serverドメインを起動する際に、次のコマンドを実行して、ロギング構成ファイルを指定します。

startWeblogic.sh -Djava.util.logging.config.file=logging.properties

ヒント:

相対パスを指定する場合、ベース・ディレクトリはドメイン・ホームです。startWeblogic.shがあるディレクトリではありません。

WebLogic Serverセキュリティ・モジュールに関連するその他の構成は、11.5.1.1項「Javaセキュリティ・モジュール・デプロイメントのためのロギングの構成」で定義されている構成と同様です。

11.5.2 認可ポリシーをデバッグするログの検索

次の各項では、ロギング・ファイルに記録された情報を検索する方法について説明します。各項には、実行するコマンドが記載されており、多くの項には、サンプル出力も記載されています。

- PEPリクエスト情報の検索

- セキュリティ・モジュールのキャッシュ構成パラメータの検索

- プリンシパルの検索

- リソースおよびアクションの検索

- 属性の値の検索

- 認可決定の検索

- 義務の値の検索

- 静的アプリケーション・ロールの検索

11.5.2.1 PEPリクエスト情報の検索

次のコマンドをロギング・ファイルに対して実行して、PEPリクエスト関連の情報(認証ID、ランタイム・リソース、ランタイム・アクション、およびアプリケーション・コンテキストなど)を出力します。

grep "PepRequestImpl"

11.5.2.2 セキュリティ・モジュールのキャッシュ構成パラメータの検索

次のコマンドをロギング・ファイルに対して実行して、特定のセキュリティ・モジュールのキャッシュ構成パラメータを出力します。

grep "AuthotizationDecisionCacheTTL"

この検索では、次のプロパティが返されます。プロパティがログに表示されない場合、プロパティはjps-config.xmlで指定されていません。このような場合、プロパティのデフォルト値が使用されます。

- AuthorizationDecisionCacheTTLは、認可決定キャッシュの存続時間(秒)を定義します。デフォルト値は60です。

- AuthorizationDecisionCacheEvictionPercentageは、認可決定キャッシュが最大容量に達したときに削除する認可決定の比率を定義します。デフォルト値は10です。

- AuthorizationDecisionCacheEvictionCapacityは、決定キャッシュ・サイズがこのサイズに達した場合に認可決定キャッシュを削除するのに使用する数を定義します。デフォルト値は500です。

- AuthorizationDecisionCacheEnabledは、認可決定キャッシュを有効化するかどうかを指定します。デフォルト値はtrueです。

例11-18は、この検索での出力を示します。

例11-18 キャッシュ構成パラメータ検索でのサンプル出力

oracle.security.jps.az.internal.runtime.service.AbstractPDPService

FINE: properties : {
oracle.security.jps.pdp.AuthotizationDecisionCacheTTL=60,
oracle.security.jps.pdp.AuthorizationDecisionCacheEvictionPercentage=10,
oracle.secuirty.jps.pdp.AuthorizationDecisionCacheEvictionCapacity=1000,
oracle.security.jps.pdp.AuthorizationDecisionCacheEnabled=true}

11.5.2.3 プリンシパルの検索

次のコマンドをロギング・ファイルに対して実行して、認可リクエストの形式でOracle Entitlements Serverが受信するプリンシパルの名前を出力します。

grep "Principal:"

例11-19は、プリンシパル検索での出力を示します。

例11-19 プリンシパル検索でのサンプル出力

com.bea.security.providers.authorization.asi.AuthorizationProviderImpl isAccessAllowed

FINE:subject: Subject:
Principal: John
Principal: Employee
Principal: Administrator
Principal: Principal Developer

11.5.2.4 リソースおよびアクションの検索

次のコマンドをロギング・ファイルに対して実行して、認可リクエストの形式でOracle Entitlements Serverが受信するリソースおよびアクションの名前を出力します。

grep "Resource:"

例11-20は、情報を返す方法を示します。定義される値は、ポリシー・オブジェクトの名前です。

- アプリケーション = Lib

- リソース・タイプ = libraryresourcetype

- リソース = Book

- アクション = borrow

例11-20 リソースおよびアクション検索でのサンプル出力

com.bea.security.providers.authorization.asi.AuthorizationProviderImpl isAccessAllowed

FINE: Resource: resource=Lib/libraryresourcetype/Book, action=borrow

11.5.2.5 属性の値の検索

次のコマンドをロギング・ファイルに対して実行して、認可リクエストの形式でOracle Entitlements Serverが受信する属性の値を出力します。

grep "<name-of-the-attribute>:"
EXAMPLE: grep "getAttributeInternal:"

例11-21は、属性の名前がNumberOfBorrowedBooksAttributeで、値が2の場合に返される情報を示します。

例11-21 属性検索の値のサンプル出力

com.bea.security.providers.authorization.asi.ARME.evaluator.EvalSession logDebug
FINE: getAttributeInternal: name: NumberOfBorrowedBooksAttribute; value: 2; type: 3

11.5.2.6 認可決定の検索

次のコマンドをロギング・ファイルに対して実行して、格納された認可決定を取得します。

grep "AccessResultLogger"

例11-22は、返される情報を示し、認可決定が肯定的であったことを確認します。

例11-22 認可決定検索でのサンプル出力

com.bea.security.providers.authorization.asi.AccessResultLogger log
FINE: Subject Subject:
Principal: John
Principal: Employee
Principal: Administrator
Principal: Principal Developer
privilege borrow resource //app/policy/Lib/Book result PERMIT

11.5.2.7 義務の値の検索

次のコマンドをロギング・ファイルに対して実行して、特定の義務の値を出力します。

grep "adding response attribute:" | grep  "obligations"

例11-23は、プリンシパルが現在チェックアウトしているライブラリ・ブックの量が3より多い場合、義務(DenyObligationという名前)はリクエストを拒否することを示している場合に返される情報を示します。次の場合、プリンシパルは5つのブックをチェックアウトしています。

例11-23 義務の値検索でのサンプル出力

com.bea.security.providers.authorization.asi.AuthorizationProviderImpl ARMEisAccessAllowed
FINE: adding response attribute: namespace=oracle.security.oes.authorization.
name=obligations value={DenyObligation=
{ reason_part1=Too many borrowed books (max=3), reason_part2=5, }}

11.5.2.8 静的アプリケーション・ロールの検索

次のコマンドをロギング・ファイルに対して実行して、静的に付与されるアプリケーション・ロールの名前を出力します。

grep "AbstractRoleManager" | grep "getGrantedStaticAppRoles"

例11-24は、2つの静的ロール(組込みロールとReaderの認証ロール、およびLibraryという名前のアプリケーションで定義されるアプリケーション・ロール)をプリンシパルのリストに追加する方法を示します。

例11-24 静的ロール検索でのサンプル出力

oracle.security.jps.az.internal.runtime.entitymanager.AbstractRoleManager getGrantedStaticAppRoles(Set)
FINER: RETURN [authenticated-role,
ApplicationRoleLibrary/Readeruname:
cn=Writer,cn=Roles,cn=Lib,cn=akapisni_dwps1_
view1.atzsrg,cn=JPSContext,cn=jpsTestNode,guid:
411EBF807CD411E0BF887FB1A0F3878F]

11.5.3 ポリシー配布のデバッグ

ポリシー配布コンポーネントでは、ポリシー管理のLoggerインタフェースを使用します。ポリシー配布コンポーネントのデバッグを有効化するには、ロギング構成ファイルのoracle.jps.policymgmt.levelプロパティのロギング・レベルをFINESTに変更します。手順は、11.5.1項「デバッグのためのロギングの構成」で説明しています。

A インストール・パラメータおよび構成パラメータ

この付録では、Java EEコンテナが使用する構成ファイルであるjps-config.xmlを使用して、Oracle Entitlements Serverサービスに定義されるパラメータおよび許容値をリストします。これは、$DOMAIN_HOME/config/fmwconfigディレクトリにあります。この付録は、次の各項で構成されています。

- A.1項「ポリシー配布構成」

- A.2項「セキュリティ・モジュール構成」

- A.3項「PDPプロキシ構成」

- A.4項「ポリシー・ストア・サービス構成」

A.1 ポリシー配布構成

ポリシー配布コンポーネントは、ポリシー・ストアから1つ以上のセキュリティ・モジュールへのポリシー・オブジェクトおよびポリシーの配布に関与しています。制御プッシュ・モード、制御プル・モード、および非制御モードで配布できます。各モードは、異なる構成を伴います。

- A.1.1項「ポリシー配布コンポーネントのサーバー構成」

- A.1.2項「ポリシー配布コンポーネントのクライアント構成」

A.1.1 ポリシー配布コンポーネントのサーバー構成

通常、ポリシー配布コンポーネントの構成(Oracle Entitlements Server内で実行されるときのシナリオの場合)は、jps-config.xmlファイルでのポリシー・ストア構成に関連付けられ、配布のためにポリシーおよびポリシー・オブジェクトをフェッチします。制御された方法でデータがプルされる(制御プル・モード)のは、セキュリティ・モジュール側でPDPサービス構成に関連付けられているポリシー配布コンポーネントのみです。表A-1では、構成パラメータを説明します。

表A-1 ポリシー配布のサーバー構成

名前

情報

oracle.security.jps.pd.server.transactionalScope

説明: ポリシー配布の範囲を、1つのセキュリティ・モジュールか、すべてのセキュリティ・モジュールのいずれかとして定義します。配布が1つのセキュリティ・モジュールにのみ関係するときに配布が失敗した場合、他のセキュリティ・モジュールへの配布には影響しません。

オプション

許容値: All (デフォルト)、One

A.1.2 ポリシー配布コンポーネントのクライアント構成

ポリシー配布コンポーネント・クライアントは、セキュリティ・モジュールで使用できるポリシーの作成に関与しています。そのため、ポリシー配布クライアント構成は、常に、セキュリティ・モジュール側のjps-config.xmlファイルのPDPサービス構成部分に関連付けられています。構成は、配布モードおよびセキュリティ・モジュールが実行中の環境に応じて異なります。次の各項では、適用可能な構成パラメータの詳細を説明します。

- A.1.2.1項「ポリシー配布コンポーネントのクライアントJava Standard Edition構成(制御プッシュ・モード)」

- A.1.2.2項「ポリシー配布コンポーネントのクライアントJava Enterprise Editionコンテナ構成(制御プッシュ・モード)」

- A.1.2.3項「ポリシー配布のクライアント構成(制御プル・モード)」

- A.1.2.4項「ポリシー配布のクライアント構成(非制御モード)」

A.1.2.1 ポリシー配布コンポーネントのクライアントJava Standard Edition構成(制御プッシュ・モード)

表A-2では、Oracle Entitlements ServerがJava Standard Edition (JSE)環境で実行され、制御プッシュ・モードでデータを配布するよう構成されている場合の、ポリシー配布コンポーネントのクライアント構成のパラメータをまとめています。

表A-2 ポリシー配布のクライアント構成、JSE、制御プッシュ・モード

名前

情報

oracle.security.jps.runtime.pd.client.policyDistributionMode

説明: ポリシー配布モードを指定します。制御された配布は、ポリシー配布コンポーネントによって開始され、セキュリティ・モジュールが最後の配布以降に作成または変更されたポリシー・データを受信することを確認します。

必須

許容値: controlled-push

oracle.security.jps.runtime.pd.client.sm_name

説明: セキュリティ・モジュールの名前を定義します。

必須

許容値: セキュリティ・モジュールの名前

oracle.security.jps.runtime.pd.client.localpolicy.work_folder

説明: ローカル・キャッシュ・ファイルが格納されるディレクトリの名前を定義します。このディレクトリは、読取りおよび書込み権限を持っている必要があります。

オプション

許容値: ローカル・キャッシュ・ファイルが格納されるディレクトリの名前。このディレクトリは、読取りおよび書込み権限を持っている必要があります。

oracle.security.jps.runtime.pd.client.incrementalDistribution

説明: 配布が増分かフラッシュかを定義します。増分配布は、新規および変更されたデータのみを配布する場合に使用します。フラッシュ配布は、ポリシー・ストア内のすべてのポリシー・オブジェクトを完全に再配布するための準備として、ローカルに保存されたポリシーをクリーンアップするよう、ポリシー配布コンポーネントがセキュリティ・モジュールに通知する場合に使用します。

オプション

許容値:

- false (このセキュリティ・モジュールのポリシー配布はフラッシュです。)

- true (デフォルト値。必要な変更ログがポリシー・ストアに保持されている場合、このセキュリティ・モジュールのポリシー配布は増分です。)

oracle.security.jps.runtime.pd.client.registrationRetryInterval

説明: セキュリティ・モジュールの開始時に、それ自体をポリシー配布コンポーネントに登録して、ローカル・ポリシー・キャッシュが最新であることを確認します。登録が失敗すると、成功するまで、この時間間隔が経過するたびに再試行します。

オプション

許容値: 秒単位の時間(デフォルト値は5)

oracle.security.jps.runtime.pd.client.waitDistributionTime

説明: この値が定義され、ゼロではない場合、セキュリティ・モジュールが最初のポリシー配布が発生するのを待機する時間を指定します。この待機期間中は、最初のポリシー配布が完了するか、構成した期間が過ぎるまで、認可リクエストはブロックされます。

オプション

許容値: 秒単位の時間(デフォルト値は60)

oracle.security.jps.runtime.pd.client.RegistrationServerURL

説明: Oracle Entitlements Server管理サーバーのURLを定義します。セキュリティ・モジュールが、開始時にそれ自体をOracle Entitlements Serverに登録する場合に使用します。

必須

許容値: URL

oracle.security.jps.runtime.pd.client.backupRegistrationServerURL

説明: Oracle Entitlements Server管理サーバーのバックアップURLを定義します。プライマリURL(前述のパラメータ)が使用できないとき、セキュリティ・モジュールが、開始時にそれ自体をOracle Entitlements Serverに登録する場合に使用します。

オプション (ただし、構成されていないOracle Entitlements Serverフェイルオーバーが動作しない場合)

許容値: URL

oracle.security.jps.runtime.pd.client.DistributionServicePort

説明: リモートのポリシー・ディストリビュータがポリシー更新をプッシュするポートを定義します。

必須

許容値: ポート番号

oracle.security.jps.pd.client.sslMode

説明: ポリシー配布コンポーネントのサーバーとクライアント間の通信で、Secure Sockets Layer (SSL)プロトコルを使用するかどうかを定義します。

必須

許容値: none、two-way (デフォルト値)

oracle.security.jps.pd.client.ssl.identityKeyStoreFileName

説明: クライアント証明書が格納されるアイデンティティ・キー・ストア・ファイルの名前を定義します。セキュリティ・モジュールとポリシー配布コンポーネント間のSSL通信に使用されます。

必須

許容値: キーストア・ファイルの名前

oracle.security.jps.pd.client.ssl.trustKeyStoreFileName

説明: 認証局(CA)証明書が格納される信頼キー・ストア・ファイルの名前を定義します。セキュリティ・モジュールとポリシー配布コンポーネント間のSSL通信に使用されます。

必須

許容値: アイデンティティ・キー・ストア・ファイルの名前

oracle.security.jps.pd.client.ssl.identityKeyStoreKeyAlias

説明: セキュリティ・モジュールとポリシー配布コンポーネント間のSSL通信に使用されるクライアント証明書を識別するアイデンティティ・キー別名を定義します。

オプション (アイデンティティ・キーストアに別名が1つのみ存在する場合、この値を指定する必要はありません。)

許容値: アイデンティティ・キー別名

oracle.security.jps.runtime.pd.client.SMinstanceType

説明: ポリシー配布コンポーネント・クライアントの接続先のセキュリティ・モジュールのタイプを定義します。

必須

許容値: java (他の許容値は、wls、RMIおよびwsです。この表ではJavaセキュリティ・モジュールのみを対象としているため、値はjavaである必要があります。)

A.1.2.2 ポリシー配布コンポーネントのクライアントJava Enterprise Editionコンテナ構成(制御プッシュ・モード)

表A-3では、Oracle Entitlements ServerがJava Enterprise Edition (JEE)環境で実行され、制御プッシュ・モードでデータを配布するよう構成されている場合の、ポリシー配布コンポーネントのクライアント構成のパラメータをまとめています。

表A-3 ポリシー配布のクライアント構成、JEE、制御プッシュ・モード

名前

情報

oracle.security.jps.runtime.pd.client.policyDistributionMode

説明: ポリシー配布モードを指定します。制御された配布は、ポリシー配布コンポーネントによって開始され、セキュリティ・モジュールが最後の配布以降に作成または変更されたポリシー・データを受信することを確認します。

必須

許容値: controlled-push

oracle.security.jps.runtime.pd.client.sm_name

説明: セキュリティ・モジュールの名前を定義します。

必須

許容値: セキュリティ・モジュールの名前

oracle.security.jps.runtime.pd.client.localpolicy.work_folder

説明: ローカル・キャッシュ・ファイルが格納されるディレクトリの名前を定義します。このディレクトリは、読取りおよび書込み権限を持っている必要があります。

オプション

許容値: ローカル・キャッシュ・ファイルが格納されるディレクトリの名前。このディレクトリは、読取りおよび書込み権限を持っている必要があります。

oracle.security.jps.runtime.pd.client.incrementalDistribution

説明: 配布が増分かフラッシュかを定義します。増分配布は、新規および変更されたデータを配布する場合に使用します。フラッシュ配布は、ポリシー・ストア内のすべてのポリシー・オブジェクトを完全に再配布するための準備として、ローカルに保存されたポリシーをクリーンアップするよう、ポリシー配布コンポーネントがセキュリティ・モジュールに通知する場合に使用します。

オプション

許容値:

- false (このセキュリティ・モジュールのポリシー配布はフラッシュです。)

- true (デフォルト値。必要な変更ログがポリシー・ストアに保持されている場合、このセキュリティ・モジュールのポリシー配布は増分です。)

oracle.security.jps.runtime.pd.client.registrationRetryInterval

説明: セキュリティ・モジュールの開始時に、それ自体をポリシー配布コンポーネントに登録して、ローカル・ポリシー・キャッシュが最新であることを確認します。登録が失敗すると、成功するまで、この時間間隔が経過するたびに再試行します。

オプション

許容値: 秒単位の時間(デフォルト値は5)

oracle.security.jps.runtime.pd.client.waitDistributionTime

説明: この値が定義され、ゼロではない場合、セキュリティ・モジュールが最初のポリシー配布が発生するのを待機する時間を指定します。この待機期間中は、最初のポリシー配布が完了するか、構成した期間が過ぎるまで、認可リクエストはブロックされます。

オプション

許容値: 秒単位の時間(デフォルト値は60)

oracle.security.jps.runtime.pd.client.RegistrationServerURL

説明: Oracle Entitlements Server管理サーバーのURLを定義します。セキュリティ・モジュールが、開始時にそれ自体をOracle Entitlements Serverに登録する場合に使用します。

必須

許容値: URL

oracle.security.jps.runtime.pd.client.backupRegistrationServerURL

説明: Oracle Entitlements Server管理サーバーのバックアップURLを定義します。プライマリURL(前述のパラメータ)が使用できないとき、セキュリティ・モジュールが、開始時にそれ自体をOracle Entitlements Serverに登録する場合に使用します。

オプション (ただし、構成されていないOracle Entitlements Serverフェイルオーバーが動作しない場合)

許容値: URL

oracle.security.jps.runtime.pd.client.SMinstanceType

説明: ポリシー配布コンポーネント・クライアントの接続先のセキュリティ・モジュールのタイプを定義します。

必須

許容値:

- was

- wls

oracle.security.jps.runtime.pd.client.DistributionServiceURL

説明: リモートのポリシー・ディストリビュータがポリシー更新をプッシュするURLを定義します。

必須

許容値: URL

A.1.2.3 ポリシー配布のクライアント構成(制御プル・モード)

表A-4では、Oracle Entitlements ServerがJEEまたはJSEのいずれかの環境で実行され、制御プル・モードでデータを配布するよう構成されている場合の、ポリシー配布コンポーネントのクライアント構成のパラメータをまとめています。

表A-4 ポリシー配布のクライアント構成、制御プル・モード

名前

情報

oracle.security.jps.runtime.pd.client.policyDistributionMode

ポリシー配布モードを指定します。制御された配布は、ポリシー配布コンポーネントによって開始され、セキュリティ・モジュールが最後の配布以降に作成または変更されたポリシー・データを受信することを確認します。

必須

許容値: controlled-pull

oracle.security.jps.runtime.pd.client.sm_name

説明: セキュリティ・モジュールの名前を定義します。

必須

許容値: セキュリティ・モジュールの名前

oracle.security.jps.runtime.pd.client.localpolicy.work_folder

説明: ローカル・キャッシュ・ファイルが格納されるディレクトリの名前を定義します。このディレクトリは、読取りおよび書込み権限を持っている必要があります。

オプション

許容値: ローカル・キャッシュ・ファイルが格納されるディレクトリの名前。このディレクトリは、読取りおよび書込み権限を持っている必要があります。

oracle.security.jps.runtime.pd.client.incrementalDistribution

説明: 配布が増分かフラッシュかを定義します。増分配布は、新規および変更されたデータを配布する場合に使用します。フラッシュ配布は、ポリシー・ストア内のすべてのポリシー・オブジェクトを完全に再配布するための準備として、ローカルに保存されたポリシーをクリーンアップするよう、ポリシー配布コンポーネントがセキュリティ・モジュールに通知する場合に使用します。

オプション

許容値:

- false (セキュリティ・モジュールのポリシー配布はフラッシュです。)

- true (デフォルト値。必要な変更ログがポリシー・ストアに保持されている場合、このセキュリティ・モジュールのポリシー配布は増分です。)

oracle.security.jps.runtime.pd.client.waitDistributionTime

説明: この値が定義され、ゼロではない場合、セキュリティ・モジュールが最初のポリシー配布が発生するのを待機する時間を指定します。この待機期間中は、最初のポリシー配布が完了するか、構成した期間が過ぎるまで、認可リクエストはブロックされます。

オプション

許容値: 秒単位の時間(デフォルト値は60)

oracle.security.jps.runtime.pd.client.PollingTimerEnabled

説明: ポリシー・ストア内のポリシー更新の定期的なチェックを有効化します。ポリシーの変更が予期されない場合、falseに設定して、環境に対するポーリングを無効化することができます。

オプション

許容値:

- false

- true (デフォルト値)

oracle.security.jps.runtime.pd.client.PollingTimerInterval

説明: ポリシー配布コンポーネントがポリシー・データの変更をチェックする時間間隔を定義します。

オプション

許容値: 秒単位の時間(デフォルト値は600)

oracle.security.jps.ldap.root.name

説明: LDAPポリシー・ストアのディレクトリ情報ツリー(DIT)のトップ(ルート)エントリを定義します。

必須

許容値: LDAPポリシー・ストアのディレクトリ情報ツリー(DIT)のトップ(ルート)エントリ

oracle.security.jps.farm.name

説明: LDAPポリシー・ストア内のドメイン・ノードのRDN形式を定義します。

必須

許容値: ドメインの名前

jdbc.url

説明: データベースを指すURLを指定します。

必須 (Java Database Connectivity APIを使用してポリシー・ストアに接続する場合)

許容値: URL

jdbc.driver

説明: Java Database Connectivity APIを使用してApache Derbyデータベースに接続する場合のドライバの場所。

必須

許容値: ドライバ

datasource.jndi.name

説明: JDBCデータ・ソース・インスタンスのJNDI名。インスタンスは、単一ソースまたは複数ソースのデータソースに対応しています。JEEアプリケーションでのみ有効です。データベース・ストアにのみ適用します。

必須

許容値: JNDIデータ・ソースの名前(jdbc/APMDBDSなど)。

bootstrap.security.principal.key

説明: ポリシー・ストアにアクセスするためのパスワード資格証明のキー。資格証明は、資格証明ストア・フレームワーク(CSF)ストアに格納されます。

必須

許容値: CSF資格証明キー

bootstrap.security.principal.map

説明: ポリシー・ストアにアクセスするためのパスワード資格証明のマップ。資格証明は、CSFストアに格納されます。

必須

許容値: CSF資格証明マップの名前

A.1.2.4 ポリシー配布のクライアント構成(非制御モード)

表A-5では、Oracle Entitlements ServerがJEEまたはJSEのいずれかの環境で実行され、非制御モードでデータを配布するよう構成されている場合の、ポリシー配布コンポーネントのクライアント構成のパラメータをまとめています。

表A-5 ポリシー配布のクライアント構成、非制御モード

名前

情報

oracle.security.jps.runtime.pd.client.policyDistributionMode

説明: ポリシー配布モードを指定します。制御されない配布は、セキュリティ・モジュールがポリシー・ストアから(または2つの間の中間として機能するコンポーネントから)ポリシー・データを定期的に取得する場合です。

オプション

許容値: non-controlled (デフォルト値)

A.2 セキュリティ・モジュール構成

この項では、セキュリティ・モジュールの様々なタイプおよびそのプロキシ・クライアントの構成を説明します。

- A.2.1項「Javaセキュリティ・モジュール」

- A.2.2項「Webサービス・セキュリティ・モジュール」

- A.2.3項「RMIセキュリティ・モジュール」

- A.2.4項「WebLogic Serverセキュリティ・モジュール」

A.2.1 Javaセキュリティ・モジュール

表A-6では、JSEまたはJEEコンテナのいずれかに埋め込まれているJavaセキュリティ・モジュールを構成するパラメータをまとめています。

表A-6 Javaセキュリティ・モジュールの構成パラメータ

名前

情報

oracle.security.jps.policystore.rolemember.cache.type

説明: ロール・メンバーのキャッシュ・タイプを定義します。J2EEおよびJ2SEのアプリケーションで有効。LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値

- SOFTHASH (メモリーが不足している場合、このタイプのキャッシュのクリーンアップはガベージ・コレクタに依存します。)

- WEAK (このタイプのキャッシュの動作は、タイプSOFTのキャッシュとよく似ていますが、ガベージ・コレクタによってより頻繁にクリーンアップされます。)

- STATIC (デフォルト値。キャッシュ・オブジェクトは静的にキャッシュされ、FIFOなど、適用されたキャッシュ戦略に応じてのみ明示的にクリーンアップされます。このタイプのキャッシュは、ガベージ・コレクタによってクリーンアップされません。)

oracle.security.jps.policystore.rolemember.cache.strategy

説明: ロール・メンバーのキャッシュで使用される方針のタイプを定義します。J2EEおよびJ2SEのアプリケーションで有効。LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値

- NONE (リフレッシュまたは再起動が実行されるまで、キャッシュにあるすべてのエントリは増大し続けます。キャッシュのサイズを制御することはできません。使用はお薦めできませんが、ポリシーのフットプリントがきわめて小さい場合には効率的です。)

- FIFO (デフォルト値。キャッシュでは、先入れ先出し方針が実装されます。)

oracle.security.jps.policystore.rolemember.cache.size

説明: ロール・メンバーのキャッシュで保持されるロールの数を定義します。J2EEアプリケーションおよびJ2SEアプリケーションで有効です。LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値: 数値(デフォルト値は1000)

oracle.security.jps.policystore.rolemember.cache.warmup.enable

説明: アプリケーション・ロールのメンバーシップ・キャッシュの作成方法を制御します。J2EEおよびJ2SEのアプリケーションで有効。LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値

- true (キャッシュはサーバーの起動時に作成されます。ユーザーおよびグループの数がアプリケーション・ロールの数を大きく上回っている場合に使用します。)

- false (デフォルト値。キャッシュは必要に応じて(遅延ロードの場合などに)作成されます。アプリケーション・ロールの数が非常に多い場合に使用します。)

oracle.security.jps.policystore.policy.lazy.load.enable

説明: ポリシーの遅延ロードを有効または無効にします。J2EEおよびJ2SEのアプリケーションで有効。LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値

- false

- true (デフォルト値)

oracle.security.jps.policystore.policy.cache.strategy

説明: 権限キャッシュで使用される方針のタイプを定義します。J2EEおよびJ2SEのアプリケーションで有効。LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値

- NONE (リフレッシュまたは再起動が実行されるまで、キャッシュにあるすべてのエントリは増大し続けます。キャッシュのサイズを制御することはできません。使用はお薦めできませんが、ポリシーのフットプリントがきわめて小さい場合には効率的です。)

- PERMISSION_FIFO (デフォルト値。キャッシュでは、先入れ先出し方針が実装されます。)

oracle.security.jps.policystore.policy.cache.size

説明: 権限キャッシュで保持される権限の数を定義します。J2EEおよびJ2SEのアプリケーションで有効。LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値: 数値(デフォルト値は1000)

oracle.security.jps.policystore.policy.cache.updateable

説明: ポリシー・キャッシュがポリシー・データでの管理操作用に増分更新されるかどうかを定義します。

オプション

許容値

- false

- true (デフォルト値)

oracle.security.jps.policystore.refresh.enable

説明: ポリシー・ストアのリフレッシュを有効または無効にします。このプロパティを設定した場合、oracle.security.jps.ldap.cache.enableは設定できません。J2EEおよびJ2SEのアプリケーションで有効。LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値:

- false

- true (デフォルト値)

oracle.security.jps.policystore.refresh.purge.timeout

説明: ポリシー・ストアのキャッシュがパージされるまでの時間をミリ秒単位で定義します。J2EEおよびJ2SEのアプリケーションで有効。LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値: ミリ秒単位の時間。デフォルト値は43200000(12時間)です。

oracle.security.jps.ldap.policystore.refresh.purge.interval

説明: ポリシー・ストアが変更のためにポーリングされる時間間隔を定義します。J2EEおよびJ2SEのアプリケーションで有効。LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値: ミリ秒単位の時間。デフォルト値は600000(10分)です。

oracle.security.jps.pdp.missingAppPolicyQueryTTL

説明: 存在しないアプリケーション(ApplicationPolicy)オブジェクトの頻繁な問合せを回避する時間間隔を定義します。

オプション

許容値: ミリ秒単位の存続時間(デフォルト値は60000)

oracle.security.jps.pdp.AuthorizationDecisionCacheEnabled

説明: 認可キャッシュを有効化するかどうかを指定します。J2EEおよびJ2SEのアプリケーションで有効。XMLストア、LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値

- false

- true (デフォルト値)

oracle.security.jps.pdp.AuthorizationDecisionCacheEvictionCapacity

説明: 維持する認可とロールのマッピング・セッションの最大数を定義します。最大数に達すると、古いセッションが削除され、必要になったときに再確立されます。J2EEおよびJ2SEのアプリケーションで有効。XMLストア、LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値: 数値(デフォルト値は500)

oracle.security.jps.pdp.AuthorizationDecisionCacheEvictionPercentage

説明: 削除容量に達したときに削除するセッションの比率を定義します。J2EEおよびJ2SEのアプリケーションで有効。XMLストア、LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値: 数値(デフォルト値は10)

oracle.security.jps.pdp.AuthorizationDecisionCacheTTL

説明: セッション・データがキャッシュされる秒数を定義します。J2EEおよびJ2SEのアプリケーションで有効。XMLストア、LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値: 秒単位の時間(デフォルト値は60)

oracle.security.jps.pdp.anonymousrole.enable

説明: ポリシー・マッチングのために匿名ロールを匿名サブジェクトに追加する必要があるかどうかを指定します。

オプション

許容値

- false

- true (デフォルト値)

oracle.security.jps.pdp.authenticatedrole.enable

説明: ポリシー・マッチングのために認証ロールを認証サブジェクトに追加する必要があるかどうかを指定します。

オプション

許容値

- false

- true (デフォルト値)

A.2.2 Webサービス・セキュリティ・モジュール

表A-7では、JSEまたはJEEコンテナのいずれかに埋め込まれているWebサービス・セキュリティ・モジュールを構成するパラメータをまとめています。

表A-7 Webサービス・セキュリティ・モジュールの構成パラメータ

名前

情報

oracle.security.jps.pdp.wssm.WSServiceRegistryPortNumber

説明: Webサービス・セキュリティ・モジュールがリスニングするポートを定義します。

必須

許容値: ポート番号

oracle.security.jps.pdp.wssm.WSServiceRegistryHost

説明: Webサービス・セキュリティ・モジュールが実行中のサーバーの名前を定義します。

オプション

許容値: サーバー名(デフォルト値はlocalhost)

oracle.security.jps.pdp.wssm.Protocol

説明: ポリシー配布コンポーネントのクライアントとサーバー間で使用されるトランスポート・プロトコルを定義します。

オプション

許容値

- https

- http (デフォルト値)

oracle.security.jps.pdp.sm.IdentityMaxCacheSize

説明: 情報をキャッシュするユーザーの最大数を指定します。最大数に達すると、古いレコードが削除され、必要になったときに再確立されます。

オプション

許容値: 数値

oracle.security.jps.pdp.sm.IdentityCacheEvictionPercentage

説明: キャッシュが最大サイズに達したときに削除する必要があるアイデンティティの比率を指定します。

オプション

許容値: 比率を示す数値

oracle.security.jps.pdp.sm.IdentityCachedEntryTTL

説明: アイデンティティ・キャッシュ・レコードの存続時間を指定します。

オプション

許容値: 秒単位の時間

oracle.security.jps.pdp.wssm.responseContext

説明: 多くのAppContextレスポンスから単一のAppContextレスポンスにデータをマージするかどうかを指定します。

オプション

許容値

- Merged

- Unmerged (デフォルト値)

oracle.security.jps.pdp.wssm.ssl.identityKeyStoreFileName

説明: Webサービス・セキュリティ・モジュールのクライアント証明書が格納されるアイデンティティ・キー・ストア・ファイルの名前を定義します。リモート・クライアントとWebサービス・セキュリティ・モジュール間のSSL通信に使用されます。

オプション

許容値: アイデンティティ・キー・ストア・ファイルの名前

oracle.security.jps.pdp.wssm.ssl.trustKeyStoreFileName

説明: CA証明書が格納される信頼キー・ストア・ファイルの名前を定義します。リモート・クライアントとWebサービス・セキュリティ・モジュール間のSSL通信に使用されます。

オプション

許容値: 信頼キー・ストア・ファイルの名前

oracle.security.jps.pdp.wssm.ssl.identityKeyStoreKeyAlias

説明: Webサービス・セキュリティ・モジュールとリモート・クライアント間のSSL通信に使用される、Webサービス・セキュリティ・モジュールのクライアント証明書を識別するのに使用されるアイデンティティ・キー別名を指定します。

オプション

許容値: アイデンティティ・キー別名

A.2.3 RMIセキュリティ・モジュール

表A-8では、JSEまたはJEEコンテナのいずれかに埋め込まれているRMIセキュリティ・モジュールを構成するパラメータをまとめています。

注意:

現在、この構成は、スタンドアロン・デプロイメント用です。コンテナ・ベースの構成を後で追加する必要があります。

表A-8 RMIセキュリティ・モジュールの構成パラメータ

名前

情報

oracle.security.jps.pdp.rmism.RMIRegistryPortNumber

説明: RMIセキュリティ・モジュールがRMIサーバーにリスニングするポートを定義します。

必須

許容値: ポート番号

oracle.security.jps.pdp.rmism.UseSSL

説明: RMIセキュリティ・モジュールとRMIサーバー間の安全な通信のためにSSLプロトコルを使用するかどうかを定義します。

オプション

許容値

- true

- false (デフォルト)

oracle.security.jps.pdp.sm.IdentityMaxCacheSize

説明: 情報をキャッシュするユーザーの最大数を指定します。最大数に達すると、古いレコードが削除され、必要になったときに再確立されます。

オプション

許容値: 数値

oracle.security.jps.pdp.sm.IdentityCacheEvictionPercentage

説明: キャッシュが最大サイズに達したときに削除する必要があるアイデンティティの比率を指定します。

オプション

許容値: 比率を表す数値

oracle.security.jps.pdp.sm.IdentityCachedEntryTTL

説明: アイデンティティ・キャッシュ・レコードの存続時間を指定します。

オプション

許容値: 秒単位の時間

A.2.4 WebLogic Serverセキュリティ・モジュール

表A-9では、JEEコンテナに埋め込まれているWebLogic Server (WLS)セキュリティ・モジュールを構成するパラメータをまとめています。これらのパラメータは、WLSセキュリティ・モジュールがPEPとして使用するよう構成される場合のみ、使用されます。

- コンテキスト情報は、1.3.2項「ポリシー決定ポイントとポリシー実行ポイント」を参照してください。

- WebLogic Serverセキュリティ・モジュールを有効化するには、11.1項「WebLogic Serverとの統合」を参照してください。

表A-9 WebLogic Serverセキュリティ・モジュールの構成パラメータ

名前

情報

oracle.security.jps.pdp.wlssm.UndefinedApplicationEffect

説明: アプリケーションがポリシー・ストアに定義されていない場合、プロバイダが返す必要がある結果を指定します。

オプション

許容値

- permit

- abstain

- deny

oracle.security.jps.pdp.wlssm.NoApplicablePolicyEffect

説明: 適用可能なポリシーが見つからない場合、プロバイダが返す必要がある結果を指定します。

オプション

許容値

- permit (オープンなシステムを表します。)

- abstain

- deny (クローズされたシステムを表します。)

A.3 PDPプロキシ構成

この項では、セキュリティ・モジュールのプロキシの構成について説明します。

- A.3.1項「Webサービス・セキュリティ・モジュールのプロキシ・クライアント」

- A.3.2項「RMIセキュリティ・モジュールのプロキシ・クライアント」

A.3.1 Webサービス・セキュリティ・モジュールのプロキシ・クライアント

表A-10では、Webサービス・セキュリティ・モジュールのプロキシ・クライアントを構成するパラメータをまとめています。

表A-10 Webサービス・プロキシ・クライアントの構成パラメータ

名前

情報

oracle.security.jps.pdp.PDPTransport

説明: Oracle Entitlements Serverと通信するためにマルチ・プロトコル・セキュリティ・モジュールによって使用される、基礎となるプロトコルを指定します。

必須

許容値: デフォルト値はありません。Webサービス・セキュリティ・モジュールでは、常にXACMLが使用可能です。

- WS

- RMI

oracle.security.jps.pdp.proxy.PDPAddress

説明: 各Webサービス・セキュリティ・モジュールのホストおよびポート番号を指定します。たとえば、http://dadvml0134:9015などです。

オプション

許容値: URIのカンマ区切りリスト(複数のアドレスが指定されている場合、最初はプライマリ、残りはバックアップとみなされます。)

oracle.security.jps.pdp.proxy.RequestTimeoutMilliSecs

説明: リモートPDP (RMIまたはWebサービスのセキュリティ・モジュール)が応答しない場合、認可リクエストがタイムアウトになる時間間隔を定義します。

オプション

許容値: ミリ秒単位の時間(デフォルト値は10000)

oracle.security.jps.pdp.proxyFailureRetryCount

説明: 代替フェイルオーバー・サーバーを試行する前に試行する回数を指定します。

オプション

許容値: 数値(デフォルト値は3)

oracle.security.jps.pdp.proxy.FailbackTimeoutMilliSecs

説明: 失敗したプライマリ・サーバーがフェイルオーバーのために再試行するまでの時間間隔を指定します。

オプション

許容値: ミリ秒単位の時間(デフォルト値は180000)

oracle.security.jps.pdp.proxy.SynchronizationIntervalMilliSecs

説明: 状態を同期するために、PDPプロキシがPDPサーバーをポーリングする頻度を定義します。たとえば、この間隔は、認可キャッシュをフラッシュする必要があるかどうかを定期的にチェックするために使用されます。

オプション

許容値: 秒単位の時間(デフォルト値は60)

oracle.security.jps.pdp.proxy.wssm.ssl.identityKeyStoreFileName

説明: Webサービス・セキュリティ・モジュールのクライアント証明書が格納されるアイデンティティ・キー・ストア・ファイルの名前を定義します。クライアントとWebサービス・セキュリティ・モジュール間のSSL通信に使用されます。

オプション

許容値: アイデンティティ・キー・ストア・ファイルの名前

oracle.security.jps.pdp.proxy.wssm.ssl.trustKeyStoreFileName

説明: Webサービス・セキュリティ・モジュールのCA証明書が格納される信頼キー・ストア・ファイルの名前を定義します。クライアントとWebサービス・セキュリティ・モジュール間のSSL通信に使用されます。

オプション

許容値: 信頼キー・ストア・ファイルの名前

oracle.security.jps.pdp.proxy.wssm.ssl.identityKeyStoreKeyAlias

説明: Webサービス・クライアント証明書の別名を指定します。クライアントとWebサービス・セキュリティ・モジュール間のSSL通信に使用されます。

オプション

許容値: アイデンティティ・キー・ストアの別名(アイデンティティ・キー・ストアに別名が1つのみ存在する場合、この値を指定する必要はありません。)

oracle.security.jps.pdp.proxy.wssm.protocol

説明: ポリシー配布コンポーネントのクライアントとサーバー間で使用されるトランスポート・プロトコルを定義します。

オプション

許容値

- https

- http (デフォルト値)

A.3.2 RMIセキュリティ・モジュールのプロキシ・クライアント

表A-11では、RMIセキュリティ・モジュールのプロキシ・クライアントを構成するパラメータをまとめています。

表A-11 PDP RMIプロキシ・クライアントの構成パラメータ

名前

情報

oracle.security.jps.pdp.PDPTransport

説明: Oracle Entitlements Serverと通信するためにマルチ・プロトコル・セキュリティ・モジュールによって使用される、基礎となるプロトコルを指定します。

必須

許容値: デフォルト値はありません。RMIセキュリティ・モジュールでは、常にXACMLが使用可能です。

- WS

- RMI

oracle.security.jps.pdp.proxy.PDPAddress

説明: RMIセキュリティ・モジュールのホストおよびポート番号を指定します。たとえば、rmi://localhost:9400などです。

必須

許容値: URIのカンマ区切りリスト(複数のアドレスが指定されている場合、最初はプライマリ、残りはバックアップとみなされます。)

oracle.security.jps.pdp.proxy.RequestTimeoutMilliSecs

説明: リモートPDP (RMIまたはWebサービスのセキュリティ・モジュール)が応答しない場合、認可リクエストがタイムアウトになる時間間隔を定義します。

オプション

許容値: ミリ秒単位の時間(デフォルト値は10000)

oracle.security.jps.pdp.proxyFailureRetryCount

説明: 代替フェイルオーバー・サーバーを試行する前に試行する回数を指定します。

オプション

許容値: 数値(デフォルト値は3)

oracle.security.jps.pdp.proxy.FailbackTimeoutMilliSecs

説明: 失敗したプライマリ・サーバーがフェイルオーバーのために再試行するまでの時間間隔を指定します。

オプション

許容値: ミリ秒単位の時間(デフォルト値は180000)

oracle.security.jps.pdp.proxy.SynchronizationIntervalMilliSecs

説明: 状態を同期するために、PDPプロキシがPDPサーバーをポーリングする頻度を定義します。たとえば、この間隔は、認可キャッシュをフラッシュする必要があるかどうかを定期的にチェックするために使用されます。

オプション

許容値: 秒単位の時間(デフォルト値は60)

A.4 ポリシー・ストア・サービス構成

表A-12では、ポリシー・ストア・サービスの構成パラメータをまとめています。

表A-12 ポリシー・ストア・サービスの構成パラメータ

名前

情報

ldap.url

説明: LDAPポリシー・ストアのURLを定義します。JEEアプリケーションおよびJSEアプリケーションで有効で、LDAPストアにのみ適用します。

必須

許容値: LDAPポリシー・ストアのURIで、形式はldap://host:portです。

max.search.filter.length

説明: 検索フィルタの最大長を定義します。

必須

許容値: 検索フィルタの最大長を定義する整数(1024など)

oracle.security.jps.ldap.root.name

説明: LDAPポリシー・ストア内のルート・ノードのRDN形式を定義します。JEEアプリケーションおよびJSEアプリケーションで有効です。LDAPストアおよびデータベース・ストアに適用します。

必須

許容値: jpsコンテキストのルート名(cn=jpsrootなど)。

oracle.security.jps.farm.name

説明: LDAPポリシー・ストア内のルート・ノードのRDN形式を定義します。JEEアプリケーションおよびJSEアプリケーションで有効です。LDAPストアおよびデータベース・ストアに適用します。

必須

許容値: ドメインのファーム名(cn=base_domainなど)。

oracle.security.jps.policystore.resourcetypeenforcementmode

説明: 次のいずれかのチェックに失敗した場合、例外のスローを制御します。

- 2つのリソース・タイプが同じパーミッション・クラスの場合、そのパーミッションはResourcePermissionまたは拡張AbstractTypedPermissionでなければならず、この最後のリソース・タイプが作成不可能であることの確認。

- すべてのパーミッションにリソース・タイプが定義されており、リソース・マッチャ・パーミッション・クラスと付与するパーミッションが一致することの確認。

JEEアプリケーションおよびJSEアプリケーションで有効です。LDAPストアおよびデータベース・ストアに適用します。

オプション

許容値

- strict (前述のいずれかのチェックで失敗すると、例外がスローされ、操作が中止されます。)

- lenient (デフォルト値。前述のいずれかのチェックで失敗しても、例外はスローされず、操作は中断せずに続行され、検出されたすべての矛盾が記録されます。)

bootstrap.security.principal.key

説明: LDAPポリシー・ストアにアクセスするためのパスワード資格証明のキーを定義し、CSFストアに格納されています。JEEアプリケーションおよびJSEアプリケーションで有効です。LDAPストアおよびデータベース・ストアに適用します。

必須

許容値: 資格証明のキー名(oes_sm_keyなど)。出荷時の値はbootstrapです。

bootstrap.security.principal.map

説明: LDAPポリシー・ストアにアクセスするためのパスワード資格証明のマップを定義し、CSFストアに格納されています。JEEアプリケーションおよびJSEアプリケーションで有効です。LDAPストアおよびデータベース・ストアに適用します。

必須

許容値: 資格証明のマップ名(oes_sm_mapなど)。デフォルト値はBOOTSTRAP_JPSです。

jdbc.driver

説明: JDBCドライバの名前を定義します。

必須

許容値: JDBCドライバの名前。

datasource.jndi.name

説明: JDBCデータ・ソース・インスタンスのJNDI名。インスタンスは、単一ソースまたは複数ソースのデータソースに対応しています。JEEアプリケーションでのみ有効です。データベース・ストアにのみ適用します。

必須

許容値: JNDIデータ・ソースの名前(jdbc/APMDBDSなど)。

jdbc.url

説明: JDBCドライバの接続URLを定義します。

必須

許容値: JDBCドライバの接続URL。

oracle.security.jps.pd.localMode

説明: ポリシー・ストアがローカル・モードで実行しているかどうかを定義します。

必須

許容値

- true

- false

索引
A  C  D  E  F  G  H  I  J  L  M  N  O  P  R  S  U  W  X

A

ABAC, 1.5, 1.5.2

アクセス制御

およびOracle Entitlements Server, 1.2

サポートされている標準, 1.5

概要, 1.1

管理ポリシー

管理ロール

管理ポリシー, 9.3.1

管理コンソール

認可管理, 3.4.1.1

カスタマイズ, 10.1

「ホーム」領域, 3.4.3

ログイン, 3.3.1

ナビゲーション・パネル, 3.4.2

オンライン・ヘルプ, 3.4.4

概要, 3.2

検索, 5.1

サイン・アウト, 3.3.2

システム構成, 3.4.1.2

使用, 3.4

管理者ロール

管理, 9.6

SystemAdmin, 3.2.1

管理者, 3.2.1 拡張検索, 5.3 アプリケーション

管理, 9.3

定義済, 4.1

管理, 4.5.1

アプリケーション・ロール

管理, 4.5.5, 4.5.6

アプリケーション・ロール, 5.3.4 アプリケーション, 5.3.2 アーキテクチャ

認可プロセス・フロー, 1.4

ポリシー管理ポイント, 1.3.1

ポリシー決定ポイント, 1.3.2

ポリシー実行ポイント, 1.3.2

ポリシー情報ポイント, 1.3.3

セキュリティ・モジュール, 1.3.2.3

属性

管理, 4.5.9

属性リトリーバ

事前定義済, 6.1

属性リトリーバ, 1.3.3, 6 属性ベースのアクセス制御

「ABAC」を参照, 1.5.2

属性, 5.3.9 監査, 11.2

構成, 11.2.2

追加情報, 11.2.3

認可

プロセス・フロー, 1.4

認可管理, 3.4.1.1 認可ポリシー, 5.3.8 認可ポリシー, 2.1.1

および義務, 4.5.5.1

定義済, 2.1

管理, 4.5.5

認可ポリシー・マネージャ

コンソールとして, 1.2.2

「管理コンソール」を参照, 3.2

Az API, 1.5, 1.5.5

C

キャッシュ

構成, 11.4

構成

デバッグ, 11.5.1

大まかな認可, 1.1 条件

管理, 4.6

構成

ロギング, 11.5.1

コンソール

および認可ポリシー・マネージャ, 1.2.2

カスタマイズ

管理コンソール, 10.1

D

データストア

アクセス, 6.4

デバッグ, 11.5

Javaセキュリティ・モジュール, 11.5.1.1

ポリシー配布, 11.5.3

ログの検索, 11.5.2

WebLogic Serverセキュリティ・モジュール, 11.5.1.2

管理の委任, 9, 9.3, 9.4, 9.5 ドキュメント

追加, はじめに

E

要素

ポリシー, 4.3

資格

管理, 4.5.4

資格, 5.3.7 拡張機能

管理, 4.5.9

外部ロール, 5.3.1

F

きめ細やかな認可, 1.1

関数

管理, 4.5.9

関数, 5.3.10

G

グローバル

定義済, 4.1

セキュリティ・モジュール, 8.2

システム管理者, 9.6

用語集, 2.3

アプリケーション, 2.3

アプリケーション・ロール, 2.3

属性, 2.3

認可ポリシー, 2.3

条件, 2.3

資格, 2.3

外部ロール, 2.3

関数, 2.3

義務, 2.3

ポリシー・ドメイン, 2.3

ポリシー・ストア, 2.3

プリンシパル, 2.3

リソース, 2.3

リソース・タイプ, 2.3

ロール・カテゴリ, 2.3

ロール・マッピング・ポリシー, 2.3

H

階層型リソース・タイプ, 4.5.2.1

「ホーム」領域, 3.4.3

I

アイデンティティ・ストア

LDAP構成, 3.1

インストール, 3.1

J

Java 2権限, 1.5

Java権限, 1.5.3

jps-config.xml, A

L

ログイン, 3.3.1

ログアウト, 3.3.2

ロギング

デバッグ構成, 11.5.1

ログの検索, 11.5.2

M

ポリシーの移行, 11.3

データベースからXMLへ, 11.3.4

LDAPからXMLへ, 11.3.2

XMLからデータベースへ, 11.3.3

XMLからLDAPへ, 11.3.1

N

ナビゲーション・パネル, 3.4.2

O

義務

作成, 4.5.5.1

オンライン・ヘルプ, 3.4.4 OpenAzフレームワーク, 1.5.5 Oracle Entitlements Server, 1.2

アーキテクチャ, 1.3

機能, 1.2.3

インストール, 3.1

前のリリース, 1.2.1

P

PAP, 1.3.1

パラメータ

構成, A

インストール, A

PDPプロキシ, A.3

ポリシー配布, A.1

ポリシー・ストア, A.4

セキュリティ・モジュール, A.2

PDP, 1.3.2 PDPプロキシ・パラメータ, A.3 PEP, 1.3.2 権限

Java, 1.5.3

PIP, 1.3.3

「属性リトリーバ」を参照, 6.1

PIP資格証明, 6.4 ポリシー

作成

追加要素, 4.3

手順の定義, 4.2 定義手順

追加要素, 4.3

移行, 11.3 ポリシー管理ポイント, 1.3.1 ポリシー作成, 4.2 ポリシー決定ポイント, 1.3.2 ポリシー配布

デバッグ, 11.5.3

概要, 7.1

パラメータ, A.1

手順, 7.3

ポリシー・ドメイン

管理, 9.5

概要,9.4

ポリシー実行ポイント, 1.3.2 ポリシー評価, 2.2 ポリシー情報ポイント, 1.3.3 ポリシー・オブジェクト

アプリケーション, 4.5.1

アプリケーション・ロール, 4.5.5, 4.5.6

属性, 4.5.9

認可ポリシー, 4.5.5

条件, 4.6

定義, 2.3

アプリケーション, 2.3

アプリケーション・ロール, 2.3

属性, 2.3

認可ポリシー, 2.3

条件, 2.3

資格, 2.3

外部ロール, 2.3

関数, 2.3

義務, 2.3

ポリシー・ドメイン, 2.3

ポリシー・ストア, 2.3

プリンシパル, 2.3

リソース, 2.3

リソース・タイプ, 2.3

ロール・カテゴリ, 2.3

ロール・マッピング・ポリシー, 2.3

定義, 2.3 資格, 4.5.4 拡張, 4.5.9 関数, 4.5.9 管理, 4.1 リソース, 4.5.3 リソース・タイプ, 4.5.2 ロール・カタログ, 4.5.5, 4.5.6 ロール・カテゴリ, 4.5.8 ロール・マッピング・ポリシー, 4.5.7 検索, 5.3, 5.3.1, 5.3.2, 5.3.3, 5.3.4, 5.3.5, 5.3.6, 5.3.7, 5.3.8, 5.3.9, 5.3.10 ポリシー・ストア

パラメータ, A.4

ポリシー・タイプ, 2.1

認可ポリシー, 2.1.1

評価, 2.2

ロール・マッピング・ポリシー, 2.1.2

ポリシー・ユースケース, 2.4 ポップアップ検索ボックス, 5.1

R

RBAC, 1.5, 1.5.1

リソース

管理, 4.5.3

リソース・タイプ

管理, 4.5.2

リソース・タイプ, 5.3.3

階層, 4.5.2.1

リソース, 5.3.6 ロール・カタログ, 4.5.5, 4.5.6 ロール・カテゴリ

定義, 2.3

管理, 4.5.8

ロール・マッピング・ポリシー, 5.3.5 ロール・マッピング・ポリシー, 2.1.2

定義済, 2.1

管理, 4.5.7

ロールベースのアクセス制御

「RBAC」を参照, 1.5.1

ロール

割当て, 2.1.2

S

検索

管理コンソール, 5.1

拡張, 5.3

アプリケーション・ロール, 5.3.4

アプリケーション, 5.3.2

属性, 5.3.9

認可ポリシー, 5.3.8

資格, 5.3.7

外部ロール, 5.3.1

関数, 5.3.10

ポップアップ検索, 5.1

リソース・タイプ, 5.3.3

リソース, 5.3.6

ロール・マッピング・ポリシー, 5.3.5

簡易, 5.2

ログの検索, 11.5.2 セキュリティ・モジュール

構成, 8.2

Java

デバッグ, 11.5.1.1

パラメータ, A.2 WebLogic Server

デバッグ, 11.5.1.2

セキュリティ・モジュール

およびWebLogic Server, 11.1

アーキテクチャ, 1.3.2.3

PDPとして, 1.3.2.1

PDP/PEPとして, 1.3.2.2

タイプ, 1.3.2.3

簡易検索, 5.2 システム管理者, 9.6 システム構成, 3.4.1.2 システム要件, 3.1 SystemAdmin, 3.2.1

U

ユースケース, 2.4

W

WebLogic Server

統合, 11.1

WebLogicユーザー, 3.2.1

X

XACML, 1.5, 1.5.4

オラクル社の法律上の注意点について

コピーライトについて

Copyright © 1994-2013, Oracle and/or its affiliates.All rights reserved.

商標と登録商標について

OracleおよびJavaはOracle Corporationおよびその関連企業の登録商標です。その他の名称は、それぞれの所有者の商標または登録商標です。

Intel、Intel Xeonは、Intel Corporationの商標または登録商標です。すべてのSPARCの商標はライセンスをもとに使用し、SPARC International, Inc.の商標または登録商標です。AMD、Opteron、AMDロゴ、AMD Opteronロゴは、Advanced Micro Devices, Inc.の商標または登録商標です。UNIXは、The Open Groupの登録商標です。

ライセンス制約の保証と結果的に生じる損害の免責

このソフトウェアおよび関連ドキュメントの使用と開示は、ライセンス契約の制約条件に従うものとし、知的財産に関する法律により保護されています。ライセンス契約で明示的に許諾されている場合もしくは法律によって認められている場合を除き、形式、手段に関係なく、いかなる部分も使用、複写、複製、翻訳、放送、修正、ライセンス供与、送信、配布、発表、実行、公開または表示することはできません。このソフトウェアのリバース・エンジニアリング、逆アセンブル、逆コンパイルは互換性のために法律によって規定されている場合を除き、禁止されています。

保証免責

ここに記載された情報は予告なしに変更される場合があります。また、誤りが無いことの保証はいたしかねます。誤りを見つけた場合は、オラクル社までご連絡ください。

制限付権利

このソフトウェアまたは関連ドキュメントを、米国政府機関もしくは米国政府機関に代わってこのソフトウェアまたは関連ドキュメントをライセンスされた者に提供する場合は、次の通知が適用されます。

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations.As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs.No other rights are granted to the U.S. Government.

危険な用途への使用について

このソフトウェアもしくはハードウェアは様々な情報管理アプリケーションでの一般的な使用のために開発されたものです。このソフトウェアもしくはハードウェアは、危険が伴うアプリケーション（人的傷害を発生させる可能性があるアプリケーションを含む）への用途を目的として開発されていません。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用する際、安全に使用するために、適切な安全装置、バックアップ、冗長性（redundancy）、その他の対策を講じることは使用者の責任となります。このソフトウェアもしくはハードウェアを危険が伴うアプリケーションで使用したことに起因して損害が発生しても、オラクル社およびその関連会社は一切の責任を負いかねます。

第三者のコンテンツ、製品、サービスに対する免責事項

このソフトウェアまたはハードウェア、そしてドキュメントは、第三者のコンテンツ、製品、サービスへのアクセス、あるいはそれらに関する情報を提供することがあります。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスに関して一切の責任を負わず、いかなる保証もいたしません。オラクル社およびその関連会社は、第三者のコンテンツ、製品、サービスへのアクセスまたは使用によって損失、費用、あるいは損害が発生しても一切の責任を負いかねます。

ドラフトのアルファ版およびベータ版ドキュメントについて

このドキュメントが試作版の場合:

このドキュメントは試作版であり、デモおよび暫定使用のみを目的としたものです。このソフトウェアを使用するハードウェアに限定するものではありません。オラクル社およびその関連会社は、このドキュメントに関して一切の責任を負わず、いかなる保証もいたしません。また、このドキュメントを使用したことによって損失、費用、あるいは損害が発生しても、一切の責任を負いかねます。