From 6d54351a394eb8fe8adb00206e33e1a94ca334db Mon Sep 17 00:00:00 2001 From: Juan Pablo Garcia Ripa Date: Thu, 20 Mar 2025 22:38:26 +0100 Subject: [PATCH] add org graph to the documentation Signed-off-by: Juan Pablo Garcia Ripa --- docs/assets/integrations/azure/org.svg | 1 + docs/integrations/azure/org.md | 36 +++++++++++++++++--------- 2 files changed, 25 insertions(+), 12 deletions(-) create mode 100644 docs/assets/integrations/azure/org.svg diff --git a/docs/assets/integrations/azure/org.svg b/docs/assets/integrations/azure/org.svg new file mode 100644 index 0000000000..fd5bcb3c86 --- /dev/null +++ b/docs/assets/integrations/azure/org.svg @@ -0,0 +1 @@ +someRootGroupalphabetasharksgoatsdolphinsJohnAnnaPatriciaEmilLovisaChandra \ No newline at end of file diff --git a/docs/integrations/azure/org.md b/docs/integrations/azure/org.md index 4b6708094e..3765275e1e 100644 --- a/docs/integrations/azure/org.md +++ b/docs/integrations/azure/org.md @@ -125,16 +125,7 @@ microsoftGraphOrg: In addition to these groups, one additional group will be created for your organization. All imported groups will be a child of this group. -By default the provider will get groups using the msgraph `/group` endpoint, but it is possible to use different endpoints by setting the `path` configuration. All the endpoint containing `/microsoft.graph.group` will return the right type of group object. - -```yaml -microsoftGraphOrg: - providerId: - group: - filter: securityEnabled eq false and mailEnabled eq true and groupTypes/any(c:c+eq+'Unified') - search: '"description:One" AND ("displayName:Video" OR "displayName:Drive")' - path: /groups/{someRootGroup}/transitiveMembers/microsoft.graph.group # This will get all the groups that are members of the group {someRootGroup} on all levels -``` +By default the provider will get groups using the msgraph `/group` endpoint, but it is possible to use different endpoints by setting the `path` configuration. All the endpoint containing `/microsoft.graph.group` will return the right type of group object. [See usage](#Using-path-parameter) for more details. ### Users @@ -159,15 +150,36 @@ microsoftGraphOrg: search: '"description:One" AND ("displayName:Video" OR "displayName:Drive")' ``` -By default the provider will get user using the msgraph `/user` endpoint, but it is possible to use different endpoints by setting the `path` configuration. All the endpoint containing `/microsoft.graph.user` will return the right type of user object. +By default the provider will get user using the msgraph `/user` endpoint, but it is possible to use different endpoints by setting the `path` configuration. All the endpoint containing `/microsoft.graph.user` will return the right type of user object. [See usage](#Using-path-parameter) for more details. + +### Using `path` parameter + +By default the provider will get groups and users using the msgraph `/group` and `/user` endpoints, but it is possible to use different endpoints by setting the `path` configuration. +All the endpoint containing `/microsoft.graph.user` will return the right type of user object and all the endpoint containing `/microsoft.graph.group` will return the right type of group object. + +#### Example + +Given the following org structure it is possible to use the `path` parameter to get all the users and groups that are members of the group `someRootGroup` on all levels. + +
+ +![email](../../assets/integrations/azure/org.svg) + +
+ +The configuration would look like this: ```yaml microsoftGraphOrg: providerId: + group: + path: /groups/{someRootGroup id}/transitiveMembers/microsoft.graph.group user: - path: /groups/{someRootGroup}/transitiveMembers/microsoft.graph.user # This will get all the users that are members of the group {someRootGroup} on all levels + path: /groups/{someRootGroup id}/transitiveMembers/microsoft.graph.user ``` +Using the transitive members endpoint will return all the users and groups that are members of the group `someRootGroup` on all levels. + ### User photos By default, the photos of users will be fetched and added to each user entity. For huge organizations this may be unfeasible, as it will take a _very_ long time, and can be disabled by setting `loadPhotos` to `false`: