Skip to content

Default IAM policies

Thalassa Cloud ships a set of built-in policies for access control. Each policy defines which API resources a principal may access and which actions they may perform. The same policies are available as organisation roles and as system IAM policies inside projects.

For how API requests evaluate these permissions, see API authorization.

Policy naming

Built-in policies follow a <service>:<Access> naming pattern:

PatternMeaningExamples
<service>:ReadAccessRead and list onlyiam:ReadAccess, dns:ReadAccess, kms:ReadAccess
<service>:FullAccessFull CRUD on that service’s resourcesdns:FullAccess, secrets:FullAccess, kms:FullAccess
<service>:<Action>A single cryptographic or operational actionkms:Encrypt, kms:Decrypt, kms:Rotate

The service prefix identifies the product area (iam, k8s, iaas, dns, kms, secrets, dbaas, and others). The Access suffix describes the permission level or action.

Older built-in policies may still use legacy names (for example k8s-admin, iaas-devops, or FullAdminAccess instead of FullAccess). These are being aligned to the <service>:<Access> convention over time.

Custom policies you create must not use a system: prefix. Use your own descriptive names.

How defaults work

  • Default policies are platform-managed. They are marked read-only and cannot be renamed, deleted, or have their rules changed.
  • The platform keeps defaults in sync with the templates defined in the product. New policies may be added over time; existing rules may be updated to match new services.
  • The organisation owner is automatically bound to the admin:all policy as an organisation role.
  • You can create custom IAM policies and custom organisation roles alongside the defaults.

Permission types

Policies grant one or more of the following actions on each resource type:

PermissionMeaning
createCreate new resources
readRead a single resource
listList or search resources
updateModify existing resources
deleteDelete or disable resources
*All standard actions on the matched resources
push / pullPush to or pull from a container registry
encrypt / decryptEncrypt or decrypt data with a KMS key
sign / verifySign or verify data with a KMS key
hmac / verify-hmacGenerate or verify an HMAC with a KMS key
rotate / exportRotate or export a KMS key
getSecretValue / putSecretValueRead or write secret payload data

When a rule lists specific resource types with an empty resource-identity list, it applies to all instances of those types in scope.

Global policies

These policies span the entire platform API surface.

Policy namePermissionsDescription
admin:allAll actions on all resources (*)Full administrative access. Assigned automatically to the organisation owner.
user:FullAccess* on workload resourcesBuild and operate product workloads without organisation IAM, membership, or billing administration. Closest equivalent to AWS PowerUserAccess.
user:readread, list on all resourcesRead-only access across the organisation or project.

user:FullAccess includes Kubernetes, IaaS (including SSH keys, shared filesystems, and quick launch), DBaaS, container registry, object storage, DNS, KMS, Secrets Manager, Terraform state, observability, service accounts, cloud-init templates, and access-elevation requests. It does not grant organisation role/policy binding administration, member invites, OIDC/federated identity provider admin, or billing resources (invoices, mandates, credits, budgets, contracts).

Organisation management

Policy namePermissionsResources
org:adminFull CRUDOrganisation settings, members, invites, roles, quotas, teams, notifications, billing (invoices, credits, budgets, savings plans, contracts), addresses, SSH keys, service accounts, federated identities, OIDC clients, audit logs, personal access tokens, access credentials, cloud-init templates, projects
org:auditorread, listSame organisation resources as org:admin (excluding write-only financial actions such as mandate management)
org:financialAll actions (*)Organisation profile, quotas, notifications, addresses, invoices, contracts, mandates, credits, budgets, savings plans

Identity and access management

Policy namePermissionsResources
iam:ReadAccessread, listOrganisation roles, role permissions, role bindings, service accounts, service-account credentials, federated identities, identity providers, audit logs, projects, IAM policies/bindings/permissions
iam:FullAccessFull CRUDSame as iam:ReadAccess, plus organisation cloud-init templates; can review access elevation requests
iam:AccessElevation:requestcreateAccess elevation requests
iam:AccessElevation:reviewread, list, reviewAccess elevation requests

Kubernetes

Policy namePermissionsResources
k8s:adminFull CRUDClusters, node pools, machines, version streams, versions, API proxy, kubeconfig download & sessions, cluster roles, bindings, and permissions
kubernetes:AdminClusterAccessFull CRUD on clusters, node pools, machines, API proxy; read/list on cluster roles; kubeconfig downloadOperational cluster management without full role-administration write access
kubernetes:AllowKubeConfigDownloadread, list, create on kubeconfig download & API proxy; read, list on kubeconfig sessionsDownload cluster credentials only
k8s:developercreate, read, update, list (no delete) on clusters/node pools/machines; kubeconfig download; catalogue readsDay-to-day cluster operations without tear-down rights
k8s:auditorread, listAll Kubernetes resources
k8s:ReadAccessread, listAll Kubernetes resources
k8s:FullAccessFull CRUDAll Kubernetes resources

Infrastructure (IaaS)

