SQL 控制台无密码身份验证
SQL 控制台用户和角色
具有 Service Read Only 和 Service Admin 权限的用户可以被分配基础 SQL 控制台角色。更多信息,请参阅 管理云用户。本指南演示如何为 SQL 控制台用户创建自定义角色。 要为 SQL 控制台用户创建自定义角色并为其授予一个通用角色,请运行以下命令。电子邮件地址必须与用户在控制台中的电子邮件地址一致。1
创建 database_developer 并授予权限
创建
database_developer 角色,并授予 SHOW、CREATE、ALTER 和 DELETE 权限。2
创建 SQL 控制台用户角色
为 SQL 控制台用户 my.user@domain.com 创建一个角色,并为其分配 database_developer 角色。
3
用户使用 SQL 控制台时会被分配该新角色
用户每次使用 SQL 控制台时,都会被分配与其电子邮件地址关联的角色。
数据库身份验证
数据库用户 ID 和密码
通过安全外壳 (SSH) 进行身份验证的数据库用户
- 使用 ssh-keygen 创建密钥对。
- 使用公钥创建用户。
- 为用户分配角色和/或权限。
- 使用私钥对该服务进行身份验证。
数据库权限
- 数据库角色的权限是累加的。这意味着,如果某个用户同时属于两个角色,那么该用户将拥有这两个角色中级别更高的访问权限。添加角色不会导致其失去现有访问权限。
- 数据库角色可以授予其他角色,从而形成层级结构。角色会继承其所属角色的全部权限。
- 数据库角色在每个服务内都是唯一的,并且可应用于同一服务中的多个数据库。
初始设置
default 的账户,并在服务创建时向其授予 default_role。创建服务的用户会看到系统在服务创建时自动生成并分配给 default 账户的随机密码。初始设置完成后,该密码将不再显示,但之后任何在控制台中具有 Service Admin 权限的用户都可以更改它。此账户,或控制台中具有 Service Admin 特权的账户,均可随时设置其他数据库用户和角色。
如需在控制台中更改分配给
default 账户的密码,请前往左侧的 Services 菜单,进入相应服务,打开 Settings 选项卡,然后点击 Reset password 按钮。default 账户则保留用于紧急处理类操作。
hashlib 等代码库函数,将一个长度不少于 12 个字符且复杂度适当的密码转换为 SHA256 字符串,并将其作为密码提供给系统管理员。这样可确保管理员不会看到或接触明文密码。
使用 SQL 控制台用户列出数据库访问权限
以下流程可用于生成组织内 SQL 控制台和数据库的完整访问权限清单。1
获取所有数据库授权列表
运行以下查询,获取数据库中所有授权的列表。
2
将授权列表与有权访问 SQL 控制台的 控制台 用户对应起来
将此列表与有权访问 SQL 控制台的 控制台 用户对应起来。a. 前往 控制台。b. 选择相应的服务。c. 选择左侧的 Settings。d. 滚动到 SQL 控制台访问部分。e. 点击显示可访问该服务的用户数量的链接
There are # users with access to this service.,查看用户列表。