From 3c4d8992c0de51402cd24297d67e28c785541610 Mon Sep 17 00:00:00 2001 From: Stacey Salamon Date: Mon, 28 Oct 2024 21:45:10 +0100 Subject: [PATCH 1/2] update: add org permissions and roles --- docs/platform/concepts/permissions.md | 69 +++++++++++++++++++-------- 1 file changed, 49 insertions(+), 20 deletions(-) diff --git a/docs/platform/concepts/permissions.md b/docs/platform/concepts/permissions.md index b29c7765..81950a28 100644 --- a/docs/platform/concepts/permissions.md +++ b/docs/platform/concepts/permissions.md @@ -12,16 +12,50 @@ Principals are [organization users](/docs/platform/howto/manage-org-users), [application users](/docs/platform/concepts/application-users), and [groups](/docs/platform/howto/list-groups). -You can grant access to principals at the project level. -To grant access to resources at the organization level, you can -make organization users [super admin](/docs/platform/howto/make-super-admin). -Limit the number of users with this role as it gives unrestricted access to -all organization resources including billing, admin, and all projects and services. +You can grant access to principals at the organization and project level. + +:::important +Permissions are not yet fully supported in the Aiven Console. They are intended for +use with the Aiven API, Aiven Provider for Terraform, and Aiven Operator for Kubernetes. +::: + +## Organization roles + +You can grant the following roles to principals at the organization level. The permissions +for each role apply to the organization and all units, projects, and services within it. + +| Console name | API name | Permissions | +| ------------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Admin | `role:organization:admin` | | +| Organization member | `role:organization:member` | Non-managed users can: This is the default role assigned to all organization users. | + +## Organization permissions + +You can grant the following permissions to principals. The actions listed for each +permission apply to the organization and all units, projects, and services within it. + +| Console name | API name | Allowed actions | +| ------------------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Manage application users | `organization:app_users:write` | | +| View organization audit log | `organization:audit_log:read` | | +| View billing | `organization:billing:read` | | +| Manage billing | `organization:billing:write` | | +| Manage domains | `organization:domains:write` | | +| Manage groups | `organization:groups:write` | | +| Manage IdPs | `organization:idps:write` | | +| View organization networking | `organization:networking:read` | | +| Manage organization networking | `organization:networking:write` | | +| View organization permissions | `organization:permissions:read` | | +| Manage organization permissions | `organization:permissions:write` | | +| View projects | `organization:projects:read` | No project or service access. | +| Manage projects | `organization:projects:write` | No access to other project settings or services. | + ## Project roles -You can grant the following roles for projects to principals. +You can grant the following roles for projects to principals. The permissions for each +role apply to the project and all services within it. | Console name | API name | Permissions | | ------------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -35,20 +69,15 @@ they are also a [super admin](/docs/platform/howto/make-super-admin). ## Project and service permissions -:::important -Permissions are not yet fully supported in the Aiven Console. They are intended for -use with the Aiven API, Aiven Provider for Terraform, and Aiven Operator for Kubernetes. -::: - You can grant the following permissions to principals. The actions listed for each permission apply to the project and all services within it. -| Console name | API name | Allowed actions | -| ------------------------- | --------------------------- | -------------------------------------------------------------------------------------------------------------------- | -| View project audit log | `project:audit_logs:read` | | -| View project integrations | `project:integrations:read` | | -| View project networking | `project:networking:read` | | -| Manage project networking | `project:networking:write` | | -| View project permissions | `project:permissions:read` | | -| View services | `project:services:read` | | -| View service logs | `service:logs:read` | **Service logs may contain sensitive information.** | +| Console name | API name | Allowed actions | +| ------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------- | +| View project audit log | `project:audit_logs:read` | | +| View project integrations | `project:integrations:read` | | +| View project networking | `project:networking:read` | | +| Manage project networking | `project:networking:write` | | +| View project permissions | `project:permissions:read` | | +| View services | `project:services:read` | | +| View service logs | `service:logs:read` | **Service logs may contain sensitive information.** | From 5a0700dc1020d2f1bb633dd97b71c370bbf54ed3 Mon Sep 17 00:00:00 2001 From: Stacey Salamon Date: Wed, 30 Oct 2024 13:32:19 +0100 Subject: [PATCH 2/2] change structure Create separate org and project sections with subsections for roles and permissions in each. --- docs/platform/concepts/permissions.md | 31 +++++++++++---------------- 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/docs/platform/concepts/permissions.md b/docs/platform/concepts/permissions.md index 81950a28..a0e14cf9 100644 --- a/docs/platform/concepts/permissions.md +++ b/docs/platform/concepts/permissions.md @@ -20,20 +20,20 @@ Permissions are not yet fully supported in the Aiven Console. They are intended use with the Aiven API, Aiven Provider for Terraform, and Aiven Operator for Kubernetes. ::: -## Organization roles +## Organization roles and permissions -You can grant the following roles to principals at the organization level. The permissions -for each role apply to the organization and all units, projects, and services within it. +You can grant the following roles and permissions to principals at the organization level. +Roles and permissions at this level apply to the organization and all units, projects, +and services within it. + +### Organization roles | Console name | API name | Permissions | | ------------------- | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Admin | `role:organization:admin` | | -| Organization member | `role:organization:member` | Non-managed users can: This is the default role assigned to all organization users. | - -## Organization permissions +| Organization member | `role:organization:member` | The default role assigned to all organization users.

Non-managed users can: | -You can grant the following permissions to principals. The actions listed for each -permission apply to the organization and all units, projects, and services within it. +### Organization permissions | Console name | API name | Allowed actions | | ------------------------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -52,10 +52,11 @@ permission apply to the organization and all units, projects, and services withi | Manage projects | `organization:projects:write` | No access to other project settings or services. | -## Project roles +## Project roles and permissions +You can grant the following permissions to principals. Roles and permissions granted at +this level apply to the project and all services within it. -You can grant the following roles for projects to principals. The permissions for each -role apply to the project and all services within it. +### Project roles | Console name | API name | Permissions | | ------------ | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -64,13 +65,7 @@ role apply to the project and all services within it. | Operator | `operator` | | | Read only | `read_only` | | -Project admin do not have access to organization settings such as billing unless -they are also a [super admin](/docs/platform/howto/make-super-admin). - -## Project and service permissions - -You can grant the following permissions to principals. The actions listed for each -permission apply to the project and all services within it. +### Project permissions | Console name | API name | Allowed actions | | ------------------------- | --------------------------- | ------------------------------------------------------------------------------------------------- |