Skip to content

Clean up the Cloud Console roles topic #19758

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 9 commits into
base: main
Choose a base branch
from
Open

Clean up the Cloud Console roles topic #19758

wants to merge 9 commits into from

Conversation

jhlodin
Copy link
Contributor

@jhlodin jhlodin commented Jun 11, 2025

  • Create a table describing roles and privileges at a high level, based on internal guidance
  • Reword the language used on the cloud console auth page to be more consistent
  • Correct usage of "Org Administrator" and "Cluster Administrator" to reflect the role names in the console, which are "Organization Admin" and "Cluster Admin" respectively
  • Disambiguate between Cloud Console roles and SQL User roles:
    • Cloud Console roles are "assigned" and give "permissions". Arbitrary terms, discussed with @mikeCRL
    • SQL User roles are "granted" and give "privileges". Specific terms associated with GRANT and related SQL statements

Copy link

github-actions bot commented Jun 11, 2025

Files changed:

Copy link

netlify bot commented Jun 11, 2025

Deploy Preview for cockroachdb-interactivetutorials-docs canceled.

Name Link
🔨 Latest commit 53b29cd
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-interactivetutorials-docs/deploys/6852cea82a59670008488ada

Copy link

netlify bot commented Jun 11, 2025

Deploy Preview for cockroachdb-api-docs canceled.

Name Link
🔨 Latest commit 53b29cd
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-api-docs/deploys/6852cea8c73dd600086d3fd3

Copy link

netlify bot commented Jun 11, 2025

Netlify Preview

Name Link
🔨 Latest commit 53b29cd
🔍 Latest deploy log https://app.netlify.com/projects/cockroachdb-docs/deploys/6852cea8d2306c0008ae91de
😎 Deploy Preview https://deploy-preview-19758--cockroachdb-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@jhlodin jhlodin marked this pull request as ready for review June 12, 2025 19:54
@jhlodin
Copy link
Contributor Author

jhlodin commented Jun 12, 2025

Screenshot showing how the table renders. Note that it currently requires horizontal scrolling on browser windows smaller than fullscreen 1920x1080 which may not be acceptable.

Screenshot 2025-06-12 at 4 01 49 PM

@jhlodin jhlodin changed the title Add table describing cloud console roles Clean up the Cloud Console roles topic Jun 16, 2025
@jhlodin jhlodin force-pushed the jl/doc-12238 branch 2 times, most recently from 7cb8e59 to e86347f Compare June 16, 2025 17:40
| `Folder` | Applies to clusters within a specific folder. Only available as a selectable scope if folders have been created within the organization by a user with the `Folder Admin` role | `Cluster Creator`, `Cluster Admin`, `Folder Admin`, `Folder Mover` |
| `Cluster` | Applies to a specific cluster | `Cluster Admin`, `Cluster Operator`, `Cluster Developer` |

{% 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 %}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@biplav-crl can you review these roles and permissions and ensure they are correct?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to add which roles can do cluster upgrade/downgrade. Additionally, add PCR whenever we add documentation for PCR. Mention about Terraform for Cluster Creator/Admin. Also bring in details for ccloud. I see network auth, but calling our create private clusters, egress perimeter control would be a good idea. Also, linking these operation to relevant documentation pages will add value.

I was unable to review the pages and have just reviewed the table. Apart from above feedback comments, rest LGTM.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We must ideally create a similar table for Cloud Console API's. Categories might be similar but listing our APIs instead of permission might be a good idea.

Copy link
Contributor

@mikeCRL mikeCRL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I'd like us to look at iterating on the table styles but that can happen in a follow up. Perhaps an issue for Ed Infra?

@@ -1,3 +1,3 @@
{{site.data.alerts.callout_info}}
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.
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).
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@biplav-crl can you confirm if org admins can create SQL users? I don't think you can via console.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Organization Admin cannot create the SQL users.

@@ -31,13 +31,13 @@ All users assigned the Developer role in a CockroachDB Cloud organization will n

