Hi all,
First of all, thank you for all the comments in the proposal above. These 
feedbacks are very valuable and really helped me to move forward on that topic. 
Airflow multi-tenant model is definitely a vast project and I believe it is 
best to do in several AIPs to have clear scope and reduce the cognitive load on 
reviewers. For now, I can see at least 3 different AIPs:

1. View level access control: introduce "Tenant" entity and allow grouping of 
users
2. Introduction of DAG group (exact concept name TBD): allow grouping of DAGs 
and impose access restrictions
3. Resource level access control: Modify resources access policies based on 
Tenants
We may decide to merge AIP 2 and 3 or add new ones depending on learnings from 
1st one.
To start off, I drafted an AIP on the view level access control, you can access 
it here: 
https://docs.google.com/document/d/1swNx_GTvUm456w8UKgQS1-CbGPu2OFr4l9lDaUnXbN8/edit?usp=sharing.
 If you agree with this proposal, would it be possible to have permissions to 
create an AIP?
Thank you,
Vincent

From: "Mehta, Shubham" <shu...@amazon.com>
Date: Tuesday, January 10, 2023 at 3:01 AM
To: "dev@airflow.apache.org" <dev@airflow.apache.org>
Cc: "Beck, Vincent" <vincb...@amazon.com>, "Mehta, Shubham" <shu...@amazon.com>
Subject: Seeking Feedback for Airflow Multi-Tenant Model Proposal

Hi folks,

Over the past few weeks, @Vincent Beck<mailto:vincb...@amazon.com> and I have 
been working on a proposal for a multi-tenant model for Apache 
Airflow<https://docs.google.com/document/d/1n23h26p4_8F5-Cd0JGLPEnF3gumJ5hw3EpwUljz7HcE/edit?usp=sharing>.
 Building on 
AIP-43<https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-43+DAG+Processor+separation>
 (DAG Processor separation) and 
AIP-44<https://cwiki.apache.org/confluence/display/AIRFLOW/AIP-44+Airflow+Internal+API>
 (Airflow Internal API), we aim to modify the existing Role-Based Access 
Control (RBAC) to provide fine-grained access control and pave the way for 
running Airflow in a multi-tenant fashion.

Multi-tenancy support in Airflow would allow users to use a single Airflow 
environment to support multiple teams or business units, each with their own 
isolated workflows, user permissions, and data. This can offer a number of 
benefits including cost savings from a shared environment, improved 
collaboration among teams, and enhanced security through isolation, while also 
reducing the overall operational load.

In the proposal, we outline user requirements and describe the design for 
view-level and resource-level access control. We intentionally did not include 
technical implementation details, as these will be covered in AIPs after 
alignment. The proposal also includes open questions and recommendations. We 
would like to thank Jarek, Filip, and Kaxil for providing early feedback, 
helping to ensure the design has no obvious flaws.

Please review the proposal and provide your feedback by January 18th. We will 
then proceed to draft AIPs with implementation details based on the final 
proposal.

Regards
Shubham Mehta

Reply via email to