此部分包含与 Vertica LDAP Link 服务相关的函数。
LDAP Link 函数
- 1: LDAP_LINK_DRYRUN_CONNECT
- 2: LDAP_LINK_DRYRUN_SEARCH
- 3: LDAP_LINK_DRYRUN_SYNC
- 4: LDAP_LINK_SYNC_START
- 5: LDAP_LINK_SYNC_CANCEL
1 - LDAP_LINK_DRYRUN_CONNECT
将一组 LDAP Link 连接参数作为实参,并开始在 LDAP 服务器和 Vertica 之间进行试运行连接。
通过为 LDAPLinkBindPswd
实参提供空字符串,您还可以执行匿名绑定(如果 LDAP 服务器允许未经身份验证的绑定)。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
LDAP_LINK_DRYRUN_CONNECT (
'LDAPLinkURL',
'LDAPLinkBindDN',
'LDAPLinkBindPswd'
)
特权
超级用户
示例
这将测试 CN=amir,OU=QA,DC=dc,DC=com
中 DN 为 ldap://example.dc.com
的 LDAP 服务器连接。
=> SELECT LDAP_LINK_DRYRUN_CONNECT('ldap://example.dc.com','CN=amir,OU=QA,DC=dc,DC=com','password');
ldap_link_dryrun_connect
---------------------------------------------------------------------------------
Dry Run Connect Completed. Query v_monitor.ldap_link_dryrun_events for results.
要检查绑定的结果,请查询系统表 LDAP_LINK_DRYRUN_EVENTS。
=> SELECT event_timestamp, event_type, entry_name, role_name, link_scope, search_base from LDAP_LINK_DRYRUN_EVENTS;
event_timestamp | event_type | entry_name | link_scope | search_base
------------------------------+-----------------------+----------------------+------------+-------------
2019-12-09 15:41:43.589398-05 | BIND_STARTED | -------------------- | ---------- | -----------
2019-12-09 15:41:43.590504-05 | BIND_FINISHED | -------------------- | ---------- | -----------
另请参阅
2 - LDAP_LINK_DRYRUN_SEARCH
将一组 LDAP Link 连接和搜索参数作为实参,并开始试运行搜索将从 LDAP 服务器导入的用户和组。
通过为 LDAPLinkBindPswd
实参提供空字符串,您还可以执行匿名搜索(如果 LDAP 服务器的访问控制列表 (ACL) 配置为允许未经身份验证的搜索)。允许匿名绑定的设置与允许匿名搜索的 ACL 设置不同。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
LDAP_LINK_DRYRUN_SEARCH (
'LDAPLinkURL',
'LDAPLinkBindDN',
'LDAPLinkBindPswd',
'LDAPLinkSearchBase',
'LDAPLinkScope',
'LDAPLinkFilterUser',
'LDAPLinkFilterGroup',
'LDAPLinkUserName',
'LDAPLinkGroupName',
'LDAPLinkGroupMembers',
[LDAPLinkSearchTimeout],
['LDAPLinkJoinAttr']
)
特权
超级用户
示例
这将在 LDAP 服务器中搜索用户和组。在这种情况下,LDAPLinkSearchBase
参数指定了 dc.com
域和子范围,它复制了 DN 下的整个子树。
为了进一步筛选结果,该函数将检查 objectClass 属性为 person
和 group
的用户和组。然后,它将搜索组属性 cn
,使用 member
属性识别该组的成员,然后使用属性 uid
识别其中的个人用户。
=> SELECT LDAP_LINK_DRYRUN_SEARCH('ldap://example.dc.com','CN=amir,OU=QA,DC=dc,DC=com','$vertica$','dc=DC,dc=com','sub',
'(objectClass=person)','(objectClass=group)','uid','cn','member',10,'dn');
ldap_link_dryrun_search
--------------------------------------------------------------------------------
Dry Run Search Completed. Query v_monitor.ldap_link_dryrun_events for results.
要检查搜索结果,请查询系统表 LDAP_LINK_DRYRUN_EVENTS。
=> SELECT event_timestamp, event_type, entry_name, ldapurihash, link_scope, search_base from LDAP_LINK_DRYRUN_EVENTS;
event_timestamp | event_type | entry_name | ldapurihash | link_scope | search_base
---------------------------------+------------------+------------------------+-------------+------------+--------------
2020-01-03 21:03:26.411753+05:30 | BIND_STARTED | ---------------------- | 0 | sub | dc=DC,dc=com
2020-01-03 21:03:26.422188+05:30 | BIND_FINISHED | ---------------------- | 0 | sub | dc=DC,dc=com
2020-01-03 21:03:26.422223+05:30 | SYNC_STARTED | ---------------------- | 0 | sub | dc=DC,dc=com
2020-01-03 21:03:26.422229+05:30 | SEARCH_STARTED | ********** | 0 | sub | dc=DC,dc=com
2020-01-03 21:03:32.043107+05:30 | LDAP_GROUP_FOUND | Account Operators | 0 | sub | dc=DC,dc=com
2020-01-03 21:03:32.04312+05:30 | LDAP_GROUP_FOUND | Administrators | 0 | sub | dc=DC,dc=com
2020-01-03 21:03:32.043182+05:30 | LDAP_USER_FOUND | user1 | 0 | sub | dc=DC,dc=com
2020-01-03 21:03:32.043186+05:30 | LDAP_USER_FOUND | user2 | 0 | sub | dc=DC,dc=com
2020-01-03 21:03:32.04319+05:30 | SEARCH_FINISHED | ********** | 0 | sub | dc=DC,dc=com
另请参阅
3 - LDAP_LINK_DRYRUN_SYNC
将一组 LDAP Link 连接和搜索参数作为实参,并在数据库和 LDAP 服务器之间开始试运行同步,此操作可将 LDAP 服务器的用户和组与其在 Vertica 中的等效项进行映射和同步。此元函数还可以对 Vertica 中用户和角色的创建和孤立执行试运行。
您可以在系统表 LDAP_LINK_DRYRUN_EVENTS 中查看试运行的结果。
要取消正在进行的同步,请使用 LDAP_LINK_SYNC_CANCEL。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
LDAP_LINK_DRYRUN_SYNC (
'LDAPLinkURL',
'LDAPLinkBindDN',
'LDAPLinkBindPswd',
'LDAPLinkSearchBase',
'LDAPLinkScope',
'LDAPLinkFilterUser',
'LDAPLinkFilterGroup',
'LDAPLinkUserName',
'LDAPLinkGroupName',
'LDAPLinkGroupMembers',
[LDAPLinkSearchTimeout],
['LDAPLinkJoinAttr']
)
特权
超级用户
示例
要执行试运行以映射从 LDAP_LINK_DRYRUN_SEARCH 返回的用户和组,请将相同的参数作为实参传递给 LDAP_LINK_DRYRUN_SYNC。
=> SELECT LDAP_LINK_DRYRUN_SYNC('ldap://example.dc.com','CN=amir,OU=QA,DC=dc,DC=com','$vertica$','dc=DC,dc=com','sub',
'(objectClass=person)','(objectClass=group)','uid','cn','member',10,'dn');
LDAP_LINK_DRYRUN_SYNC
------------------------------------------------------------------------------------------
Dry Run Connect and Sync Completed. Query v_monitor.ldap_link_dryrun_events for results.
要检查同步结果,请查询系统表 LDAP_LINK_DRYRUN_EVENTS。
=> SELECT event_timestamp, event_type, entry_name, ldapurihash, link_scope, search_base from LDAP_LINK_DRYRUN_EVENTS;
event_timestamp | event_type | entry_name | ldapurihash | link_scope | search_base
---------------------------------+---------------------+------------------------+-------------+------------+--------------
2020-01-03 21:08:30.883783+05:30 | BIND_STARTED | ---------------------- | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:30.890574+05:30 | BIND_FINISHED | ---------------------- | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:30.890602+05:30 | SYNC_STARTED | ---------------------- | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:30.890605+05:30 | SEARCH_STARTED | ********** | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.939369+05:30 | LDAP_GROUP_FOUND | Account Operators | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.939395+05:30 | LDAP_GROUP_FOUND | Administrators | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.939461+05:30 | LDAP_USER_FOUND | user1 | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.939463+05:30 | LDAP_USER_FOUND | user2 | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.939468+05:30 | SEARCH_FINISHED | ********** | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.939718+05:30 | PROCESSING_STARTED | ********** | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.939887+05:30 | USER_CREATED | user1 | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.939895+05:30 | USER_CREATED | user2 | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.939949+05:30 | ROLE_CREATED | Account Operators | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.939959+05:30 | ROLE_CREATED | Administrators | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.940603+05:30 | PROCESSING_FINISHED | ********** | 0 | sub | dc=DC,dc=com
2020-01-03 21:08:31.940613+05:30 | SYNC_FINISHED | ---------------------- | 0 | sub | dc=DC,dc=com
另请参阅
4 - LDAP_LINK_SYNC_START
立即开始 LDAP 服务器和 Vertica 之间的同步,而不是等待在 LDAPLinkInterval 中设置的时间间隔。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
ldap_link_sync_start()
特权
必须是 dbaadmin 用户。
示例
=> SELECT ldap_link_sync_start();
另请参阅
LDAP Link 参数5 - LDAP_LINK_SYNC_CANCEL
取消 LDAP 服务器和 Vertica 之间正在进行的 LDAP Link 同步(包括由 LDAP_LINK_DRYRUN_SYNC 启动的同步)。
这是元函数。您必须在顶级 SELECT 语句中调用元函数。
行为类型
易变语法
ldap_link_sync_cancel()
特权
必须是 dbaadmin 用户。
示例
=> SELECT ldap_link_sync_cancel();