workspace.basaltic.sh. Grant
workspace:* actions in organization policies. Billing, quota, and audit
actions are also evaluated in the organization policy domain.
Account IAM policies never grant these actions, even with an action wildcard.
Users inherit organization policies directly and through user groups. Roles
and service accounts receive only organization policies explicitly delegated
to them. A role session uses the role’s grants, not those of its source.
Resource names
/inline-policy/<name> to the principal
CRN. A user’s permission boundary appends /permission-boundary/default.
Setting that boundary also requires workspace:GetPolicy on the chosen policy.
The actions
The table includes primary actions. Additional target-account checks for organization delegation and role assignment are described below.
Human members can read their own organization through membership. Machine
identities need
workspace:GetOrganization. Organization listing returns the
human’s memberships. Personal sign-in, invitation acceptance, and switching the
active organization remain IAM authentication flows.
Attaching organization policies to people
workspace:AttachPolicy and workspace:DetachPolicy require authorization on
both the organization policy and target user or group. Use the concrete CRNs
of both resources; system policies have their separate system CRN namespace.
Delegating organization policies
A role or service account can carry organization permissions for billing collectors, onboarding jobs, or other automation. Its console policy tab has separate Account policies and Organization policies tables. The organization attachment endpoints are on Workspace, not IAM:
POST accepts
policy_id, the organization’s policy UUID. DELETE appends that
UUID to the path. GET lists the organization’s policy attachments.
The target’s UUID is resolved within the current organization and its owning
account; it does not move the caller’s identity into that account.
The same caller must satisfy both checks:
Combining two credentials is not supported. Use an identity that holds the
required organization grant and target-account permission, or an organization
owner performing initial setup. An account role with no organization grants
cannot attach them to itself.
Sensitive changes that transfer an already delegated identity’s authority also
require Workspace delegation permission. Account policy administration alone
cannot obtain organization access by passing a role or issuing a new credential.
Account role assignments
Role assignments bind an organization user or group to a role in one account. They supply the source permission for a human’s AssumeRole exchange. Target trust is still required, and assignment creation never changes trust. Creating an assignment requiresworkspace:AssignAccountRole plus
iam:GetRole for the target role. Listing and removing assignments use
workspace:ListAccountRoleAssignments and
workspace:RemoveAccountRoleAssignment.
The current human can discover their effective assignments through
GET /v1/account-roles. This is distinct from the administrative account list;
a user need not receive workspace:ListAccounts simply to choose an assigned
role. See account access.