ルール・エディタ・コンポーネントのカスタム権限に関する必知事項
ロールベースの認可について、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を設定し、グローバル権限を設定します。