Console
Policies
IAM policies grant precise, resource-level permissions on top of roles.
A policy is a reusable document of permission statements. You write it once, then attach it to the people or resources it should apply to. Where roles say who someone is broadly, policies say exactly what may be done, and where.
Anatomy
A policy is a list of statements. Each statement allows a set of actions on a set of resources, optionally narrowed by conditions. Manage them under Access → Policies, or via the API.
{
"name": "example-policy",
"statements": [
{
"effect": "allow",
"actions": ["<action>"],
"resources": ["<resource>"]
}
]
}Valid actions and resources
The exact action and resource identifiers you can grant are returned byGET /v1/iam/catalog. Build your statements from that list rather than guessing names.Creating and attaching
Create a policy, then attach it to a member, role or resource:
curl -X POST https://api.upgreat.ai/v1/orgs/{orgId}/policies \
-H "Authorization: Bearer <access-token>" \
-H "Content-Type: application/json" \
-d @policy.jsonInspect what a policy currently governs with GET /v1/orgs/{orgId}/policies/{policyId}/attachments. The full set of policy endpoints is in the API reference.
Least privilege
Start from the narrowest policy that lets a person do their job, scoped to a single project, and widen only when needed. Combine policies rather than granting broad roles.