From 1da654d7f367bdb88d429f9943a051a0515e40dd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 25 Sep 2025 15:32:08 +0000 Subject: [PATCH 1/2] [INIT] Start translation to Simplified-Chinese --- .translation-init | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.translation-init b/.translation-init index 27d22aa930..0b43820c46 100644 --- a/.translation-init +++ b/.translation-init @@ -1 +1 @@ -Translation initialization: 2025-09-24T01:35:39.530531 +Translation initialization: 2025-09-25T15:32:08.360696 From 0426462d6d6f2ae5b0db4d5fdb7b06efeaec674d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 25 Sep 2025 15:32:57 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=8C=90=20Translate=2004-user-create-r?= =?UTF-8?q?ole.md=20to=20Simplified-Chinese?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../00-ddl/02-user/04-user-create-role.md | 81 +++++++++++++++---- 1 file changed, 67 insertions(+), 14 deletions(-) diff --git a/docs/cn/sql-reference/10-sql-commands/00-ddl/02-user/04-user-create-role.md b/docs/cn/sql-reference/10-sql-commands/00-ddl/02-user/04-user-create-role.md index 074f65e3ee..2bd32e494d 100644 --- a/docs/cn/sql-reference/10-sql-commands/00-ddl/02-user/04-user-create-role.md +++ b/docs/cn/sql-reference/10-sql-commands/00-ddl/02-user/04-user-create-role.md @@ -4,28 +4,81 @@ sidebar_position: 5 --- import FunctionDescription from '@site/src/components/FunctionDescription'; - + -创建一个新的 role。 - -创建 role 后,您可以将对象权限授予该 role,从而为系统中的对象启用访问控制安全性。 - -另请参见:[GRANT](10-grant.md) +创建一个新的角色(Role)用于访问控制。角色(Role)用于对权限进行分组,可以分配给用户或其他角色(Role),为在 Databend 中管理权限提供了一种灵活的方式。 ## 语法 ```sql -CREATE ROLE [ IF NOT EXISTS ] [ COMMENT = '' ] +CREATE ROLE [ IF NOT EXISTS ] ``` -- `` 不能包含以下非法字符: - - 单引号 (') - - 双引号 (") - - 退格 (\b) - - 换页 (\f) +**参数:** + +- `IF NOT EXISTS`:仅在角色(Role)不存在时创建(推荐使用以避免错误)。 +- ``:角色(Role)名称(不能包含单引号、双引号、退格符或换页符)。 ## 示例 ```sql -CREATE ROLE role1; -``` \ No newline at end of file +-- 创建一个基本角色(Role) +CREATE ROLE analyst; + +-- 仅在角色(Role)不存在时创建(推荐) +CREATE ROLE IF NOT EXISTS data_viewer; +``` + +## 常用模式 + +### 只读分析师角色(Role) + +为需要读取销售数据权限的数据分析师创建一个角色(Role): + +```sql +-- 创建分析师角色(Role) +CREATE ROLE sales_analyst; + +-- 授予读取权限 +GRANT SELECT ON sales_db.* TO ROLE sales_analyst; + +-- 分配给用户 +GRANT ROLE sales_analyst TO 'alice'; +GRANT ROLE sales_analyst TO 'bob'; +``` + +### 数据库管理员角色(Role) + +为需要完全控制权限的管理员创建一个角色(Role): + +```sql +-- 创建管理员角色(Role) +CREATE ROLE sales_admin; + +-- 授予数据库的完全权限 +GRANT ALL ON sales_db.* TO ROLE sales_admin; + +-- 授予用户管理权限 +GRANT CREATE USER, CREATE ROLE ON *.* TO ROLE sales_admin; + +-- 分配给管理员用户 +GRANT ROLE sales_admin TO 'admin_user'; +``` + +### 验证 + +```sql +-- 检查每个角色(Role)可以执行的操作 +SHOW GRANTS FOR ROLE sales_analyst; +SHOW GRANTS FOR ROLE sales_admin; + +-- 检查用户权限 +SHOW GRANTS FOR 'alice'; +SHOW GRANTS FOR 'admin_user'; +``` + +## 另请参阅 + +- [GRANT](10-grant.md) - 授予权限和角色(Role) +- [SHOW GRANTS](22-show-grants.md) - 查看已授予的权限 +- [DROP ROLE](05-user-drop-role.md) - 删除角色(Role) \ No newline at end of file