Showing posts with label Group Management. Show all posts
Showing posts with label Group Management. Show all posts

Wednesday, August 21, 2024

Create group in OpenLdap

import sailpoint.connector.Connector;
import sailpoint.connector.LDAPConnector;
import sailpoint.object.Application;
import sailpoint.object.Attributes;
import sailpoint.object.Link;
import sailpoint.object.Identity;
import sailpoint.api.SailPointContext;
import sailpoint.tools.GeneralException;
import sailpoint.tools.Util;
import java.util.HashMap;
import java.util.Map;
import javax.naming.directory.BasicAttributes;
import javax.naming.directory.BasicAttribute;

Application ldapApp = context.getObjectByName(Application.class, "Mighty Application Name"); // Replace with your LDAP application name

// Initialize the LDAP connector
Connector connector = ldapApp.getConnector();
LDAPConnector ldapConnector = (LDAPConnector) connector;


String groupName = "mygroup";  
String groupBaseDN = "ou=groups,dc=example,dc=com";  
String gidNumber = "1234";  

// Prepare attributes for the new group
Attributes<String, Object> groupAttrs = new Attributes<>();
groupAttrs.put("cn", groupName);
groupAttrs.put("objectClass", Util.list("top", "posixGroup"));
groupAttrs.put("gidNumber", gidNumber);

try {
    ldapConnector.createObject(context, "group", groupAttrs, groupBaseDN + ",cn=" + groupName);

    
} catch (GeneralException e) {
    System.out.println("GeneralException: " + e.getMessage());
}

Monday, July 18, 2022

How to check user exist in specific group or not?

 import sailpoint.object.Filter;

 import sailpoint.object.Identity;

 import sailpoint.object.IdentityEntitlement;

 import sailpoint.object.QueryOptions;

 import sailpoint.tools.GeneralException;


public boolean checkUserENT(String userID, String entValue, String appName) throws GeneralException{

boolean addEntExist = false;

QueryOptions qo = new QueryOptions();

Filter filter = Filter.and(Filter.eq("identity.id", id), Filter.eq("value",entValue), Filter.eq("application.name", appName));

qo.addFilter(filter);


int countObjects = context.countObjects(IdentityEntitlement.class, qo);

if(countObjects  > 0){

addEntExist = true;

}

String appName = "Active Directory";

String entValue = "CN="IdentityIQ, OU=Groups, DC=mightypedia,DC=com";

String user = ""Mary.Johnson;


String userID = context.getObjectByName(Identity.class, user).getId();

boolean checkENT = checkUserENT(userID , entValue ,appName );

return checkENT ;

}

Wednesday, February 16, 2022

Create AD Group

 <?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE Rule PUBLIC "sailpoint.dtd" "sailpoint.dtd">

<Rule language="beanshell"  name="Create AD Group">

  <Description>

Create AD Group.

  </Description>

  <Signature>

    <Inputs>

      <Argument name="log">

        <Description>

          The log object is associated with the SailPointContext.

        </Description>

      </Argument>

      <Argument name="context">

        <Description>

          A sailpoint.api.SailPointContext object that can be used to query the database if necessary.

        </Description>

      </Argument>

    </Inputs>

  </Signature>

  <Source>

import java.util.ArrayList;

import java.util.List;

import sailpoint.api.Provisioner;

import sailpoint.object.ProvisioningPlan;

import sailpoint.object.ProvisioningPlan.ObjectRequest;


ObjectRequest objectRequest = new ObjectRequest();

objectRequest.setOp(ProvisioningPlan.ObjectOperation.Create);

objectRequest.add(new ProvisioningPlan.AttributeRequest("GroupType", ProvisioningPlan.Operation.Set, "Security"));

objectRequest.add(new ProvisioningPlan.AttributeRequest("SamAccountName", ProvisioningPlan.Operation.Set, "Test"));

objectRequest.setApplication("Active Directory");

objectRequest.setNativeIdentity("CN=Test,ou=Groups,dc=mightypedia,dc=com");

objectRequest.setType("group");


List objReqList = new ArrayList();

objReqList.add(objectRequest);


ProvisioningPlan plan = new ProvisioningPlan();

plan.setObjectRequests(objReqList);


Provisioner provisioner  = new Provisioner(context);

provisioner.execute(plan);

 //  return plan;

  </Source>

</Rule>


=========================================================

<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE Custom PUBLIC "sailpoint.dtd" "sailpoint.dtd">

<Custom  name="Custom-Prasad-ADGroupsList">

  <Attributes>

    <Map>

      <entry key="ADGroups">

        <value>

          <List>

            <String>Test101</String>

            <String>Test102</String>

            <String>Test103</String>

          </List>

        </value>

      </entry>

    </Map>

  </Attributes>

</Custom>


========================================================================================================================================================

 import java.util.ArrayList;
  import java.util.List;
  import sailpoint.api.Provisioner;
  import sailpoint.object.Custom;
  import sailpoint.object.ProvisioningPlan;
  import sailpoint.object.ProvisioningPlan.ObjectRequest;
  import sailpoint.tools.GeneralException;

  String userDN = "";
  String path = "ou=Groups,dc=mightypedia,dc=com";

  try {

    Custom custom = context.getObjectByName(Custom.class, "Custom-Prasad-ADGroupLists");
    List ADGroups = custom.getList("ADGroups");

    for(String group : ADGroups) {
      ObjectRequest objectRequest = new ObjectRequest();
      objectRequest.setOp(ProvisioningPlan.ObjectOperation.Create);
      //objectRequest.add(new ProvisioningPlan.AttributeRequest("GroupType", ProvisioningPlan.Operation.Set, "Security"));
      objectRequest.add(new ProvisioningPlan.AttributeRequest("GroupType", ProvisioningPlan.Operation.Set, "Global"));
      objectRequest.add(new ProvisioningPlan.AttributeRequest("attribute", ProvisioningPlan.Operation.Set, "memberOf"));
      objectRequest.add(new ProvisioningPlan.AttributeRequest("SamAccountName", ProvisioningPlan.Operation.Set, group));
      objectRequest.setApplication("Active Directory");
      //objectRequest.setNativeIdentity("CN=Test,ou=Groups,dc=mightypedia,dc=com");
      userDN = "CN=" + group + "," + path;
      objectRequest.setNativeIdentity(userDN);
      objectRequest.setType("group");

      List objReqList = new ArrayList();
      objReqList.add(objectRequest);

      ProvisioningPlan plan = new ProvisioningPlan();
      plan.setObjectRequests(objReqList);
      Provisioner provisioner  = new Provisioner(context);
      provisioner.execute(plan);
      // return plan;
    }
  }catch (Exception e) {
    log.error("Error while creating AD Group : "+e.getMessage());
  }

  return "success";




IAM, IGA & Identity Security

IAM sets up the employee's account so they can log in and access the application with their credentials. IGA makes sure that access requ...

Featured Articles