认证用户组
在 StarRocks 中启用 Group Provider 以认证和授权来自外部认证系统的用户组。
从 v3.5.0 开始,StarRocks 支持 Group Provider 从外部认证系统收集组信息以进行用户组管理。
概述
为了加深与外部用户认证和授权系统(如 LDAP 和 Apache Ranger)的集成,StarRocks 支持收集用户组信息,以便在集体用户管理上提供更好的体验。
通过 Group Provider,您可以从外部用户系统中获取组信息以用于不同目的。组信息是独立的,可以灵活地集成到认证、授权或其他流程中,而无需与任何特定工作流紧密耦合。
Group Provider 本质上是用户和组之间的映射。任何需要组信息的过程都可以根据需要查询此映射。
工作流程
下图使用 LDAP 和 Apache Ranger 作为示例来解释 Group Provider 的工作流程。

创建 Group Provider
StarRocks 支持三种类型的 Group Provider:
- LDAP Group Provider:在您的 LDAP 服务中搜索和匹配用户与组
- Unix Group Provider:在您的操作系统中搜索和匹配用户与组
- File Group Provider:通过文件定义的用户与组进行搜索和匹配
语法
- LDAP Group Provider:
CREATE GROUP PROVIDER <group_provider_name>
PROPERTIES (
"type" = "ldap",
ldap_info,
ldap_search_group_arg,
ldap_search_attr,
[ldap_cache_attr]
)
ldap_info ::=
"ldap_conn_url" = "",
"ldap_bind_root_dn" = "",
"ldap_bind_root_pwd" = "",
"ldap_bind_base_dn" = "",
["ldap_conn_timeout" = "",]
["ldap_conn_read_timeout" = ""]
["ldap_ssl_conn_allow_insecure" = ""]
["ldap_ssl_conn_trust_store_path" = ""]
["ldap_ssl_conn_trust_store_pwd" = ""]
ldap_search_group_arg ::=
{ "ldap_group_dn" = ""
| "ldap_group_filter" = "" },
"ldap_group_identifier_attr" = ""
ldap_search_user_arg ::=
"ldap_group_member_attr" = "",
"ldap_user_search_attr" = ""
ldap_cache_arg ::=
"ldap_cache_refresh_interval" = ""
- Unix Group Provider:
CREATE GROUP PROVIDER <group_provider_name>
PROPERTIES (
"type" = "unix"
)
- File Group Provider:
CREATE GROUP PROVIDER <group_provider_name>
PROPERTIES (
"type" = "file",
"group_file_url" = ""
)