管理用户和角色
Databases for EnterpriseDB 已弃用。 从 2025 年 6 月 16 日起,您将无法部署新的实例。 现有实例的支持服务将持续到2025年10月15日。 届时仍存在的任何实例将被删除。 更多信息,请参阅 Databases for EnterpriseDB 的弃用。
IBM Cloud® Databases for EnterpriseDB 使用角色系统来管理数据库许可权。 角色用于为单个用户或一组用户提供一组特权。 使用 psql
命令 \du
确定部署中所有角色的角色,组和特权。
\du
命令列出当前数据库服务器中的所有用户。 它还可用于确定部署中所有角色的角色,组和特权。
使用 Cloud Databases CLI 插件 或 Cloud Databases API 在 UI 中的 _服务凭证_中添加用户。
admin
用户
供应 Databases for MongoDB 部署时,将自动创建 admin
用户。
请先设置管理密码,然后再使用该密码进行连接。
admin
用户与添加到部署的任何其他用户之间的最大差异是 pg_monitor
和 pg_signal_backend
角色。 pg_monitor
角色提供了一组许可权,这些许可权使 admin
用户适合于监视数据库服务器。 pg_signal_backend
角色使 admin
用户能够发送信号以取消由其他用户启动的查询和连接。 它不提供向超级用户拥有的进程发送信号的能力。
您还可以使用管理用户将这两个角色授予部署上的其他用户。
要向其他数据库用户公开取消查询的功能,请向管理员用户授予 pg_signal_backend
角色。 该命令如下所示:
GRANT pg_signal_backend TO joe;
您还可以使用类似如下的命令将 pg_signal_backend
授予具有 ibm-cloud-base-user
角色的所有用户:
GRANT pg_signal_backend TO "ibm-cloud-base-user";
此特权允许用户终止与数据库的任何连接。
要设置特定监视用户 mary
,请使用类似如下的命令:
GRANT pg_monitor TO mary;
使用如下命令将 pg_signal_backend
授予具有 ibm-cloud-base-user
角色的所有用户:
GRANT pg_monitor TO "ibm-cloud-base-user";
在 UI 中设置管理员密码
通过从 IBM Cloud 仪表板中的资源列表中选择实例,通过 UI 设置管理员密码。 然后,选择 设置。 接下来,选择 更改数据库管理员密码。
在 CLI 中设置管理密码
使用 IBM Cloud CLI Cloud Databases 插件中的 cdb user-password
命令来设置管理密码。
例如,要设置名为 example-deployment
的部署的管理密码,请使用以下命令:
ibmcloud cdb user-password example-deployment admin <newpassword>
在 API 中设置管理密码
服务概览面板部署详情部分中显示的基金会端点提供了通过API访问此部署URL。 将其与 Set specified user 's password 端点配合使用以设置管理密码。
curl -X PATCH `https://api.{region}.databases.cloud.ibm.com/v5/ibm/deployments/{id}/users/admin` \
-H `Authorization: Bearer <>` \
-H `Content-Type: application/json` \
-d `{"password":"newrootpasswordsupersecure21"}` \
服务凭证 用户
通过 服务凭证 创建的用户是 ibm-cloud-base-user
的成员。 他们能够登录,创建用户和创建数据库。
当组中的用户在数据库 (如表) 中创建资源时,同一组中的所有用户都有权访问该资源。 由 ibm-cloud-base-user
中的任何用户创建的资源可供 ibm-cloud-base-user
中的其他用户 (包括 admin
用户) 访问。
通过 CLI 创建的用户
通过 Cloud Databases CLI 插件 创建的用户是 ibm-cloud-base-user
的成员。 他们能够登录,创建用户和创建数据库。
当用户在数据库 (如表) 中创建资源时,同一组中的所有用户都有权访问该资源。 ibm-cloud-base-user
中的任何用户创建的资源可供 ibm-cloud-base-user
中的其他用户 (包括管理用户) 访问。
直接从 Cloud Databases CLI 插件 创建的用户不会显示在 _服务凭证_中,但您可以添加这些用户。
通过 API 创建的用户
通过 Cloud Databases API 创建的用户是 ibm-cloud-base-user
的成员。 他们能够登录,创建用户和创建数据库。
当用户在数据库 (如表) 中创建资源时,同一组中的所有用户都有权访问该资源。 ibm-cloud-base-user
中的任何用户创建的资源可供 ibm-cloud-base-user
中的其他用户 (包括管理用户) 访问。
直接从 Cloud Databases API 创建的用户不会显示在 _服务凭证_中,但您可以添加这些用户。
只读用户
ibm-cloud-base-user-ro
管理为访问只读副本而创建的用户的特权。 有关更多信息,请参阅 配置只读副本。
其他 ibm
用户
如果使用 admin
帐户运行 \du
命令,那么将看到 ibm
,ibm-cloud-base-user
和 ibm-replication
用户。
ibm-cloud-base-user
用作模板,用于管理其他用户的组角色。 它用于管理通过 CLI 和 API 创建的用户。 它还支持与 服务凭证 用户创建进行集成。 作为 ibm-cloud-base-user
成员的用户从 ibm-cloud-base-user
继承创建角色并创建数据库属性。 ibm-cloud-base-user
无法登录。
ibm
和 ibm-replication
帐户是部署上的唯一超级用户。 超级用户帐户不可供您使用。 这些用户是内部管理帐户,用于管理复制,度量和其他功能,以确保部署的稳定性。
使用 psql
创建的用户
您可以绕过通过 IBM Cloud 创建用户,直接在 EnterpriseDB 中使用 psql
创建用户。psql
使用 PostgreSQL's本地 角色和用户管理。 在 psql
中创建的用户和角色必须手动设置其所有特权,包括对其创建的对象的特权。
直接在 Databases for EnterpriseDB 中创建的用户不会显示在 _服务凭证_中,但您可以 添加这些用户。
请注意,这些用户未与 IAM 控件集成,即使添加到 _服务凭证_也是如此。
emp_admin
用户
emp_admin
是内部 Databases for EnterpriseDB 用户,由 EDB 迁移门户网站用于直接与 EnterpriseDB 数据库进行通信。 使用 IAM 登录信息连接到 EDB 迁移门户网站。
请勿删除此用户。
aq_administrator_role
用户
aq_administrator_role
用户是系统定义的特权,允许用户与队列进行交互。 缺省情况下,此用户是从 EnterpriseDB 提供的,并且不受 Databases for EnterpriseDB管理。 有关更多信息,请参阅 CREATE QUEUE。
请勿删除此用户。