raystack / guardian

Guardian is universal data access management tool with automated access workflows and security controls across data stores, analytical systems, and cloud products.
https://guardian.vercel.app/
Apache License 2.0
137 stars 21 forks source link

Multiple owners in Grants #371

Open rahmatrhd opened 1 year ago

rahmatrhd commented 1 year ago

Summary

Grant can represent access for non-individual users like service accounts and groups for GCP providers. Ideally, those grants should be owned by a group of people for visibility and access maintainability so that when the main owner is no longer available, anyone else still can maintain the access. This multiple ownership mostly will be used for channel of notifications purpose when the access is going to expire

Proposed solution

1. (Option 1) Add co_owners field in Grant

Pros:

Cons:

2. (Option 2) Replace owner: string (singular) field with owners: []string (multiple)

Pros:

Cons:

Additional

Assigning grant ownership to a "team" like a_google_group@example.com or any other kind of team/group can't be that straightforward since there is no team/group management in Guardian (and let's keep it so). To enable this, guardian needs to connect with third-party team management service like shield or google workspace for getting the information of team/group membership