IBM Cloud Docs
管理用户和角色

管理用户和角色

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_monitorpg_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 命令,那么将看到 ibmibm-cloud-base-useribm-replication 用户。

ibm-cloud-base-user 用作模板,用于管理其他用户的组角色。 它用于管理通过 CLI 和 API 创建的用户。 它还支持与 服务凭证 用户创建进行集成。 作为 ibm-cloud-base-user 成员的用户从 ibm-cloud-base-user 继承创建角色并创建数据库属性。 ibm-cloud-base-user 无法登录。

ibmibm-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

请勿删除此用户。