2022 Zabbix中国峰会
2022 Zabbix中国峰会

> 用户目录对象

以下对象与userdirectory API直接相关。

用户目录

用户目录对象具有以下属性。

属性 类型 描述
userdirectoryid ID 用户目录的ID。

如果用户目录被删除,所有链接到该被删除用户目录的用户对象userdirectoryid属性值将被设置为"0"。

属性行为:
- 只读
- 更新操作时必填
idp_type integer 用户目录所使用的身份提供商的认证协议类型。
请注意,只可以存在一个类型为SAML的用户目录。

可能的值:
1 - LDAP类型的用户目录
2 - SAML类型的用户目录

属性行为:
- 创建操作时必填
group_name string 用于在LDAP/SAML用户目录与Zabbix之间映射组的属性,该属性在LDAP/SAML用户目录中包含组名。

示例: cn

属性行为:
- 必填 如果provision_status设置为"Enabled",并且认证对象saml_jit_status设置为"Enabled for configured SAML IdPs"时,则必填。
user_username string 当LDAP/SAML用户目录(如果scim_status设置为“启用SCIM预置”时,也包括SCIM属性)中包含用户的名称时,这个名称会在用户预置过程中被用作用户对象属性的name的值。

示例: cn, commonName, displayName, name
user_lastname string 当LDAP/SAML用户目录(如果scim_status设置为“启用SCIM预置”时,也包括SCIM属性)中包含用户的姓氏时,这个姓氏会在用户预置过程中被用作用户对象属性surname的值。

示例: sn, surname, lastName
provision_status integer 用户目录的预配置状态。

可能的值:
0 - (默认) 禁用,通过此用户目录创建的用户预置功能被禁用。
1 - 启用,通过此用户目录创建的用户预置功能被启用。此外,还需开启LDAP或SAML预配置的状态(即认证对象ldap_jit_statussaml_jit_status必须被设置为启用)。
provision_groups array 用于映射LDAP/SAML用户组模式到Zabbix用户组及用户角色的预配置组映射对象数组。

属性行为:
- 必填 如果provision_status设置为"Enabled"时,则必填。
provision_media array 媒介类型映射 对象的数组,用于将用户的LDAP/SAML媒体属性 (例如,电子邮件) 映射到Zabbix用户媒介以发送通知。
LDAP-特定属性:
name string 用户目录的唯一名称。

