Sailpoint IdentityIQ Database Multiplex Application Configuration
APPLICATION --> ACCESS_NAME --> ACCOUNTS
Group Query : SELECT DISTINCT APPLICATION_ID,APPLICATION,ACCESS_ID,ACCESS_NAME,ACCESS_DESCRIPTION from VIS_APPLICATION order by ACCESS_NAME ASC
Account Query : SELECT IDENTIFICATION, USER_TYPE, NAME, LASTNAME, STATUS,EMAIL,APPLICATION,ACCESS_NAME FROM VIS_USER order by EMAIL ,APPLICATION,ACCESS_NAME
JDBCBuildMap / Build Map Rule
import java.util.Map; import sailpoint.connector.*; import sailpoint.object.Application; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import sailpoint.api.SailPointContext; Map map = JDBCConnector.buildMapFromResultSet(result, schema); if (schema.getObjectType().compareTo(Connector.TYPE_ACCOUNT) == 0) { String applName = (String) map.get("APPLICATION"); String mergeAttribute = (String) map.get("EMAIL") + "_VIS " + applName; map.put( "IIQSourceApplication","VIS" + applName); map.put("mergeAttribute",mergeAttribute); }else if (schema.getObjectType().compareTo(Connector.TYPE_GROUP) == 0) { String applName = (String) map.get("APPLICATION"); String profilemergeAttribute = (String) map.get("ACCESS_NAME") + "_VIS " + applName; map.put( "IIQSourceApplication","VIS" + applName); map.put("profilemergeAttribute",profilemergeAttribute); } return map;
import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import sailpoint.api.SailPointContext; import sailpoint.object.Configuration; import sailpoint.object.ResourceObject; import sailpoint.tools.GeneralException; ResourceObject resourceObject = object; String APP_STATUS_ATTRIBUTE = "STATUS"; List ACTIVE_STATUS_LIST = new ArrayList( Arrays.asList("ENABLED", "Enabled", "enabled", "ENABLE", "Enable", "enable", "ACTIVE", "Active", "active") ); String accountStatus = null; if ("account".equals(object.getObjectType())) { accountStatus = object.getAttribute(APP_STATUS_ATTRIBUTE); if(ACTIVE_STATUS_LIST.contains(accountStatus) ){ resourceObject.setAttribute("IIQDisabled", false); }else{ resourceObject.setAttribute("IIQDisabled", true); } } return resourceObject;