IBM Cloud Docs
管理用户和角色

管理用户和角色

Databases for Elasticsearch 部署已启用认证,并使用 Elasticsearch的 内置用户

使用 Cloud Databases CLI 插件Cloud Databases API 在 _ 服务证书_页面的用户界面中添加用户。

管理用户

供应 Databases for Elasticsearch 部署时,将自动创建 admin 用户。

请先设置管理密码,然后再使用该密码进行连接。

在用户界面中设置管理员密码

资源列表中选择您的实例,通过用户界面设置管理员密码。 在仪表板上,选择 设置选项卡,然后输入或生成一个新的管理员密码,并单击 * 更改密码*按钮。

在 CLI 中设置管理员密码

使用 IBM Cloud CLI Cloud Databases 插件中的 cdb user-password 命令来设置管理密码。

例如,要设置名为 example-deployment 的部署的管理密码,请使用以下命令:

ibmcloud cdb user-password example-deployment admin <newpassword>

在应用程序接口中设置管理员密码

在服务的“部署详情”部分的“概述”面板上显示的基金会端点提供了通过 API 访问此部署的基本 URL。 将其与 设置指定用户的密码 端点一起使用,可设置管理员密码。

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_superuser 角色

对于 Elasticsearch V 7.17.7 和更高版本,将为所有新用户和现有用户 (包括 admin 用户) 分配 ibm_superuser 角色。 ibm_superuser 角色具有与 superuser 相同的特权,但 ibm_superuser 角色无法访问隐藏索引,内部索引或受限索引。 限制对隐藏索引的访问可防止用户通过关闭安全索引来无意中限制自己的访问权。

当您具有将此角色更改回原始 superuser 的许可权时,不应执行此操作。 将 ibm_superuser 更改为 superuser 将会中断您对 Elasticsearch 部署的访问。

通过用户界面管理用户和角色

  1. 转到您服务的服务仪表板。
  2. 单击 Service credentials 打开页面。
  3. 单击新建凭证
  4. 为新证书选择一个描述性名称。
  5. (可选) 指定新凭证是使用公共端点还是专用端点。 在 添加内联配置参数 字段中使用 { "service-endpoints": "public" } / { "service-endpoints": "private" } 来生成使用指定端点的连接字符串。 未强制使用端点。 它仅控制连接字符串中的主机名。 缺省情况下会生成公共端点。
  6. 单击 添加 以供应新凭证。 将自动生成用户名和密码以及关联的 Elasticsearch 用户。

新凭据将显示在表中,连接字符串将以 JSON 格式出现在 _ 查看凭据_下的点击复制字段中。

从 CLI 或 API 创建用户不会自动将该用户的连接字符串填充到 _ 服务凭据_中。 如果要将其添加到该处,那么可以使用现有用户信息创建新凭证。 在 _添加内联配置参数_下的 JSON 字段中输入用户名和密码。 例如,{"existing_credentials":{"username":"Robert","password":"supersecure"}}。 基本上,您只需发送用户名和密码,_服务凭据_就会生成已填写凭据的连接字符串。

从现有用户生成凭证不会检查或创建该用户。

如果需要从 _ 服务凭据_创建的用户具有不同的角色,请使用 admin 用户更改其角色。

通过 CLI 管理用户和角色

如果需要用户具有其他角色,那么可以使用 admin 用户来更改其角色。

直接从 CLI 创建的用户不会显示在 _ 服务证书_中,但您可以添加它们。

如果您通过 Cloud Databases CLI 插件 管理服务,请使用 cdb user-create 创建一个新用户。 例如,要为名为 example-deployment 的部署创建一个新用户,请使用以下命令:

ibmcloud cdb user-create example-deployment <newusername> <newpassword>

任务完成后,使用 ibmcloud cdb deployment-connections 命令检索新用户的连接字符串,如下所示:

ibmcloud cdb deployment-connections [--user <userid>] [--password <password>] [--endpoint-type <endpoint type>] [--all] [--only] [--start] [--certroot <path>] [--json]

通过应用程序接口管理用户和角色

如果需要用户具有其他角色,请使用 admin 用户来更改其角色。

直接从 API 创建的用户不会显示在 _ 服务凭据_中,但您可以添加它们。

服务“概述”部分中显示的_基金会端点_提供了通过 API 访问此部署的基本 URL。 要创建和管理用户,请使用带有 /users 端点 的基本 URL。

该命令如下所示:

curl -X POST 'https://api.{region}.databases.cloud.ibm.com/v4/ibm/deployments/{id}/users' \
-H "Authorization: Bearer $APIKEY" \
-H "Content-Type: application/json" \
-d '{"username":"jane_smith", "password":"newsupersecurepassword"}'

要检索用户的连接字符串,请使用带有 /users/{userid}/connections 端点的基本 URL。

Elasticsearch用户和角色

如果内置用户和角色不适合您的环境,请直接在 Elasticsearch中 创建用户和角色。 部署的管理员用户有权创建任何角色或特权集以用于部署。