socfortress / CoPilot

SOCFortress CoPilot
https://www.socfortress.co
GNU Affero General Public License v3.0
183 stars 39 forks source link

Implement Isolated Tenants for User-Specific Configurations #211

Closed shaker402 closed 4 months ago

shaker402 commented 4 months ago

Description:

Currently, SocFortress Copilot uses a single set of connector configurations (e.g., WAZUH) for all users. This means that all users share the same configuration, regardless of their role or needs.

Problem:

This approach creates limitations and potential security risks:

Proposed Solution:

Introduce isolated tenants in the system. Each user (or group) can have their own tenant with dedicated connector configurations. This will provide:

Implementation Details:

Benefits:

By implementing isolated tenants, SocFortress Copilot can provide a more secure, scalable, and user-friendly experience for its users.

shaker402 commented 4 months ago

in simple. implementing tenant isolation in SocFortress Copilot baes on user profile, and RBAC WITH three levels in the futures

shaker402 commented 4 months ago

dear @taylorwalton ,

I'm writing to you today with a request for your expertise on the socfortress-CoPilot project. I've been a long-time working of your project and now , I am required to present it to my senior management.

The key feature I'm aiming to showcase is multi-tenancy. However, I've encountered some challenges in implementing this functionality. I've explored various approaches, including:

Separate databases per user admin Schema-based separation External Authentication Service (LDAP/Active Directory) Unfortunately, I haven't been able to successfully implement any of these solutions yet.

Your guidance and insights on implementing multi-tenancy within socfortress-CoPilot would be invaluable. Understanding the best approach for my specific use case would significantly enhance my presentation and showcase the project's true potential.

I understand your time is valuable, but any suggestions or resources you could point me towards would be immensely appreciated.

Thank you for your time and consideration.

Shakr Saif

taylorwalton commented 4 months ago

Hey @shaker402 it sounds like you are looking for multi-tenancy within Co-Pilot with the ability to configure individual connectors per tenant. Unfortunately what you are looking for is out of scope of our current plans for Copilot. While it is true Copilot is set to manage a multi-tenant SIEM stack (designed as the one we provide to our clients / video series) it is not designed to be multi-tenanted itself. It is assumed that users who are provided access to CoPilot manage all customers provisioned / onboarded via CoPilot. As of now this is our focus, but perhaps as the app becomes more mature, rbac can be more finely detailed. Unfortunately we just dont have the resources available to us to undergo this task at the moment