使用 LDAP Link

使用 LDAP Link 会直接影响以下内容,而这些内容可帮助您管理和监控 LDAP Link - Vertica 分析型数据库同步:

  • 用户和组管理

  • LDAP Link 用户标记

  • 阻止的命令

  • 客户端身份验证类型

要取消正在进行的同步,请使用 LDAP_LINK_SYNC_CANCEL

用户和组管理

在 LDAP 服务器上创建的用户和组与复制到 Vertica 服务器的用户和角色具有特定关系:

  • 当这些用户和组(角色)与 Vertica 分析型数据库同步时,LDAP 服务器上的用户-组关系将保持不变。

  • 如果 Vertica 数据库中存在某个用户或组名称,当使用 LDAP Link 从 LDAP 服务器同步具有相同名称的用户或组时,用户或组会发生冲突。Vertica 无法支持具有相同名称的多个用户。要解决此问题,请参阅用户冲突

  • 如果 LDAP 服务器包含循环关系,Vertica 会接受并为 LDAP 服务器返回的关系的第一个非循环部分创建角色,并忽略其余部分。

    例如,假设 LDAP 服务器包含组 AB,其中 A 包含 B,且 B 包含 A,以此创建一个循环关系。

    如果 LDAP 服务器首先返回 A 包含 B,Vertica 会创建角色 AB,并将角色 A 授予角色 B。然后,Vertica 会忽略组 B 也包含 A 这一事实。

将用户同步到 Vertica 分析型数据库时,LDAP Link 会使用 LDAP 配置文件的 dn: 部分中的条目作为唯一用户标识符:

dn: cn=user1,ou=dev,dc=example,dc=com
cn: user1
ou: dev
id: user1

LDAP 配置文件中的 uid 参数表示 LDAP 用户名。

uid: user1

同步后,会将 dn: 条目映射到 uid:,以标识 Vertica 分析型数据库用户。

如果更改 dn: 中的设置但不更改 uid:,则在与 Vertica 分析型数据库重新同步时,LDAP Link 会将用户解释为新用户。在这种情况下,会将具有该 uid: 的现有 Vertica 分析型数据库用户从 Vertica 中删除,并创建一个新的 Vertica 分析型数据库用户。

如果在 LDAP 上更改 uid: 而不是 dn:,则会将 Vertica 分析型数据库上的 uid 更新为新的 uid。由于您没有更改 dn: LDAP Link 不会将用户解释为新用户。

作为 dbadmin 用户,您可以通过访问 vs_users 表来监控 Vertica 分析型数据库上的用户行为。用户表包含一个 ldap_dn 字段,用于标识 Vertica 分析型数据库用户是否也是 LDAP Link 用户。此示例中显示 ldap_dn 字段设置为 dn ,表示 Vertica 分析型数据库用户也是 LDAP Link 用户:

=> SELECT * FROM vs_users;
-[ RECORD 1 ]---------+--------------------------------------------------
user_id               | 45035996273704962
user_name             | dbadmin
is_super_user         | t
profile_name          | default
is_locked             | f
lock_time             |
resource_pool         | general
memory_cap_kb         | unlimited
temp_space_cap_kb     | unlimited
run_time_cap          | unlimited
max_connections       | unlimited
connection_limit_mode | database
idle_session_timeout  | unlimited
all_roles             | dbduser*, dbadmin*, pseudosuperuser*
default_roles         | dbduser*, dbadmin*, pseudosuperuser*
search_path           |
ldap_dn               | dn
ldap_uri_hash         | 0
is_orphaned_from_ldap | f

阻止的命令

请注意,对于在 vs_users 表中将 ldapdn 设置为 dn 的 Vertica 用户,会阻止以下 SQL 语句:

客户端身份验证类型

如果未向用户或组分配客户端身份验证,LDAP 用户和组将无法登录 Vertica。您可以为 LDAP 用户和组使用以下有效的身份验证类型

  • GSS

  • Ident

  • LDAP

  • 拒绝

  • 信任