Skip to content

Commit 7d1f6eb

Browse files
authored
Merge branch 'main' into task_edeng_61
2 parents ced0d2d + f76ab42 commit 7d1f6eb

File tree

68 files changed

+341
-261
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+341
-261
lines changed

src/current/_includes/cockroachcloud/backups/cloud-api-get-put.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
You can use the [CockroachDB Cloud API]({% link cockroachcloud/cloud-api.md %}) to [view](#get-information-on-backup-settings) and [modify](#modify-backup-settings-on-a-cluster) managed backup settings.
22

33
{{site.data.alerts.callout_info}}
4-
The [service account]({% link cockroachcloud/authorization.md %}#service-accounts) associated with the secret key must have the [Cluster Administrator]({% link cockroachcloud/authorization.md %}#cluster-administrator) role.
4+
The [service account]({% link cockroachcloud/authorization.md %}#service-accounts) associated with the secret key must have the [Cluster Admin]({% link cockroachcloud/authorization.md %}#cluster-admin) role.
55
{{site.data.alerts.end}}
66

77
### Get information on backup settings

src/current/_includes/cockroachcloud/backups/managed-backup-perms.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
To restore a managed backup successfully in CockroachDB {{ site.data.products.cloud }}, you must have the appropriate [permissions]({% link cockroachcloud/authorization.md %}) on both the source and destination clusters:
22

3-
- You must have either the [Cluster Administrator]({% link cockroachcloud/authorization.md %}#cluster-administrator) or [Cluster Operator]({% link cockroachcloud/authorization.md %}#cluster-operator) role on the **destination cluster**, or at the [organization level]({% link cockroachcloud/authorization.md %}#overview-of-the-cockroachdb-cloud-authorization-model). Without one of these roles, the restore operation will fail.
4-
- You must also have either the [Cluster Administrator]({% link cockroachcloud/authorization.md %}#cluster-administrator) or [Cluster Operator]({% link cockroachcloud/authorization.md %}#cluster-operator) role on the **source cluster** (the cluster from which the backup was taken), or at the [organization level]({% link cockroachcloud/authorization.md %}#overview-of-the-cockroachdb-cloud-authorization-model). If you do not have the required permissions on the source cluster, the restore will fail.
3+
- You must have either the [Cluster Admin]({% link cockroachcloud/authorization.md %}#cluster-admin) or [Cluster Operator]({% link cockroachcloud/authorization.md %}#cluster-operator) role on the **destination cluster**, or at the [organization level]({% link cockroachcloud/authorization.md %}#overview-of-the-cockroachdb-cloud-authorization-model). Without one of these roles, the restore operation will fail.
4+
- You must also have either the [Cluster Admin]({% link cockroachcloud/authorization.md %}#cluster-admin) or [Cluster Operator]({% link cockroachcloud/authorization.md %}#cluster-operator) role on the **source cluster** (the cluster from which the backup was taken), or at the [organization level]({% link cockroachcloud/authorization.md %}#overview-of-the-cockroachdb-cloud-authorization-model). If you do not have the required permissions on the source cluster, the restore will fail.
55

66
{{site.data.alerts.callout_info}}
77
Organization-level permissions take precedence over cluster-specific permissions. If you have the appropriate role at the organization level, you are authorized to perform restore operations on all clusters within that organization.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Either the [Cluster Operator]({% link cockroachcloud/authorization.md %}#cluster-operator) or [Cluster Administrator]({% link cockroachcloud/authorization.md %}#cluster-administrator) role on a pre-existing cluster, or the [Cluster Creator](authorization.html#cluster-creator) role in order to create a new cluster.
1+
Either the [Cluster Operator]({% link cockroachcloud/authorization.md %}#cluster-operator) or [Cluster Admin]({% link cockroachcloud/authorization.md %}#cluster-admin) role on an existing cluster, or the [Cluster Creator](authorization.html#cluster-creator) role in order to create a new cluster.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{{site.data.alerts.callout_info}}
2-
Only [Org Administrators]({% link cockroachcloud/authorization.md %}#org-administrator) and [Cluster Administrators]({% link cockroachcloud/authorization.md %}#cluster-administrator) can create SQL users and issue credentials.
2+
Only [Organization Admins]({% link cockroachcloud/authorization.md %}#organization-admin) and [Cluster Admins]({% link cockroachcloud/authorization.md %}#cluster-admin) can create SQL users using the {{site.data.products.cloud}} Console or API. These SQL users default to the `Admin` role. For granular provisioning of SQL user privileges, refer to documentation on [using the cluster's SQL interface]({% link cockroachcloud/managing-access.md %}?filters=client#create-a-sql-user).
33
{{site.data.alerts.end}}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{{site.data.alerts.callout_info}}
22
The user who creates a new organization is assigned the following [roles]({% link cockroachcloud/authorization.md %}#organization-user-roles) at the organization scope:
33

4-
- [Org Administrator]({% link cockroachcloud/authorization.md %}#org-administrator)
4+
- [Organization Admin]({% link cockroachcloud/authorization.md %}#organization-admin)
55
- [Billing Coordinator]({% link cockroachcloud/authorization.md %}#billing-coordinator)
6-
- [Cluster Administrator]({% link cockroachcloud/authorization.md %}#cluster-administrator)
6+
- [Cluster Admin]({% link cockroachcloud/authorization.md %}#cluster-admin)
77
- [Folder Administrator]({% link cockroachcloud/authorization.md %}#folder-admin)
88

9-
Any of these roles may subsequently be removed by a user with both the Org Administrator role and the Cluster Admin role at the organization scope. This is to ensure that at least one user has both of these roles.
9+
Any of these roles may subsequently be removed by a user with both the Organization Admin role and the Cluster Admin role at the organization scope. This is to ensure that at least one user has both of these roles.
1010
{{site.data.alerts.end}}
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
The following table describes the high level permissions given by each CockroachDB {{ site.data.products.cloud }} user role. Permissions are additive, so a user with multiple roles is given all permissions in each area across all assigned roles.
2+
3+
<div class="roles-table" markdown="1">
4+
5+
| | Org. Member | Org. Admin | Billing Coord. | Cluster Creator | Cluster Operator | Cluster Admin | Cluster Developer | Folder Admin | Folder Mover |
6+
|---|-------------|-------------|------------------|------------------|-------------------|----------------|--------------------|----------------|----------------|
7+
| **User/Access Management** | | | | | | | | | |
8+
| Assign and revoke roles ||||||||||
9+
| Assign {{ site.data.products.cloud }} user and service account roles ||||||||||
10+
| Manage SQL users ||||||||||
11+
| Manage {{ site.data.products.cloud }} users and service accounts ||||||||||
12+
| Apply roles at the [folder]({% link cockroachcloud/folders.md %}) scope ||||||||||
13+
| **Cluster & Infrastructure** | | | | | | | | | |
14+
| Create cluster or [private cluster]({% link cockroachcloud/private-clusters.md %}) ||||||||||
15+
| Create / edit / delete cluster ||||||||||
16+
| Edit / delete clusters created by this user ||||||||||
17+
| Create / delete / manage [folders]({% link cockroachcloud/folders.md %}) ||||||||||
18+
| Move cluster between [folders]({% link cockroachcloud/folders.md %}) ||||||||||
19+
| Scale nodes ||||||||||
20+
| Upgrade CockroachDB ||||||||||
21+
| Configure [maintenance windows]({% link cockroachcloud/advanced-cluster-management.md %}#set-a-maintenance-window) ||||||||||
22+
| Use the [{{ site.data.products.cloud }} Terraform provider]({% link cockroachcloud/provision-a-cluster-with-terraform.md %}) ||||||||||
23+
| **Monitoring & Observability** | | | | | | | | | |
24+
| View cluster details ||||||||||
25+
| View [audit logs]({% link cockroachcloud/cloud-org-audit-logs.md %}) ||||||||||
26+
| View [insights]({% link cockroachcloud/insights-page.md %}) ||||||||||
27+
| View [jobs]({% link cockroachcloud/jobs-page.md %}) ||||||||||
28+
| View [metrics]({% link cockroachcloud/metrics.md %}) ||||||||||
29+
| Send [test alerts]({% link cockroachcloud/alerts-page.md %}#send-a-test-alert) ||||||||||
30+
| Access [DB console]({% link cockroachcloud/network-authorization.md %}#db-console) ||||||||||
31+
| **Security** | | | | | | | | | |
32+
| Configure [cluster SSO]({% link cockroachcloud/cloud-sso-sql.md %}) ||||||||||
33+
| Manage [egress perimeter controls]({% link cockroachcloud/egress-perimeter-controls.md %}) ||||||||||
34+
| Manage [network authorization]({% link cockroachcloud/network-authorization.md %}) ||||||||||
35+
| View PCI status ||||||||||
36+
| **Database & Data** | | | | | | | | | |
37+
| Manage databases ||||||||||
38+
| View / restore [backups]({% link cockroachcloud/backup-and-restore-overview.md %}) ||||||||||
39+
| **Billing & Licensing** | | | | | | | | | |
40+
| Manage [billing]({% link cockroachcloud/billing-management.md %}) ||||||||||
41+
| Manage [email alerts]({% link cockroachcloud/alerts-page.md %}#configure-alerts) ||||||||||
42+
| Manage CockroachDB [Self-Hosted cluster licenses]({% link {{ site.current_cloud_version }}/licensing-faqs.md %}#obtain-a-license) ||||||||||
43+
44+
</div>
45+
46+
Some roles can be assigned to users at specific levels of scope to provide more granular permission control:
47+
48+
| **Scope level** | **Description** | **Applicable roles** |
49+
|---|---|---|
50+
| `Organization` | Applies to the entire CockroachDB {{ site.data.products.cloud }} organization, including all clusters and folders | `Cluster Operator`, `Cluster Admin`, `Cluster Creator`, `Cluster Developer`, `Billing Coordinator`, `Organization Admin`, `Folder Admin`, `Folder Mover` |
51+
| `Folder` | Applies to clusters within a specific [folder]({% link cockroachcloud/folders.md %}). Only available as a selectable scope if folders have been created within the organization by a user with the `Folder Admin` role | `Cluster Operator`, `Cluster Admin`, `Cluster Creator`, `Cluster Developer`, `Folder Admin`, `Folder Mover` |
52+
| `Cluster` | Applies to a specific cluster | `Cluster Operator`, `Cluster Admin`, `Cluster Developer` |
53+
54+
{% if page.name != 'authorization.md' %}For more information on these roles and the specific permissions given, see [Organization user roles]({% link cockroachcloud/authorization.md %}#organization-member).{% endif %}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
A {% if page.name == 'authorization.md' %}**Folder Admin**{% else %}[**Folder Admin**]({% link cockroachcloud/authorization.md %}#folder-admin){% endif %} can create, rename, and move, or delete folders where they are granted the role, and they can also manage access to these folders. They can also [edit folder labels]({% link cockroachcloud/labels.md %}). This role can be granted at the level of the organization or on a specific folder. If granted at the level of the organization, the role grants the ability to view all users and service accounts in the organization. If granted on a specific folder, the role is inherited by descendant folders.
1+
The {% if page.name == 'authorization.md' %}**Folder Admin**{% else %}[**Folder Admin**]({% link cockroachcloud/authorization.md %}#folder-admin){% endif %} role allows users to create, rename, move, delete, and manage access to folders where they are assigned the role. Users can also [edit folder labels]({% link cockroachcloud/labels.md %}). This role can be assigned at the level of the organization or on a specific folder. If assigned at the level of the organization, the role allows users to view all users and service accounts in the organization. If assigned to a specific folder, the role is inherited by descendant folders.
22

3-
A user with the {% if page.name == 'authorization.md' %}[Org Administrator](#org-administrator){% else %}[Org Administrator]({% link cockroachcloud/authorization.md %}#org-administrator){% endif %} role can grant themselves, another user, or a service account the Folder Admin role.
3+
A user with the {% if page.name == 'authorization.md' %}[Organization Admin](#organization-admin){% else %}[Organization Admin]({% link cockroachcloud/authorization.md %}#organization-admin){% endif %} role can assign themselves, another user, or a service account the Folder Admin role.
44

5-
To create or manage clusters in a folder, a Folder Admin also needs the {% if page.name == 'authorization.md' %}[Cluster Administrator](#cluster-administrator) or [Cluster Creator](#cluster-creator){% else %}[Cluster Administrator]({% link cockroachcloud/authorization.md %}#cluster-administrator) or [Cluster Creator]({% link cockroachcloud/authorization.md %}#cluster-creator){% endif %} role on that folder directly or by inheritance. To delete a cluster, the Cluster Administrator role is required on the cluster directly or by inheritance.
5+
To create or manage clusters in a folder, a Folder Admin also needs the {% if page.name == 'authorization.md' %}[Cluster Admin](#cluster-admin) or [Cluster Creator](#cluster-creator){% else %}[Cluster Admin]({% link cockroachcloud/authorization.md %}#cluster-admin) or [Cluster Creator]({% link cockroachcloud/authorization.md %}#cluster-creator){% endif %} role on that folder directly or by inheritance. To delete a cluster, the Cluster Admin role is required on the cluster directly or by inheritance.
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
A {% if page.name == 'authorization.md' %}**Folder Mover**{% else %}[**Folder Mover**]({% link cockroachcloud/authorization.md %}#folder-mover){% endif %} can rename or move descendant folders, and can move clusters within the folder hierarchy where they have the role. However, a Folder Mover cannot create or delete folders or clusters, and cannot assign roles. A Folder Mover can move clusters within the folder hierarchy even if they do not have a role that allows them to connect to the cluster, such as {% if page.name == 'authorization.md' %}[Cluster Creator](#cluster-creator) or [Cluster Operator](#cluster-operator){% else %}[Cluster Administrator]({% link cockroachcloud/authorization.md %}#cluster-administrator) or [Cluster Operator]({% link cockroachcloud/authorization.md %}#cluster-operator{% endif %}).
1+
The {% if page.name == 'authorization.md' %}**Folder Mover**{% else %}[**Folder Mover**]({% link cockroachcloud/authorization.md %}#folder-mover){% endif %} role allows users to rename or move descendant folders, and move clusters within the folder hierarchy where they have the role. However, a Folder Mover cannot create or delete folders or clusters and cannot assign roles. A Folder Mover can move clusters within the folder hierarchy even if they do not have a role that allows them to connect to the cluster, such as {% if page.name == 'authorization.md' %}[Cluster Creator](#cluster-creator) or [Cluster Operator](#cluster-operator){% else %}[Cluster Admin]({% link cockroachcloud/authorization.md %}#cluster-admin) or [Cluster Operator]({% link cockroachcloud/authorization.md %}#cluster-operator{% endif %}).
22

33
{{site.data.alerts.callout_info}}
44
A cluster cannot be renamed.
55
{{site.data.alerts.end}}
66

7-
A user with the {% if page.name == 'authorization.md' %}[Org Administrator](#org-administrator) or [Folder Admin](#folder-admin){% else %}[Org Administrator]({% link cockroachcloud/authorization.md %}#org-administrator) or [Folder Admin]({% link cockroachcloud/authorization.md %}#folder-admin){% endif %} role can grant another user or a service account the Folder Mover role. Because the Folder Admin role is a superset of Folder Mover, there is no need for a Folder Admin to grant themselves the Folder Mover role.
7+
A user with the {% if page.name == 'authorization.md' %}[Organization Admin](#organization-admin) or [Folder Admin](#folder-admin){% else %}[Organization Admin]({% link cockroachcloud/authorization.md %}#organization-admin) or [Folder Admin]({% link cockroachcloud/authorization.md %}#folder-admin){% endif %} role can assign another user or a service account the Folder Mover role. Because the Folder Admin role is a superset of Folder Mover, there is no need for a Folder Admin to assign themselves the Folder Mover role.

src/current/_includes/corestyle.scss

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1063,3 +1063,44 @@ div#feature-highlights .feature-description {
10631063
}
10641064
}
10651065
}
1066+
1067+
.roles-table {
1068+
table {
1069+
width: 100%; // Let the table stretch to the full container width
1070+
table-layout: auto; // Allow browser to size columns based on content
1071+
border-collapse: collapse; // Merge borders between cells
1072+
}
1073+
1074+
// Style the first column (permission names)
1075+
th:first-child,
1076+
td:first-child {
1077+
width: 45%; // Allocate more space to the permission column
1078+
min-width: 250px; // Prevent it from shrinking too much
1079+
text-align: left; // Left-align permission text for readability
1080+
font-weight: 500; // Slightly bold for emphasis
1081+
}
1082+
1083+
// Style all table cells
1084+
th,
1085+
td {
1086+
min-width: 65px; // Prevent narrow columns from collapsing
1087+
padding: 8px; // Add spacing inside cells
1088+
word-wrap: break-word; // Allow long words to wrap
1089+
white-space: pre-wrap; // Preserve line breaks from Markdown
1090+
vertical-align: top; // Align content to the top of the cell
1091+
line-height: 1.4; // Improve readability with line spacing
1092+
text-align: center; // Center role cells by default
1093+
}
1094+
1095+
// Add zebra striping for even-numbered rows
1096+
tr:nth-child(even) {
1097+
background-color: #f9f9f9;
1098+
}
1099+
1100+
// Style all columns except the first (role columns)
1101+
th:not(:first-child),
1102+
td:not(:first-child) {
1103+
max-width: 100px; // Cap role column width to avoid overflow
1104+
width: 1%; // Hint browser to minimize these columns if possible
1105+
}
1106+
}

0 commit comments

Comments
 (0)