Sunday, January 9, 2022

Form AllowedValues rule to filter Identities with Active Regular Active Directory accounts and identity is active and correlated

 The rule type is AllowedValues.

import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import sailpoint.object.Filter;
import sailpoint.object.Identity;
import sailpoint.object.Link;
import sailpoint.object.QueryOptions;
import sailpoint.api.SailPointContext;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


Logger log = Logger.getLogger("sailpoint.rules.FilterActiveRegularADAccounts");
log.setLevel(Level.DEBUG);
log.debug("-----------------------------------");

List identityList = new ArrayList();
QueryOptions qo = new QueryOptions();
qo.addFilter(Filter.ne("inactive",true));
qo.addFilter(Filter.eq("correlated", true));
qo.add(Filter.eq("links.application.name","Active Directory"));
qo.add(Filter.eq("links.accounttype","Regular"));
log.debug("Get list of Identities");
Iterator iterator = context.search(Identity.class,qo);
while(iterator.hasNext()){
Identity identityObject = (Identity) iterator.next();
List linksList = identityObject.getLinks();
Link contractorADLink;
for (Link link : linksList){
if ("Active Directory".equalsIgnoreCase(link.getApplicationName())){
if (null!=link.getBooleanAttribute("IIQDisabled") &&
link.getBooleanAttribute("IIQDisabled")){
//do nothing
} else{
identityList.add(identityObject.getName());
}

}
}
}
Filter finalFilter = Filter.in("name", identityList);
field.setFilterString(finalFilter.toString());
log.debug("-------------------------------------");

}

No comments:

Post a Comment

Form AllowedValues rule to filter Identities with Active Regular Active Directory accounts and identity is active and correlated

 The rule type is AllowedValues. import org.apache.log4j.Level ; import org.apache.log4j.Logger ; import sailpoint.object.Filter ; import sa...