使用 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
-
拒绝
-
信任