Users
A user has one global identity but belongs to your organization (and possibly others) with per-organization roles and block status. A user can be Admin in one organization and Viewer in another.How a user joins your organization
- Invitation. An admin with
write:invitationsinvites the user by email; they accept via a one-time link and pick a sign-in method. - First-user bootstrap. The first user of a new organization is automatically assigned the Admin role.
- SSO just-in-time (JIT). If SSO is configured with domain auto-join, a user signing in with a matching email domain is provisioned on first login with the SSO default role. See Domain auto-join and JIT provisioning.
write:invitations. If roles is omitted, the user defaults to Viewer.
Sign-in methods
Reaching a workspace
The Control Plane is the source of truth. Each workspace pulls user and group changes automatically (about every 30 seconds), so a role binding that references a user’s email becomes effective once the user is synced - you don’t re-bind after a user appears. Control Plane permissions do not become Compute Plane permissions: a Control Plane admin must still be granted workspace role bindings to do anything inside a workspace.Block and unblock
A block immediately denies a user entry while preserving their roles, so you can restore access by unblocking:403); a user blocked in every org they belong to cannot log in at all (401). You cannot block yourself or the organization owner.
Other lifecycle notes
- Changing an email keeps the user’s underlying identity, so role bindings, audit history, and group memberships continue to work.
- Removing a user drops their membership; they can rejoin later via invitation.
- Every change (invited, joined, role added/removed, blocked, removed, profile changed) is recorded with the acting user and timestamp.
Groups
A group is a flat collection of users (and, on the Compute Plane, service accounts) assigned roles collectively. Instead of binding each user to a role, bind the group once and manage membership. Groups solve two problems: per-user binding explosion (a 50-person team needing the same access is one set of group bindings, not 50× the bindings) and drift (remove a member once and every workspace updates within ~30 seconds). A group can carry both Control Plane role bindings (org-level APIs) and Compute Plane role bindings (data operations), tracked separately because the permission vocabularies differ. Manage groups over the API:Service accounts
A service account is a non-human identity scoped to a single workspace, used for automation (CI/CD, scheduled jobs). It authenticates with ane6sa_ API key and is governed by the same role bindings as users.
Create a service account and issue a key over the API:
See also
- Roles and permissions
- Control Plane vs Compute Plane permissions
- Access tokens -
e6pat_ande6sa_credentials. - Support access - e6data engineer identities.