Documentation Index
Fetch the complete documentation index at: https://astronomer-preview.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
This is feature is only available if you are on theEnterprisetier or above. SeeAstro Plans and Pricing.
Private PreviewThis feature is inPrivate Preview. Reach out to your account team to enable this feature.
Astro Runtime 3.1-12+Dag-level access control requires Astro Runtime 3.1-12 or later. Deployments running earlier Runtime versions do not support Dag roles.
- Dag tags (recommended): Bind roles to one or more Dag tags. Any Dag with a matching tag is automatically included in the role binding. This is the recommended approach because new Dags that share the same tag are automatically covered without needing to update role assignments.
- Dag IDs: Bind roles to specific Dag IDs. Dag IDs are unique per Deployment. Use this approach when you need to grant access to a specific Dag that doesn’t share tags with other Dags.
Prerequisites
- An Astro Deployment running Astro Runtime 3.1-12 or later.
- The user being assigned a Dag role must be an Organization Member. If the user does not already have a Workspace role, Astro automatically grants them the Workspace Accessor role when you assign them a Dag role. See Workspace Accessor.
- Organization Owner permissions to create custom Dag roles.
- Workspace Owner or Deployment Admin permissions to assign Dag roles to users, Teams, and API tokens.
Default Dag roles
Astro provides two default Dag roles that you can assign to users, Teams, and API tokens:| Role | Description |
|---|---|
| Dag Viewer | Read-only access to a specific Dag and its resources. |
| Dag Author | Read, edit, and delete access to a specific Dag and its resources. |
Assign Dag roles to users
- In the Astro UI, click Organization Settings > Access Management.
- Click Users, then click the user you want to manage.
- Click the Dags tab.
- Click + Dag.
- In the Add User to Dag slide-out, select a Deployment.
- Under Target Dag by, select Dag Tag or Dag ID. Astronomer recommends using Dag tags so that the role automatically applies to any new Dags with the same tag.
- Select the Dag tag or Dag ID you want to bind the role to.
- Select a Dag Role and click Add to Dag.
Assign Dag roles to Teams
You can assign Dag roles to Teams so that all Team members share the same Dag-level permissions.- In the Astro UI, click Organization Settings > Access Management.
- Click Teams, then click the Team you want to manage.
- Click the Dags tab, then click + Dag.
- In the slide-out, select a Deployment.
- Under Target Dag by, select Dag Tag or Dag ID. Astronomer recommends using Dag tags so that the role automatically applies to any new Dags with the same tag.
- Select the Dag tag or Dag ID you want to bind the role to.
- Select a Dag Role and click Add to Dag.
Assign Dag roles to API tokens
You can assign Dag roles to Organization, Workspace, and Deployment API tokens to give them fine-grained access to specific Dags within a Deployment. Direct Access tokens cannot be assigned Dag roles.- Organization API tokens: Assign Dag roles from Organization Settings > Access Management > API Tokens. Click the token, then use the Dags tab. See the following steps.
- Workspace API tokens: Assign Dag roles from the token’s access management page. See Manage Workspace API token access.
- Deployment API tokens: Assign Dag roles from the token’s access management page. See Manage Deployment API token access.
- In the Astro UI, click Organization Settings > Access Management.
- Click API Tokens, then click the Organization API token you want to manage.
- Click the Dags tab, then click + Dag.
- In the slide-out, select a Deployment.
- Under Target Dag by, select Dag Tag or Dag ID. Astronomer recommends using Dag tags so that the role automatically applies to any new Dags with the same tag.
- Select the Dag tag or Dag ID you want to bind the role to.
- Select a Dag Role and click Add to Dag.
View and edit a user’s Dag access
Organization Owners can view and manage all of a user’s Dag role assignments from a centralized page.- In the Astro UI, click Organization Settings > Access Management.
- Click Users, then click the user whose Dag access you want to view.
- Click the Dags tab.
- Dag ID: The ID of the Dag the role is bound to.
- Dag Tag: The Dag tag the role is bound to.
- Deployment: The Deployment the binding belongs to.
- Dag Role: The Dag role assigned to the user.
- Open the More actions menu (…) next to the Dag entry you want to update and select Edit role.
- In the Edit Dag Access slide-out, select a new Dag role. The Dag ID and Deployment fields are read-only.
- Click Save changes.
View and manage Dag access from a Dag
Organization Owners can view and manage all role assignments for a specific Dag from the Dag’s Access Management page. This provides a Dag-centric view of access, showing all users, Teams, and API tokens that have roles on a particular Dag.- In the Astro UI, open the Dags page for your Deployment.
- Open the More actions menu (…) for the Dag you want to manage and click Access Management.
- Users: All users with Dag roles on this Dag.
- Teams: All Teams with Dag roles on this Dag.
- API Tokens: All API tokens with Dag roles on this Dag.
Add a Dag role from the Dag Access Management page
- Click the tab for the entity type you want to add (Users, Teams, or API Tokens).
- Click + User, + Team, or + API Token, depending on the selected tab.
-
In the slide-out:
- For Users and Teams: Select the entity and a Dag Role, then click Add.
- For API Tokens: Select a Scope (Deployment, Workspace, or Organization) to filter the available tokens. Select an API Token and a Dag Role, then click Add.
Direct Access tokens appear in the token dropdown but are not selectable.
Edit or remove a Dag role from the Dag Access Management page
- Open the More actions menu (…) next to the entity you want to update.
- Click Edit role to change the Dag role, or click Remove from Dag to remove the entity’s access to the Dag.
Create a custom Dag role
You can create custom Dag roles with granular permissions at the Organization level. After you create a custom Dag role, you can assign it to users, Teams, and API tokens for any Dag in any Deployment in the Organization.- In the Astro UI, click Organization Settings.
- Go to Access Management, then click Roles.
- Click Custom, then click + Add Role.
- In the slide-out that appears, set the Scope dropdown to Dag.
- Enter a Name and Description for the role.
- (Optional) Use the Copy from an existing role dropdown to load the permissions of a default Dag role or an existing custom role as a starting point.
- In the Permissions table, check the boxes for the permissions you want the role to have. See Custom role permissions reference for a complete list of available permissions.
- Click Create Role.
Custom Dag roles vs. custom Deployment roles
Custom Deployment roles and custom Dag roles both use the custom role creation flow in Organization Settings > Access Management > Roles, but they differ in scope:- Custom Deployment roles grant permissions across all Dags and resources in a Deployment. See Create and assign custom Deployment roles.
- Custom Dag roles grant permissions to specific Dags within a Deployment, bound by Dag tag or Dag ID.
Permission dependencies for custom Dag roles
Most Airflow operations require a specific combination of permissions to work. Assigning a resource-specific permission without the required base permission results in access being denied, even when the user appears to have the relevant permission. Two base permission patterns apply across all resources:- Read operations require
dag.airflow.dag.getalongside the specific resource read permission. For example, to view Dag runs, a role needs bothdag.airflow.dag.getanddag.airflow.dagRun.get. - Write operations (create, update, delete) require
dag.airflow.dag.update— notdag.airflow.dag.get— alongside the specific resource write permission. For example, to trigger a Dag run, a role needsdag.airflow.dag.updateanddag.airflow.dagRun.create.
dag.airflow.dag.get, dag.airflow.dagRun.get, dag.airflow.taskInstance.get, and dag.airflow.taskLog.get.
Common permission sets
The following examples show minimum permission sets for common role types. These are verified against Airflow API behavior but cover a subset of operations. Not all Airflow endpoints are represented here.Read-only access
Read-only access
View Dags, Dag runs, and task execution details without making changes.
Dag operator
Dag operator
Trigger, update, and delete Dag runs.
Task manager
Task manager
View and manage individual task instances.
Dag administrator
Dag administrator
Full control over a Dag, including deletion.