See [Role Options](https://www.cockroachlabs.com/docs/{{site.current_cloud_version}}/alter-user#{% if site.current_cloud_version == "v22.1" %}parameters{% else %}role-options{% endif %}) for more information on these roles.

The users assigned the [org admin role](https://www.cockroachlabs.com/docs/cockroachcloud/authorization#org-administrator) in a CockroachDB Cloud organization will continue to access the relevant pages in Cloud Console using an underlying per-cluster [SQL admin user](https://www.cockroachlabs.com/docs/{{site.current_cloud_version}}/security-reference/authorization#admin-role), as it is intended to be an all-access, highly privileged role.
The users assigned the [Organization Admin role](https://www.cockroachlabs.com/docs/cockroachcloud/authorization#organization-admin) in a CockroachDB Cloud organization will continue to access the relevant pages in Cloud Console using an underlying per-cluster [SQL admin user](https://www.cockroachlabs.com/docs/{{site.current_cloud_version}}/security-reference/authorization#admin-role), as it is intended to be an all-access, highly privileged role.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@biplav-crl to confirm if this is true

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would have to read the complete page to comment effectively on this. Based on what is here this does not look right. Can you please deploy these changes for me to review?

@biplav-crl
Copy link

I have reviewed the table and left my comments above. For any remaining changes, will have to look at a deployed version. Thx.

@rmloveland rmloveland self-requested a review June 18, 2025 14:33
@jhlodin
Copy link
Contributor Author

jhlodin commented Jun 18, 2025

I have reviewed the table and left my comments above. For any remaining changes, will have to look at a deployed version. Thx.

@biplav-crl Deploy preview can be found here - https://deploy-preview-19758--cockroachdb-docs.netlify.app/docs/cockroachcloud/authorization

Copy link
Contributor

@rmloveland rmloveland left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM from the narrow POV of the terminology change to:

  • Cloud users are "assigned" "permissions"
  • SQL users are "granted" "privileges"

I think this is a huge improvement in clarity!

@jhlodin is there any chance you'd PR a new 'Controlled Vocabulary' section in our Style Guide and add this terminology there?

@@ -7,9 +7,9 @@ docs_area: reference.security

Authorization, generally, is the control over **who** (users/roles) can perform **which actions** (e.g read, write, update, delete, grant, etc.) to **which resources or targets** (databases, functions, tables, clusters, schemas, rows, users, jobs, etc.).

This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} users on CockroachDB {{ site.data.products.cloud }} organizations.
This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} Console users on CockroachDB {{ site.data.products.cloud }} organizations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doubled sentence here (and I think in the other versions of vXX.Y/security-reference/authorization.md

@@ -7,9 +7,9 @@ docs_area: reference.security

Authorization, generally, is the control over **who** (users/roles) can perform **which actions** (e.g read, write, update, delete, grant, etc.) to **which resources or targets** (databases, functions, tables, clusters, schemas, rows, users, jobs, etc.).

This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} users on CockroachDB {{ site.data.products.cloud }} organizations.
This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} Console users on CockroachDB {{ site.data.products.cloud }} organizations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doubled sentence i think (eyes crossing from close reading thru this PR so double check me on this 🩻 )

@@ -7,9 +7,9 @@ docs_area: reference.security

Authorization, generally, is the control over **who** (users/roles) can perform **which actions** (e.g read, write, update, delete, grant, etc.) to **which resources or targets** (databases, functions, tables, clusters, schemas, rows, users, jobs, etc.).

This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} users on CockroachDB {{ site.data.products.cloud }} organizations.
This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} Console users on CockroachDB {{ site.data.products.cloud }} organizations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doubled sentence

@@ -7,9 +7,9 @@ docs_area: reference.security

Authorization, generally, is the control over **who** (users/roles) can perform **which actions** (e.g read, write, update, delete, grant, etc.) to **which resources or targets** (databases, functions, tables, clusters, schemas, rows, users, jobs, etc.).

This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} users on CockroachDB {{ site.data.products.cloud }} organizations.
This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} Console users on CockroachDB {{ site.data.products.cloud }} organizations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doubled sentence

@@ -7,9 +7,9 @@ docs_area: reference.security

Authorization, generally, is the control over **who** (users/roles) can perform **which actions** (e.g read, write, update, delete, grant, etc.) to **which resources or targets** (databases, functions, tables, clusters, schemas, rows, users, jobs, etc.).

This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} users on CockroachDB {{ site.data.products.cloud }} organizations.
This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} Console users on CockroachDB {{ site.data.products.cloud }} organizations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doubled sentence

@@ -7,9 +7,9 @@ docs_area: reference.security

Authorization, generally, is the control over **who** (users/roles) can perform **which actions** (e.g read, write, update, delete, grant, etc.) to **which resources or targets** (databases, functions, tables, clusters, schemas, rows, users, jobs, etc.).

This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} users on CockroachDB {{ site.data.products.cloud }} organizations.
This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This page describes authorization of SQL users on particular [CockroachDB database clusters]({% link {{ page.version.version }}/architecture/glossary.md %}#cluster). This is distinct from authorization of CockroachDB {{ site.data.products.cloud }} Console users on CockroachDB {{ site.data.products.cloud }} organizations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doubled sentence

@jhlodin
Copy link
Contributor Author

jhlodin commented Jun 20, 2025

Convo with Ayushi:

  • Should probably move from Cloud Console roles to "Cloud roles", because some of those roles grant privileges not specific to the console. such as Billing roles using the Billing API.
  • Validated that the two types of roles are completely independent.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants