Skip to content

Auto sync permissions ACL support for Jira + Confluence knowledge connectors #3218

@joeyorlando

Description

@joeyorlando

Feature Request

Add support for the Auto Sync Permissions visibility mode on knowledge bases, enabling automatic synchronization of access control lists (ACLs) from source systems (connectors) into Archestra knowledge bases.

Background

Knowledge bases currently support two visibility modes:

  • Org-wide — all documents accessible to all users in the organization
  • Team-scoped — documents accessible only to members of assigned teams

There would be a third Auto Sync Permissions option added here.

Requirements

  • To start, let's implement this for Jira and Confluence. These connectors should extract permission/ACL data from these systems during sync.
  • Currently there is a ARCHESTRA_ENTERPRISE_LICENSE_KNOWLEDGE_BASE_ACTIVATED, which was modified in chore: knowledge base - make advanced-access control an enterprise feature #3783 - this PR should build on top of that (basically RAG should be available as open-source, while only this new access control feature will be behind this ARCHESTRA_ENTERPRISE_LICENSE_KNOWLEDGE_BASE_ACTIVATED flag)
  • When a knowledge connector uses auto-sync-permissions visibility, the query_knowledge_sources tool must filter chunks based on the querying user's identity and which documents they are allowed to see in the upstream system
  • Should be built in such a way that adding this capability to more knowledge connector types in the future won't require a lot of duplication/refactoring (consider adding this as part of BaseConnector)
  • Need to consider how this will work should the access control config change in the "upstream" source system
  • Document this new functionality + ensure there is adequate tests in place

As for how the "user identity mapping" (ie. matching users between Jira/Confluence and Archestra) will work, is up for research/suggestions (ex. team based, user based, or a mix of both) 🙂

Definition of Done

Demo video showcasing that the feature works as described above.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions