データベース管理者は、ロールを作成して、データベース・アプリケーションの実行に必要なすべての権限を保護アプリケーション・ロールに付与します。それから保護アプリケーション・ロールを他のロールやユーザーに付与できます。アプリケーションは複数の異なるロールを持つことができ、それぞれに異なる権限セットを付与して、ユーザーに応じてアプリケーションの使用時にアクセスできるデータを制限できます。たとえば、パスワード付きのロールを作成し、ロールに付与された権限が不正に使用されるのを防止できます。アプリケーションは起動時に適切なロールが使用可能になるように設計されます。そのため、アプリケーション・ユーザーはアプリケーション・ロールのパスワードを知る必要はありません。
次に示すように、付与または取消しされるものに応じて、付与または取消しが有効になるタイミングは異なります。
ユーザー、ロールおよびPUBLIC権限へのシステムおよびオブジェクト権限の付与および取消しはすべて、即座に有効になります。
ユーザー、その他のロールおよびPUBLICへのロールの付与および取消しはすべて、現在のユーザー・セッションが、付与および取消し後にロールを再度有効にするためにSET ROLE文を発行した場合のみ有効になります。
SESSION_ROLESデータ・ディクショナリ・ビューを調べると、どのロールが現在有効であるかを確認できます。
Oracle Identity Managerでは、Oracle Identity Managerスキーマに前提条件となる権限が付与されており、Oracle Identity Managerをインストールする前に必要なオブジェクトを作成できるようにしています。これらの権限の一部は、Oracle Identity Managerのインストール後に取り消して、アプリケーションの要件に応じて後で特定のユーザーに付与できます。
表E-1に、データベース・アプリケーションに必要な権限を示します。
表E-1 データベース・アプリケーションに対するロール付与
ロール名 | 説明 | Oracle Identity Managerの使用方法 | インストール後にこのロール/権限を安全に削除できるか | 取り消された場合 |
---|---|---|---|---|
CREATE TABLE |
自分のスキーマ内での表の作成、変更および削除を可能にします。 |
これはリソースの権限付与の一部ですが、リソースの権限付与ではプロシージャを使用して表を作成できないため、これが明示的に必要になります。 |
条件付き |
ユーザーはプログラムで新しい表を作成できません。 この権限は、Oracle Identity Managerデプロイメントが安定したとき、つまりすべてのコンポーネントおよびコネクタがインポートされ、期待どおりに動作するようになったときに取り消すことができます。これは、各コネクタでその独自のスキーマ・オブジェクトが作成されるためです。アーカイブ・ユーティリティはプログラムで表を作成するため、アーカイブ・ユーティリティの初期実行にこの権限が必要になります。 |
CONNECT |
セッションの作成権限を付与します。 |
ユーザーに対するセッションの作成 |
条件付き |
これはインストール後にCREATE SESSIONと置換できます。Oracle Identity Managerデプロイメントが安定したとき、つまりすべてのコンポーネントおよびコネクタがインポートされ、期待どおりに動作するようになったときに置換できます。これは、各コネクタでその独自のスキーマ・オブジェクトが作成されるためです。 |
RESOURCE |
そのユーザーに関連付けられたスキーマで特定タイプのスキーマ・オブジェクトの作成、変更および削除を可能にします。このロールは開発者やスキーマ・オブジェクトの作成が必要なその他のユーザーにのみ付与されます。このロールにより、オブジェクト・システムの作成権限のサブセットが付与されます。たとえば、CREATE TABLEシステム権限は付与されますが、CREATE VIEWシステム権限は付与されません。これにより次の権限が付与されます。
さらに、このロールによりUNLIMITED TABLESPACEシステム権限が付与され、ユーザーがスキーマ・オブジェクトを作成するすべての表領域でUNLIMITEDの領域使用量割当てが効果的に割り当てられます。 |
シーケンス、インデックス、プロシージャ、トリガーおよびパッケージの作成 |
条件付き |
ユーザーはデータベース・オブジェクトを作成できません。SYSユーザーのみ、これを行うことができます。この権限は、Oracle Identity Managerデプロイメントが安定したとき、つまりすべてのコンポーネントおよびコネクタがインポートされ、期待どおりに動作するようになったときに取り消すことができます。これは、各コネクタでその独自のスキーマ・オブジェクトが作成されるためです。表領域割当てを正しく指定してください。 |
CREATE VIEW |
ユーザーのスキーマでのビューの作成、変更および削除を可能にします。 |
Oracle Identity ManagerでのSDP_VISIBLE_V、SDP_REQUIRED_V、SDP_LOOKUPCODE_VおよびSDP_RECURSIVE_Vビューの作成 |
はい |
ユーザーはビューを作成できません。SYSユーザーのみ、これを行うことができます。 |
DBMS_SHARED_POOL |
データベース・オブジェクトを共有プール・メモリーに合わせます。 |
Oracle Identity Managerで使用されるすべてのプロシージャと機能を共有メモリーで固定するために使用されます。 Oracle Identity Managerは、順序、ファンクション/プロシージャをメモリーに固定しています。 また、USR表が50000ユーザー未満の場合、Oracle Identity ManagerはUSR表をメモリーに固定しています。 |
条件付き |
これはインストール後に取り消せますが、プロシージャや機能によっては明示的に固定されない場合があるため、パフォーマンスに影響を与えることがあります。pin_objプロシージャはOracle Identity Managerに対してのみ作成されます。これはデータベース・オブジェクトを共有メモリーに明示的に固定するために使用されます。このロールを取り消す前に、データベースレベルのトリガーcache_seqが削除されている(作成済の場合)ことを確認してください。 |
SYS.DBMS_SYSTEM |
XAリソース・マネージャを有効にして権限を設定し、XAリソース・マネージャがOracle databaseとアプリケーション間の相互作用を管理できるようにします。 注意: 各データベース接続は、トランザクション・リソースとしてトランザクション・マネージャとともに追加されます。トランザクション・マネージャは、グローバル・トランザクションに属する各接続に対してXAリソースを取得します。トランザクション・マネージャは開始メソッドを使用してグローバル・トランザクションとリソースを関連付け、終了メソッドを使用してトランザクションとリソースの関連付けを解除します。リソース・マネージャは、開始メソッドの起動と終了メソッドの起動との間に、グローバル・トランザクションをそのデータで実行されるすべての作業に関連付けます。 |
XAリソースおよびデータベース・トランザクション用 |
はい |
Oracle Databaseバージョン10.2.0.4以降では、これは安全に削除できます。DIST_TXN_SYNCプロシージャを、一般に公開されているDBMS_XAと呼ばれる新しいパッケージに移動することで、これのかわりとなります。そのため、新しいバージョンのOracleではXAクライアントはDBMS_SYSTEMで権限を実行する必要はありません。 |
SYS.DBMS_FLASHBACK |
セルフサービス・リペアを有効にします。表から行を間違って削除した場合、削除された行を元に戻すことができます。 |
リコンシリエーション中の失敗に対して、これを使用して変更をロール・バックできます。 |
いいえ |
これは、Oracle Identity Managerのリコンシリエーション・エンジンでのエラー処理に必要です。 |
CREATE_MATERIALIZED_VIEW |
権限受領者のスキーマでマテリアライズド・ビューを作成します。 |
OIM_RECON_CHANGES_BY_RES_MVマテリアライズド・ビューの作成 |
はい |
ユーザーはマテリアライズド・ビューを作成できません。SYSユーザーのみ、これを行うことができます。このマテリアライズド・ビューは、レポート目的でのみ必要です。 |
SELECT ON V$XATRANS SELECT ON PENDING_TRANS$ SELECT ON DBA_2PC_PENDING SELECT ON DBA_PENDING_TRANSACTIONS |
XAリソース・マネージャを有効にして権限を設定し、XAリソース・マネージャがOracle databaseとアプリケーション間の相互作用を管理できるようにします。 |
該当なし |
いいえ |
削除はお薦めしません。XAのサポートに必要です。 |
ADMINISTER DATABASE TRIGGER |
データベースレベルのトリガーの作成を可能にします。 |
Oracle Identity Managerでのddl_triggerという名前のDDLトリガーの作成 |
はい |
ユーザーは新しいDDLトリガーを作成できません。これはスキーマ作成後に削除できます。 |
CREATE SEQUENCE |
権限を付与したスキーマ内での順序の作成を可能にします。 |
順序の作成 |
条件付き |
お薦めしません。 ユーザーはOracle Identity Managerスキーマで順序を作成できません。SYSユーザーのみ、これを行うことができます。 注意: この権限は、Oracle Identity Managerデプロイメントが安定したとき、つまりすべてのコンポーネントおよびコネクタがインポートされ、期待どおりに動作するようになったときに取り消すことができます。これは、各コネクタで順序も含まれるその独自のスキーマ・オブジェクトが作成されるためです。 |
CREATE SYNONYM |
権限を付与したスキーマ内でのシノニムの作成を可能にします。 |
Oracle Identity Managerスキーマでの次のシノニムの作成
|
はい |
ユーザーはシノニムを作成できません。SYSユーザーのみ、これを行うことができます。 |
CTXAPP |
Oracle Text索引を作成して、Oracle Text PL/SQLパッケージを使用する前に、CTXAPPロールを持つ権限を権限受領者のスキーマに付与する必要があります。 |
Oracle Identity ManagerスキーマでのOracle Text索引およびOracle Text PL/SQLの作成。 |
いいえ |
お薦めしません。 Oracle Text機能が動作しません。 |
EXECUTE ON CTXSYS.CTX_ADM EXECUTE ON CTXSYS.CTX_CLS EXECUTE ON CTXSYS.CTX_DDL EXECUTE ON CTXSYS.CTX_DOC EXECUTE ON CTXSYS.CTX_OUTPUT EXECUTE ON CTXSYS.CTX_QUERY EXECUTE ON CTXSYS.CTX_REPORT EXECUTE ON CTXSYS.CTX_THES EXECUTE ON CTXSYS.CTX_ULEXER |
Oracle Textには、Oracle Text索引の同期化からドキュメントのハイライト表示までを実行できる複数のパッケージが組み込まれています。 |
Oracle Identity ManagerはCTXSYS.CTX_DDLを直接消費します。他は間接的に消費される場合があります。 |
いいえ |
お薦めしません。 カタログに対する最適化ジョブは失敗し始めます。 |
CREATE JOB |
ジョブの作成権限を権限受領者のスキーマに付与します。 |
Oracle Identity Managerでのジョブの作成。 |
はい |
ユーザーは新しいジョブを作成できません。これはスキーマ作成後に削除できます。 |
EXECUTE ON DBMS_SCHEDULER |
DBMS_SCHEDULERパッケージは、任意のPL/SQLプログラムからコールできるスケジューリング用のファンクションおよびプロシージャのコレクションを提供します。 |
Oracle Identity Managerでの次のジョブのスケジュール PURGE FAST_OPTIMIZE_CAT_TAGS REBUILD_OPTIMIZE_CAT_TAGS PURGE_ADF_BC_TXN_TABLE |
いいえ |
いったん取り消すと、ジョブは失敗し始めます。 |
UTL_FILE |
UTL_FILEはOracle Identity Managerでは使用されません。 |
該当なし |
該当なし |
該当なし |
CONTROL-Mを使用したデータベースのスケジュール |
Oracle Identity Managerでは、アプリケーション側キューイングにクォーツ・スケジューラ、データベース・ジョブのスケジュールにDBMS_SCHEDULER_JOBが使用されます。 |
Oracle Identity ManagerではCONTROL-Mは推奨またはサポートされていません。 |
いいえ |
該当なし |
アドバンスト・キューイング・オプション |
アドバンスト・キューイング機能はSOAで使用されます。 |
SOAで使用されます。 |
いいえ |
該当なし |
CREATE ANY INDEX |
OPSSで使用されます。 |
OPSSで使用されます。 |
いいえ |
該当なし |