属性行为:
- 必填 如果 idp_type设置为 “LDAP类型的用户目录”,则必填。
host string LDAP服务器的主机名、IP或URI。
URI必须包含架构(ldap:// or ldaps://) 、主机和端口 (可选)。

示例:
host.example.com
127.0.0.1
ldap://ldap.example.com:389

属性行为:
- 必填 如果idp_type 设置为 “LDAP类型的用户目录”,则必填。
port integer LDAP服务器的端口。

属性行为:
- 必填 如果idp_type 设置为 “LDAP类型的用户目录”,则必填。
base_dn string 用户帐户的LDAP用户目录基本路径。

示例:
ou=Users,dc=example,dc=org
ou=Users,ou=system (for OpenLDAP)
DC=company,DC=com (for Microsoft Active Directory)
uid=%{user},dc=example,dc=com (for direct user binding; placeholder "%{user}" is mandatory)

属性行为:
- 必填如果idp_type 设置为 “LDAP类型的用户目录”,则必填。
search_attribute string LDAP用户目录属性,用于从登录请求中提供的信息中标识用户帐户。

示例:
uid (for OpenLDAP)
sAMAccountName (for Microsoft Active Directory)

属性行为:
- 必填 如果idp_type 设置为 “LDAP类型的用户目录”,则必填。
bind_dn string 用于在LDAP服务器上绑定和搜索帐户。

对于直接用户绑定和匿名绑定,bind_dn必须为空。

示例:
uid=ldap_search,ou=system (for OpenLDAP)
CN=ldap_search,OU=user_group,DC=company,DC=com (for Microsoft Active Directory)
CN=Admin,OU=Users,OU=Zabbix,DC=zbx,DC=local

属性行为:
- 支持 如果idp_type 设置为 “LDAP类型的用户目录”,则支持。
bind_password string 用于在LDAP服务器上绑定和搜索帐户的LDAP密码。

对于直接用户绑定和匿名绑定,bind_password必须为空。

属性行为:
- 支持 如果idp_type 设置为 “LDAP类型的用户目录”,则支持。
description string 用户目录的说明。

属性行为:
- 支持 如果idp_type 设置为 “LDAP类型的用户目录”,则支持。
group_basedn string LDAP用户目录组的基本路径; 用于配置LDAP用户目录中的用户成员资格检查。

如果设置了group_membership,则在设置用户时忽略。

示例: ou=Groups,dc=example,dc=com

属性行为:
- 支持 如果idp_type 设置为 “LDAP类型的用户目录”,则支持。
group_filter string 用于检索用户是其成员的LDAP用户目录组的筛选器字符串; 用于配置LDAP用户目录中的用户成员资格检查。

如果设置了group_membership,则在设置用户时忽略。

支持的 group_filter占位符
%{attr} - 搜索属性 (替换为search_attribute属性值);
%{groupattr} - 组属性 (替换为 group_member属性值);
%{host} - LDAP服务器的主机名、IP或URI (替换为host属性值);
%{user} - Zabbix 用户的用户名。

默认: (%{groupattr}=%{user})

示例:
- 当一个LDAP组对象的"member" 属性中包含值为"uid=User1,ou=Users,dc=example,dc=com"时,表达式(member=uid=%{ref},ou=Users,dc=example,dc=com) 将会匹配到"User1",并返回"User1"所属的组;
- 当一个LDAP组对象包含了由group_member指定的属性,且其值为"cn=User1,ou=Users,ou=Zabbix,DC=example,DC=com",表达式(%{groupattr}=cn=%{ref},ou=Users,ou=Zabbix,DC=example,DC=com) 将会匹配到"User1" ,并返回"User1" 所属的组。

属性行为:
- 支持 如果idp_type 设置为 “LDAP类型的用户目录”,则支持。
group_member string LDAP用户目录属性,包含有关组成员的信息; 用于配置LDAP用户目录中的用户成员资格检查。

如果设置了group_membership,则在设置用户时忽略。

属性行为:
- 支持 如果idp_type 设置为 “LDAP类型的用户目录”,则支持。
group_membership string LDAP用户目录属性,包含有关用户所属组的信息。

示例: memberOf

属性行为:
- 支持 如果idp_type 设置为 “LDAP类型的用户目录”,则支持。
search_filter string 用于根据登录请求中提供的信息在LDAP用户目录中定位和验证用户的自定义筛选器字符串。

支持的search_filter 占位符:
%{attr} - 搜索属性名称 (例如, uid, sAMAccountName);
%{user} - Zabbix 用户的用户名。

默认: (%{attr}=%{user})

属性行为:
- 支持 如果idp_type 设置为 “LDAP类型的用户目录”,则支持。
start_tls integer LDAP服务器配置选项,允许使用传输层安全性保护(TLS)与LDAP服务器的通信。

请注意,对于使用 ldaps:// 协议的主机,必须将start_tls 设置为"Disabled" 。

可能的值:
0 - (默认) Disabled
1 - Enabled

属性行为:
- 支持 如果idp_type 设置为 “LDAP类型的用户目录”,则支持。
user_ref_attr string 用于引用用户对象的LDAP用户目录属性。user_ref_attr 的值用于从用户目录中的指定属性获取值,并将它们而不是 group_filter 字符串中的 %{ref} 占位符。

示例: cn, uid, member, uniqueMember

属性行为:
- 支持 如果idp_type 设置为 “LDAP类型的用户目录”,则支持。
SAML-特定属性:
idp_entityid string 标识身份提供者并用于在SAML消息中与身份提供者通信的URI。

示例: https://idp.example.com/idp

属性标签:
- 必填 if idp_type is set to "User directory of type SAML",则必填。
sp_entityid string 标识身份提供商的服务提供商的URL或任何字符串。

示例:
https://idp.example.com/sp
zabbix

属性行为:
- 必填 如果 idp_type 设置为 “SAML类型的用户目录”,则必填。
username_attribute string SAML用户目录属性 (假如 scim_status设置为 “SCIM provisioning is enabled”,也是SCIM属性) 包含用户的用户名,该用户名在进行身份验证时与 用户对象 属性username的值进行比较。

示例: uid, userprincipalname, samaccountname, username, userusername, urn:oid:0.9.2342.19200300.100.1.1, urn:oid:1.3.6.1.4.1.5923.1.1.1.13, urn:oid:0.9.2342.19200300.100.1.44

属性行为:
- 必填 如果 idp_type 设置为 “SAML类型的用户目录”,则必填。
sso_url string 身份提供商的SAML单点登录服务的URL,Zabbix将向其发送SAML身份验证请求。

示例: http://idp.example.com/idp/sso/saml

属性行为:
- 必填 如果 idp_type 设置为 “SAML类型的用户目录”,则必填。
slo_url string 身份提供商的SAML单个注销服务的URL,Zabbix将向其发送SAML注销请求。

示例: https://idp.example.com/idp/slo/saml

属性行为:
- 必填 如果 idp_type 设置为 “SAML类型的用户目录”,则必填。
encrypt_nameid integer 是否应加密SAML名称ID。

可能的值:
0 - (默认) 不加密名称ID
1 - 加密名称ID

属性行为:
- 必填 如果 idp_type 设置为 “SAML类型的用户目录”,则必填。
encrypt_assertions integer SAML声明是否需要进行加密处理。

可能的值:
0 - (默认) 不加密声明
1 - 加密声明。

属性行为:
- 必填 如果 idp_type 设置为 “SAML类型的用户目录”,则必填。
nameid_format string SAML身份提供商为其服务提供商提供的名称ID格式。

示例:
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
urn:oasis:names:tc:SAML:2.0:nameid-format:transient
urn:oasis:names:tc:SAML:2.0:nameid-format:kerberos
urn:oasis:names:tc:SAML:2.0:nameid-format:entity

属性行为:
- 支持 如果 idp_type 设置为 “SAML类型的用户目录”,则支持。
scim_status integer 是启用还是禁用SAML的SCIM置备。

可能的值:
0 - (默认) SCIM设置已禁用
1 - 已启用SCIM置备

属性行为:
- 支持 如果 idp_type 设置为 “SAML类型的用户目录”,则支持。
sign_assertions integer 是否应使用SAML签名对SAML声明进行签名。

可能的值:
0 - (默认) 不对声明进行签名
1 - 对声明进行签名

属性行为:
- 支持 如果 idp_type 设置为 “SAML类型的用户目录”,则支持。
sign_authn_requests integer SAML AuthN请求是否应使用SAML签名进行签名。

可能的值:
0 - (默认) AuthN请求不使用SAML签名
1 -AuthN请求使用SAML签名

属性行为:
- 支持 如果 idp_type 设置为 “SAML类型的用户目录”,则支持。
sign_messages integer 是否使用SAML签名对SAML消息进行签名。

可能的值:
0 - (默认) SAML消息不使用SAML签名
1 - SAML消息使用SAML签名

属性行为:
- 支持 如果 idp_type 设置为 “SAML类型的用户目录”,则支持。
sign_logout_requests integer SAML注销请求是否使用SAML签名进行签名。

可能的值:
0 - (默认) SAML注销请求不使用SAML签名
1 - SAML注销请求使用SAML签名

属性行为:
- 支持如果 idp_type 设置为 “SAML类型的用户目录”,则支持。
sign_logout_responses integer SAML注销响应是否应使用SAML签名进行签名。

可能的值:
0 - (默认) SAML注销响应不使用SAML签名
1 - SAML注销响应使用SAML签名

属性行为:
- 支持 如果 idp_type 设置为 “SAML类型的用户目录”,则支持。

媒介类型映射

媒介类型映射对象具有以下属性。

属性 类型 描述
userdirectory_mediaid ID 媒介类型映射ID。

属性行为:
- 只读
name string 媒介类型映射列表中的可见名称。

属性行为:
- 必填
mediatypeid ID 要创建的媒介类型的ID; 用作媒介对象属性 mediatypeid的值。

属性行为:
- 必填
attribute string 包含用户媒体的LDAP/SAML用户目录属性 (如果scim_status设置为 “SCIM provisioning is enabled”,则也是SCIM属性) (例如,* [email protected] ),它用作媒介对象属性sendto的值。

如果存在于从LDAP/SAML身份提供程序接收的数据中,并且该值不为空,则将触发已设置用户的媒介创建。

属性行为:
-
必填*
active integer 为设置的用户创建媒介时,用户媒介 “活动” 属性值。

可能的值:
0 - (默认) enabled
1 - disabled
severity integer 为设置的用户创建媒介时的用户媒介severity属性值。

默认: 63
period string 为设置的用户创建媒介时的用户媒介period属性值。

默认: 1-7,00:00-24:00

预配置组映射

预配置组映射具有以下属性。

属性 类型 描述
name string LDAP/SAML用户目录中的组的全名 (例如,Zabbix administrators),(如果scim_status设置为"SCIM provisioning is enabled",则也是SCIM属性)。
支持通配符"*"。
在所有预配组映射中唯一。

属性行为:
- 必填
roleid ID 要分配给用户的用户角色ID。

如果匹配多个预配组映射,则将最高用户类型 (User, Admin, 或 Super admin) 的角色将分配给该用户。如果存在具有相同用户类型的多个角色,则将第一个角色 (按字母顺序排序) 分配给用户。

属性行为:
- 必填
user_groups array Zabbix用户组ID对象的数组,每个对象都具有以下属性:
usrgrpid - (ID) 要分配给用户的Zabbix用户组的ID。

如果匹配多个预配组映射,则将所有匹配映射的Zabbix用户组分配给用户。

属性行为:
- 必填