Prerequisites
- System Admin access to Astro Private Cloud.
- Access to your platform’s
values.yamlfile.
Add users to Astro Private Cloud
When you first deploy Astro Private Cloud, the first user to sign in receives System Admin permissions by default. After that, Astro Private Cloud creates a user in any of the following ways:- A Workspace Admin invites them to a Workspace
- A System Admin invites them to the platform
- They sign up through the Astro Private Cloud UI without an invitation, which requires
publicSignups - Astro Private Cloud imports them through an IdP group
New users appear under a System Admin’s Users tab only after the new user signs in for the first time.
You can bypass the email verification process for new users through an Astro Private Cloud (APC) API mutation. For the format of this mutation, see Use the APC API.
Enable public signups
Public signups allow any user with access to your base domain to create an account. If you disable public signups, users who try to access Astro Private Cloud without an invitation from another user receive an error. Enabling public signups can simplify initial setup when SMTP credentials are difficult to acquire, because disabling public signups requires that a user accept an email invitation.publicSignups is an APC API configuration that you set in the values.yaml file of your Helm chart.
To enable public signups, add the following YAML snippet to your values.yaml file:
values.yaml file would look like:
System permissions on Astro Private Cloud
The System Admin role grants full permissions across all clusters, Workspaces, and Deployment entities. Users with this role can monitor and take action on Workspaces, Deployments, and users throughout all clusters. On Astro Private Cloud, System Admins specifically can:- Register a data plane
- List all data planes
- Manage data plane-wide config
- De-register a data plane
- List and search all users
- List and search all Deployments
- Access the Airflow UI for all Deployments
- Delete a user
- Delete a Deployment
- Access Grafana for cluster-level monitoring
- Add other System Admins
Assign users System Admin roles
Use the System Admin tab in the Astro Private Cloud UI to add System Admins. Keep in mind that:- Only existing System Admins can grant the System Admin role to another user.
- The user must have a verified email address and already exist in the system.
To assign a user a different system-level role, either
SYSTEM_VIEWER or SYSTEM_EDITOR, use an API call from your platform’s GraphQL playground. For guidelines, see Use the APC API.Verify System Admin access
To verify a user was successfully granted the System Admin role, ensure they can do the following:- Go to
grafana.<BASEDOMAIN> - Access the System Admin tab from the top left menu of the Astro Private Cloud UI
User roles on Astro Private Cloud
Administrators can customize permissions across your installation. On Astro Private Cloud, you can assign users roles at four levels:- Deployment level (Viewer, Editor, Admin)
- Workspace level (Viewer, Editor, Admin)
- System level (Viewer, Editor, Admin)
- Cluster level (Admin)
Customize role permissions
Astro Private Cloud defines permissions asscope.entity.action, where:
scope: The layer of the platform to which the permission appliesentity: The object or role being operated onaction: The verb describing the operation being performed on theentity
deployment.serviceAccounts.create permission translates to the ability for a user to create a Deployment-level service account in any Deployment to which they belong. For the available platform permissions and default role configurations, see User roles and permissions.
A permission for a given scope applies only to the parts of the scope a user was invited to. For example, a user with a role including the workspace.serviceAccounts.get permission can view service accounts only in the Workspaces they belong to.
The steps in this section modify the permissions of the built-in System, Workspace, and Deployment roles through your values.yaml file. To instead create additional roles with their own custom sets of permissions and assign them through the Astro Private Cloud UI, see Create custom roles.
Role permission inheritance
In addition to their own permissions, roles inherit permissions from other roles. There are several chains of inheritance in the Astro Private Cloud RBAC system. In the following list,> represents “inherits from”:
- System Admin > System Editor > System Viewer > User
- Deployment Admin > Deployment Editor > Deployment Viewer > User
- Workspace Admin > Workspace Editor > Workspace Viewer > User
Modify built-in role permissions
1
Identify a permission change
Review the default roles and permissions in the default APC API configuration and determine the following:
- What role you want to configure. For example,
DEPLOYMENT_EDITOR. - What permissions you want to add to or remove from the role. For example,
deployment.images.push.
DEPLOYMENT_EDITOR (and therefore WORKSPACE_EDITOR) from deploying code to all Airflow Deployments within a Workspace and instead limit that action to users assigned the DEPLOYMENT_ADMIN role.2
Modify your values.yaml file
Apply the role and permission changes to your organization’s In the same way you can remove permissions from a particular role by setting a permission to Push the configuration change to your platform. See Apply a config change.
values.yaml file. For example::false, you can add permissions to a role at any time by setting a permission to :true.For example, if you want to allow any DEPLOYMENT_VIEWER (and therefore WORKSPACE_VIEWER) to push code directly to any Airflow Deployment within a Workspace, you’d specify the following:Example customization: limit Workspace creation
Unless otherwise configured, a user who creates a Workspace on Astro Private Cloud is automatically granted theWORKSPACE_ADMIN role and can create an unlimited number of Airflow Deployments within that Workspace. For organizations looking to more strictly control resources, Astro Private Cloud supports limiting the Workspace creation function through the USER role.
Astro Private Cloud includes a USER role that is synthetically bound to all users within the control plane. By default, this role includes the system.workspace.create permission.
If you’re a System Admin who wants to limit Workspace creation, you can:
- Set the
system.workspace.createpermission for theUSERrole tofalse. - Attach the
system.workspace.createpermission to a separate role of your choice.
SYSTEM_ADMIN role on the platform, because System Admins can be responsible for managing cluster-level resources and costs. To reassign this permission to System Admins, your values.yaml would appear similar to the following example: