ルール・エディタ・コンポーネントのカスタム権限に関する必知事項
ロールベースの認可について、Rules DCはカスタムJAAS権限を実装しています(oracle.adf.share.security.authorization.ADFPermission
クラスを拡張し、ADFセキュリティで権限を使用できるようにします)。
ルール・エディタ・アプリケーションでADFセキュリティがサポートされている場合は、ロールベースの認証および認可がサポートされていることになりますが、この場合、セキュリティはカスタムJAAS権限を実装して施行します(oracle.adf.share.security.authorization.ADFPermission
クラスを拡張してADFセキュリティで権限が使用されるようにします)。アプリケーション要件に基づいてユーザー・ロールに次の権限を付与してADFセキュリティ・ポリシーを作成する必要があります。
-
oracle.rules.adf.permission.AddRulePermission
: 「ルールの追加」ボタンが表示されますが、この権限が付与されていない場合、「ルールの追加」ボタンはユーザーに表示されません。 -
oracle.rules.adf.permission.DeleteRulePermission
: 「ルールの削除」ボタンが表示されますが、この権限が付与されていない場合、「ルールの削除」ボタンはユーザーに表示されません。 -
oracle.rules.adf.permission.EditRulePermission
: ルールセット内のルールについて「ルールの編集」ボタンが表示されますが、この権限が付与されていない場合、ルールは表示のみとなります。 -
oracle.rules.adf.permission.AddDTPermission
: 「デシジョン表の追加」ボタンが表示されますが、この権限が付与されていない場合、「デシジョン表の追加」ボタンはユーザーに表示されません。 -
oracle.rules.adf.permission.DeleteDTPermission
: 「デシジョン表の削除」ボタンが表示されますが、この権限が付与されていない場合、「デシジョン表の削除」ボタンはユーザーに表示されません。 -
oracle.rules.adf.permission.EditDTPermission
: ルールセット内のデシジョン表について「デシジョン表の編集」ボタンが表示されますが、この権限が付与されていない場合、デシジョン表は表示のみとなります。 -
oracle.rules.adf.permission.RulesEditorPermission
: 前述の権限をすべてtrue
に設定するグローバル権限。
たとえば、「ルールの削除」権限をロールに付与するには、アプリケーションのjazn-data.xml
ファイルに次のコードを指定します。
<policy-store> <applications> <application> <name>UseRuleDictDCWtPerm</name> <app-roles> <app-role> <name>Admin</name> <class>oracle.security.jps.service.policystore.ApplicationRole</class> <display-name>Admin</display-name> <members> <member> <name>admin</name> <class>oracle.security.jps.internal.core.principals.JpsXmlUserImpl</class> </member> </members> </app-role> <app-role> <name>BusinessUser</name> <class>oracle.security.jps.service.policystore.ApplicationRole</class> <display-name>BusinessUser</display-name> <members> <member> <name>buser</name> <class>oracle.security.jps.internal.core.principals.JpsXmlUserImpl</class> </member> </members> </app-role> </app-roles> <jazn-policy> <grant> <grantee> <principals> <principal> <class>oracle.security.jps.service.policystore.ApplicationRole</class> <name>Admin</name> </principal> </principals> </grantee> <permissions> <permission> <class>oracle.rules.adf.permission.RulesEditorPermission</class> <name>RulesEditorPermission</name> <actions>access</actions> </permission> </permissions> </grant> </jazn-policy> </application> </applications> </policy-store>
AddRulePermission
またはDeleteRulePermission
など、個々の権限を使用しない場合は、jazn-data.xml
ファイルにRulesEditorPermission
を設定し、グローバル権限を設定します。