使用 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 服务器包含组A和B,其中A包含B,且B包含A,以此创建一个循环关系。
如果 LDAP 服务器首先返回A包含B,Vertica 会创建角色A和B,并将角色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 不会将用户解释为新用户。
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 语句:
- ALTER ROLE RENAME
-
ALTER USER name IDENTIFIED BY 'password' [REPLACE 'old_password']
-
ALTER USER name PASSWORD EXPIRE
-
ALTER USER name PROFILE
-
ALTER USER name SECURITY_ALGORITHM...
-
ALTER USER name DEFAULT ROLE role-name
- 授权(角色)
客户端身份验证类型
如果未向用户或组分配客户端身份验证,LDAP 用户和组将无法登录 Vertica。您可以为 LDAP 用户和组使用以下有效的身份验证类型:
-
GSS
-
Ident
-
LDAP
-
拒绝
-
信任