Mapped Security Architecture
The mapped security architecture includes the following components:
- The Microsoft Planner repository
- Microsoft Planner Connector
- Knowledge Discovery OmniGroupServer
- Knowledge Discovery Content and Community components
- A front-end application
The Microsoft Planner Connector retrieves information from Microsoft Planner and creates documents that can be indexed. To each document the connector adds an Access Control List (ACL) which contains security information describing which users are permitted to view the document. Each time the connector synchronizes with the repository, it updates the ACLs for any documents where the associated permissions have changed.
The Content component needs the ACL to determine whether a user can view a document that is returned as a result to a query. However, the Content component must also consider the groups that the user belongs to. A user might not be permitted to view a document, but they could be a member of a group that has permission. This means that the Content component requires the user and group information from the Microsoft Planner repository.
The connector can extract user and group information from Microsoft Planner. This functionality is available through the SynchronizeGroups
action. Based on a schedule, OmniGroupServer sends a request to the connector to run this action and the connector returns the information. OmniGroupServer then stores the user and group information so that the Community component can query it.
When a user logs on to a front-end application, the application requests the user’s security information and group memberships from Community. Community returns a token containing the information. The front-end application includes this token in all queries the user sends to the Content component.
When a user submits a query, Content sends the result documents and the user’s security token to the Mapped Security plug-in. The Mapped Security plug-in compares the user’s security information and group memberships to each document’s ACL. The plug-in determines which documents the user is permitted to view and returns the results. The Content component then sends only the documents that the user is permitted to view to the front-end application.