Policy namePermissionsResources
iaas:adminFull CRUD; registry includes push/pullCloud regions, VPCs, subnets, routes, peering, VPN/NAT gateways, load balancers, VMs, volumes, snapshots, security groups, machine images/types, SSH keys, shared filesystems, quick launch, cloud-init, TFS, and container registry
iaas:devopsFull CRUD on compute & networking; registry includes push/pullVPCs, endpoints, firewall rules, routes, subnets, NAT gateways, reserved IPs, load balancers, VMs, volumes, security groups, snapshots, SSH keys, shared filesystems, quick launch, cloud-init, container registry
iaas:developercreate, read, update, list (no delete) on compute workflow resources; catalogue read/listVMs, volumes, attachments, security groups, SSH keys; plus read-only VPC/subnet/image/machine-type/region/reserved IP/cloud-init/quick launch
iaas:auditorread, list; registry pullFull IaaS resource set (including SSH keys, shared filesystems, quick launch) and container registry
iaas:ReadAccessread, listFull IaaS resource set including SSH keys, shared filesystems, quick launch, and cloud-init (excluding TFS and container registry)
iaas:FullAccessFull CRUDFull IaaS resource set including SSH keys, shared filesystems, quick launch, and cloud-init (excluding TFS and container registry)

Terraform state (TFS)

Policy namePermissionsResources
tfs:ReadAccessread, listTerraform state backends
tfs:FullAccessFull CRUDTerraform state backends

Container registry

Policy namePermissionsResources
registry:adminFull CRUD + push/pullRegistries, namespaces, namespace configuration, repositories
registry:developerread, list, push, pullRegistries, namespaces, configuration, repositories
registry:viewerread, list, pullRegistries, namespaces, configuration, repositories
registry:ReadAccessread, list, pullRegistries, namespaces, configuration, repositories
registry:FullAccessFull CRUD + push/pullRegistries, namespaces, configuration, repositories

Database as a service (DBaaS)

Policy namePermissionsResources
dbaas:adminFull CRUD on DB resources; read/list on VPC, subnet, machine types, and volume typesDB clusters, backup schedules, backups, instance types, object stores
dbaas:devopsFull CRUD on DB resources; read/list on VPC, subnet, machine types, and volume typesDB clusters, backup schedules, backups, object stores
dbaas:auditorread, list on DB and dependency catalogue resourcesDB clusters, backup schedules, backups, instance types; VPC/subnet/machine types/volume types
dbaas:ReadAccessread, listDB object stores, clusters, backups, instance types; VPC, subnet, machine types, and volume types
dbaas:FullAccessFull CRUD on DB resources; read/list on dependency catalogueDB object stores, clusters, backups, instance types; VPC, subnet, machine types, and volume types
dbaas:DbaasManagerFull CRUD on DB resources; read/list on VPC, subnet, machine types, and volume typesIntended for the Thalassa DBaaS Manager Controller service account

DBaaS instance-type listing uses the IaaS cloud_machine_type permission. Volume-type listing uses cloud_persistent_volume list. Write roles therefore include those catalogue reads so cluster create workflows succeed without admin:all.

Object storage

Policy namePermissionsResources
storage:adminFull CRUDObject storage buckets
storage:developercreate, read, update, listObject storage buckets
storage:auditorread, listObject storage buckets
objectstorage:ReadAccessread, listObject storage buckets
objectstorage:FullAccessFull CRUDObject storage buckets

Key management (KMS)

Policy namePermissionsResources
kms:ReadAccessread, listKMS keys
kms:FullAccessFull CRUDKMS keys
kms:EncryptencryptKMS keys
kms:DecryptdecryptKMS keys
kms:SignsignKMS keys
kms:VerifyverifyKMS keys
kms:HMAChmacKMS keys
kms:VerifyHMACverify-hmacKMS keys
kms:RotaterotateKMS keys
kms:ExportexportKMS keys

KMS roles require the kms feature gate on your organisation.

Secrets Manager

Policy namePermissionsResources
secrets:ReadAccessread, listSecret metadata and versions
secrets:FullAccessFull CRUD + getSecretValue, putSecretValueSecrets at allowed paths

DNS

Policy namePermissionsResources
dns:ReadAccessread, listDNS zones and records
dns:FullAccessFull CRUDDNS zones and records

Observability (workspaces)

Control-plane policies for managing observability workspaces (/v1/observability/workspaces).

Policy namePermissionsResources
observability:WorkspaceReadOnlyAccessread, listObservability workspaces
observability:WorkspaceFullAccessFull CRUDObservability workspaces

Observability (Prometheus)

Prometheus data-plane policies gate gateway ingest, query, Alertmanager, and ruler APIs (scoped per workspace identity).

Policy namePermissionsResources
prometheus:FullAccessFull CRUDRemote write, query, Alertmanager, ruler
prometheus:ReadOnlyAccessread, listRemote write, query, Alertmanager, ruler
prometheus:RemoteWriteFullAccessFull CRUDRemote write API
prometheus:QueryFullAccessFull CRUDQuery API
prometheus:QueryReadOnlyAccessread, listQuery API
prometheus:AlertmanagerFullAccessFull CRUDAlertmanager
prometheus:AlertmanagerReadOnlyAccessread, listAlertmanager
prometheus:RulerFullAccessFull CRUDRecording and alerting rules
prometheus:RulerReadOnlyAccessread, listRecording and alerting rules

Observability (Loki)

Loki data-plane policies gate gateway push, query, and delete APIs (scoped per workspace identity).

Policy namePermissionsResources
loki:FullAccessFull CRUDPush, query, delete
loki:ReadOnlyAccessread, listPush, query, delete
loki:PushFullAccessFull CRUDPush API
loki:QueryFullAccessFull CRUDQuery API
loki:QueryReadOnlyAccessread, listQuery API
loki:DeleteFullAccessFull CRUDDelete API
loki:DeleteReadOnlyAccessread, listDelete API

Related documentation