如果组织将权利信息保留在外部系统应用程序中,那么可以编写自己的插件,用于将 Monitor 细颗粒度安全性过滤器与外部系统应用程序相集成。 可以使用 Business Monitor 提供的工件来实施自己的细颗粒度安全性提供程序。
如以下 plugin.xml 文件中所示,细粒度安全性框架提供了两个扩展点:com.ibm.wbimonitor.repository.security-filter-provider 和 com.ibm.wbimonitor.repository.object-security-provider。
<?xml version="1.0" encoding="UTF-8"?>
<plugin id="com.ibm.wbimonitor.repository" name="MetadataRepository" provider-name="IBM" version="7.5.0">
<extension-point id="security-filter-provider"/>
<extension-point id="object-security-provider"/>
</plugin>
/**
* @param userId - user id
* @param groupCNs - group common name list of current user
* @param userDN - user distinguished name
* @param groupDNs - group distinguished name list of current user
* @param modelId
* @param mcId
* @return the filter set defined for the model MC.
* @throws FGSException - any exception happens when getting the security filters
*/
public String getMCFilterSet(String userId, List<String>groupCNs,
String userDN, List<String> groupDNs, String modelId, String mcId)
/**
* @param modelId
* @return all the security filters defined for the model.
* @throws FGSException - any exception happens when getting the security filters
*/
public String getModelSecurityFilters(String modelId)
/**
* Get the FGS provider description.
* @return
*/
public String getFGSProviderDescription()
/**
* Get the FGS provider name.
* @return
*/
public String getFGSProviderName()
/**
* Return the models on which the current Fine Grain Security provider will take effect.
* @return the list of model ids
* @throws FGSRegistrationException - exception when the provider incorrectly handles the registered models.
*/
public List<String> getSupportedModels() throws FGSRegistrationException
/**
* Return the list of hidden dimension ids
* @param userId - user id
* @param groupCNs - group common name list of current user
* @param userDN - user distinguished name
* @param groupDNs - group distinguished name list of current user
* @param modelId
* @param mcId
* @return the list of hidden dimension ids
* @throws FGSException - any exception happens when getting the object security
*/
public List<String> getCubeHiddenDimensions(String userId,
List<String>groupCNs,String userDN, List<String> groupDNs,
String modelId, String mcId)
/**
* Return the list of hidden measure ids
* @param userId - user id
* @param groupCNs - group common name list of current user
* @param userDN - user distinguished name
* @param groupDNs - group distinguished name list of current user
* @param modelId
* @param mcId
* @return the list of hidden measure ids
* @throws FGSException - any exception happens when getting the object security
*/
public List<String> getCubeHiddenMeasures(String userId,
List<String>groupCNs,String userDN, List<String> groupDNs,
String modelId, String mcId)
/**
* Return the list of hidden metric ids
* @param userId - user id
* @param groupCNs - group common name list of current user
* @param userDN - user distinguished name
* @param groupDNs - group distinguished name list of current user
* @param modelId
* @param mcId
* @return the list of hidden metric ids
* @throws FGSException - any exception happens when getting the object security
*/
public List<String> getMCHiddenMetrics(String userId,
List<String>groupCNs,String userDN, List<String> groupDNs,
String modelId, String mcId)
/**
* Return the list of hidden alert ids
* @param userId - user id
* @param groupCNs - group common name list of current user
* @param userDN - user distinguished name
* @param groupDNs - group distinguished name list of current user
* @param modelId
* @return the list of hidden alert ids
* @throws FGSException - any exception happens when getting the object security
*/
public List<String> getModelHiddenAlerts(String userId,
List<String>groupCNs,String userDN, List<String> groupDNs,
String modelId, String mcId)
/**
* Return the list of hidden KPI ids
* @param userId - user id
* @param groupCNs - group common name list of current user
* @param userDN - user distinguished name
* @param groupDNs - group distinguished name list of current user
* @param modelId
* @return the list of hidden KPI ids
* @throws FGSException - any exception happens when getting the object security
*/
public List<String> getModelHiddenKPIs(String userId,
List<String>groupCNs,String userDN, List<String> groupDNs,
String modelId, String mcId)throws FGSException/**
* @param modelId
* @return all the object security rules defined for specified model.
* @throws FGSException - any exception happens when getting the object security
*/
public String getModelObjSecRules(String modelId)
/**
* Get the FGS provider description.
* @return
*/
public String getFGSProviderDescription()
/**
* Get the FGS provider name.
* @return
*/
public String getFGSProviderName()
/**
* Return the models on which the current Fine Grain Security provider will take effect.
* @return the list of model ids
* @throws FGSRegistrationException - exception when the provider incorrectly handles the registered models.
*/
public List<String> getSupportedModels() throws FGSRegistrationException
<monitor_server>/scripts.wbm/FGSecurity/SampleProvider/com.ibm.wbimonitor.security.finegrainsecurity.sample.zip
扩展点和接口在束 com.ibm.wbimonitor.repository.jar 中进行声明。