diff --git a/README.md b/README.md index 6de768b..1402ead 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,3 @@ - # Grouper Connector @@ -178,7 +177,18 @@ The actual method of configuring a connector is largely dependent on the interfa When adding or removing a custom attribute it may be necessary to refresh the connector schema such that the access management system can obtain the new information. -# 5 Connector Query Capabilities +# 5 Connector Operations + +The grouper connector implements the following connId spi operations: + + + +* **SchemaOp** - Allows the Connector to describe which types of objects the Connector manages on the target resource. This includes the options supported for each type of object. +* **TestOp** - Allows testing of the resource configuration to verify that the target environment is available. (ie. to validate the connection to the Grouper Web Service) +* **SearchOp** - Allows the connector to search the Grouper Web Service for resource objects. + + +# 6 Connector Query Capabilities As of version 1.01 the grouper connector provides read only access to a grouper repository. It is possible to create multiple resource connector instances for a Midpoint installation. In this case the Base Stem configuration provides a top level filter that allows you to establish the root branch in the grouper repository tree. So a query all on the connector will return all stems or all groups that are children of the base stem. @@ -196,7 +206,166 @@ With this in mind the connector can perform the following queries: When fetching a Group by name or UUID the system may choose to include the list of members. In all cases the attribute assignments of groups objects and stem objects will be included in the result. -# 6 Connector Schema +## Get All Groups + +The get all groups query request recognizes the following parameters + + + + + + + + + + + + + + + + + + +
Filter + Operation Options + Outcome +
Null + Null + Returns all Groups in Base Stem. Includes group attributes, excludes members +
Null + AttributesToGet = “member” + Returns all Groups in Base Stem including members and attributes +
+ + + +## Get Group By Name + +The get group by name recognizes the following parameters + + + + + + + + + + + + + + + + + + +
EqualsFilter + Operation Options + Outcome +
name=<Value> + Null + Returns a group. Includes group attributes, excludes members +
name=<Value> + AttributesToGet = “member” + Returns a group including members and attributes +
+ + + +## Get Group by UUID + +The get group by UUID query recognizes the following parameters + + + + + + + + + + + + + + + + + + +
EqualsFilter + Operation Options + Outcome +
uuid=<Value> + Null + Returns a group identified by its grouper uuid. Includes group attributes, excludes members +
uuid=<Value> + AttributesToGet = “member” + Returns a group identified by its grouper uuid including members and attributes +
+ + + +## Get All Stems + +The get all stems query returns all stems that are children of the configured base stem. It requires no filter or operation options. The outcome includes all the attributes of each stem returned. + + +## Get Stem by Name + +The get stem by name query typically returns a single grouper stem object with all of its attributes included. + + + + + + + + + + + + + +
EqualsFilter + Operation Options + Outcome +
name=<Value> + Null + Returns a stem identified by its grouper name. Includes stem attributes +
+ + + +## Get Stem By UUID + +The get stem by uuid query typically returns a single grouper stem object with all of its attributes included. + + + + + + + + + + + + + +
EqualsFilter + Operation Options + Outcome +
uuid=<Value> + Null + Returns a stem identified by its grouper uuid. Includes stem attributes +
+ + + +# 7 Connector Schema As mentioned in an earlier section, the grouper connector supports 2 object classes. These are Group Objects and Stem Objects. @@ -325,19 +494,23 @@ As discussed in the section on connector configuration you can extend the stem s As discussed in the section on connector configuration you can extend the group schema by adding attribute assignment names. When the group has the assigned attribute name contained in the attributesJSON field it will be broken out into its own attribute. -# 7 Grouper Messages +# 8 Grouper Messages + +The grouper system has the capability to send messages that can notify the IAM system of changes to an object's state. With Midpoint you can implement [Asynchronous Processing](https://docs.evolveum.com/midpoint/devel/design/on-asynchronous-processing/) alongside the grouper connector. + +The Grouper System can provide the following event messages: + -The following are Grouper Messages that may be processed by the Asynchronouse Update Connector * ATTRIBUTE_ASSIGN_ADD -* ATTRIBUTE_ASSIGN_DELETE -* ATTRIBUTE_ASSIGN_UPDATE +* ATTRIBUTE_ASSIGN_DELETE +* ATTRIBUTE_ASSIGN_UPDATE, * STEM_ADD -* STEM_DELETE +* STEM_DELETE * STEM_UPDATE * GROUP_ADD -* GROUP_UPDATE -* GROUP_DELETE -* MEMBERSHIP_ADD -* MEMBERSHIP_UPDATE +* GROUP_UPDATE +* GROUP_DELETE, +* MEMBERSHIP_ADD +* MEMBERSHIP_UPDATE * MEMBERSHIP_DELETE