Link Search Menu Expand Document Documentation Menu

匿名认证

安全插件支持匿名认证,用户无需提供凭据即可访问集群。这在您希望许多人以一组共同的权限访问集群的情况下非常有用。

配置

要启用匿名认证,您需要修改集群的 opensearch-security 配置子目录中的 config.yml 文件。

config.yml 文件中,有一个 http 部分,其中包含 anonymous_auth_enabled 设置

http:
  anonymous_auth_enabled: <true|false>
  ...

下表描述了 anonymous_auth_enabled 设置。更多信息,请参阅配置文件概述。

设置 描述
anonymous_auth_enabled 启用或禁用匿名认证。当您启用匿名认证时,所有已定义的 HTTP 认证器都是非挑战性的。请参阅挑战设置

如果您禁用匿名认证,则必须至少提供一个 authc,安全插件才能成功初始化。

OpenSearch Dashboards 配置

要为 OpenSearch Dashboards 启用匿名认证,您需要修改 OpenSearch Dashboards 安装的配置目录中的 opensearch_dashboards.yml 文件。

将以下设置添加到 opensearch_dashboards.yml

opensearch_security.auth.anonymous_auth_enabled: true

OpenSearch Dashboards 的匿名登录要求 OpenSearch 集群上启用匿名认证。

定义匿名认证权限

启用匿名认证后,您定义的 HTTP 认证器仍会尝试在您的 HTTP 请求中查找用户凭据。如果找到凭据,则用户将被认证。如果未找到,则用户将以 anonymous 用户身份进行认证。

所有匿名用户都具有用户名 anonymous 和一个名为 anonymous_backendrole 的单一角色。

您可以在 roles.yml 文件中配置与 opendistro_security_anonymous_backendrole 关联的权限。

我们建议您定义的角色权限非常有限。通常,匿名用户**绝不**应该能够写入您的集群。

以下是 anonymous_users_role 的角色定义示例。您可以使用此示例作为在 roles.yml 文件中定义自己角色的参考

anonymous_users_role:
  reserved: false
  hidden: false
  cluster_permissions:
  - "OPENDISTRO_SECURITY_CLUSTER_COMPOSITE_OPS"
  index_permissions:
  - index_patterns:
    - "public_index_*"
    allowed_actions:
    - "read"

然后,在 roles_mapping.yml 文件中,您可以为这个新角色定义适当的映射

anonymous_users_role:
  reserved: false
  hidden: false
  backend_roles: ["opendistro_security_anonymous_backendrole"]
  hosts: []

请注意,该角色被映射到 opendistro_security_anonymous_backendrole,这意味着所有具有匿名用户后端角色的用户都将拥有这些权限。

或者,您可以使用 REST API 或 OpenSearch Dashboards 完成这些步骤。

剩余 350 字符

有问题?

想贡献?