userdirectory.get

Descrição

integer/array userdirectory.get(object parameters)

O método permite recuperar diretórios de usuários de acordo com os parâmetros fornecidos.

Este método está disponível apenas para tipos de usuários Super admin.

Parâmetros

(object) Parâmetros que definem a saída desejada.

O método suporta os seguintes parâmetros.

Parâmetro Tipo Descrição
userdirectoryids ID/array Retorna apenas diretórios de usuários com os IDs fornecidos.
selectUsrgrps query Retorna uma propriedade usrgrps com grupos de usuários associados a um diretório de usuários.

Suporta count.
selectProvisionMedia query Retorna uma propriedade provision_media com mapeamentos de tipos de mídia associados a um diretório de usuários.
selectProvisionGroups query Retorna uma propriedade provision_groups com mapeamentos de grupos de provisionamento associados a um diretório de usuários.
sortfield string/array Ordena o resultado pelas propriedades fornecidas.

Valores possíveis: name.
filter object Retorna apenas os resultados que correspondem exatamente ao filtro fornecido.

Aceita um objeto, onde as chaves são nomes de propriedades e os valores são um único valor ou um array de valores.

Suporta propriedades: userdirectoryid, idp_type, provision_status.
search object Retorna resultados que correspondem ao padrão fornecido (case-insensitive).

Aceita um objeto, onde as chaves são nomes de propriedades e os valores são strings a serem pesquisadas. Se nenhuma opção adicional for fornecida, isso executará uma pesquisa LIKE "%…%".

Propriedades suportadas: name, description.

O diretório de usuários do tipo SAML terá um valor vazio para as propriedades name e description. Ambas as propriedades podem ser alteradas com a operação userdirectory.update.
countOutput boolean Esses parâmetros são descritos no comentário de referência.
excludeSearch boolean
limit integer
output query
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Valores de retorno

(integer/array) Retorna:

  • um array de objetos;
  • a contagem de objetos recuperados, se o parâmetro countOutput foi utilizado.

Exemplos

Recuperando diretórios de usuários

Recupere todos os diretórios de usuários com propriedades adicionais que exibem mapeamentos de tipos de mídia e mapeamentos de grupos de provisionamento associados a cada diretório de usuário.

Requisição:

{
    "jsonrpc": "2.0",
    "method": "userdirectory.get",
    "params": {
        "output": "extend",
        "selectProvisionMedia": "extend",
        "selectProvisionGroups": "extend"
    },
    "id": 1
}

Resposta:

{
    "jsonrpc": "2.0",
    "result": [
       {
            "userdirectoryid": "1",
            "idp_type": "2",
            "name": "",
            "provision_status": "1",
            "description": "",
            "group_name": "groups",
            "user_username": "",
            "user_lastname": "",
            "idp_entityid": "http://example.com/simplesaml/saml2/idp/metadata.php",
            "sso_url": "http://example.com/simplesaml/saml2/idp/SSOService.php",
            "slo_url": "",
            "username_attribute": "uid",
            "sp_entityid": "zabbix",
            "nameid_format": "",
            "sign_messages": "0",
            "sign_assertions": "0",
            "sign_authn_requests": "0",
            "sign_logout_requests": "0",
            "sign_logout_responses": "0",
            "encrypt_nameid": "0",
            "encrypt_assertions": "0",
            "scim_status": "1",
            "provision_media": [
                {
                    "userdirectory_mediaid": "1",
                    "name": "example.com",
                    "mediatypeid": "1",
                    "attribute": "[email protected]",
                    "active": "0",
                    "severity": "63",
                    "period": "1-7,00:00-24:00"
                }
            ],
            "provision_groups": [
                {
                    "name": "*",
                    "roleid": "1",
                    "user_groups": [
                        {
                            "usrgrpid": "13"
                        }
                    ]
                }
            ]
        },
        {
            "userdirectoryid": "2",
            "idp_type": "1",
            "name": "AD server",
            "provision_status": "1",
            "description": "",
            "host": "host.example.com",
            "port": "389",
            "base_dn": "DC=zbx,DC=local",
            "search_attribute": "sAMAccountName",
            "bind_dn": "CN=Admin,OU=Users,OU=Zabbix,DC=zbx,DC=local",
            "start_tls": "0",
            "search_filter": "",
            "group_basedn": "OU=Zabbix,DC=zbx,DC=local",
            "group_name": "CN",
            "group_member": "member",
            "group_filter": "(%{groupattr}=CN=%{ref},OU=Users,OU=Zabbix,DC=zbx,DC=local)",
            "group_membership": "",
            "user_username": "givenName",
            "user_lastname": "sn",
            "user_ref_attr": "CN",
            "provision_media": [
                {
                    "userdirectory_mediaid": "2",
                    "name": "example.com",
                    "mediatypeid": "1",
                    "attribute": "[email protected]",
                    "active": "0",
                    "severity": "63",
                    "period": "1-7,00:00-24:00"
                }
            ],
            "provision_groups": [
                {
                    "name": "*",
                    "roleid": "4",
                    "user_groups": [
                        {
                            "usrgrpid": "8"
                        }
                    ]
                },
                {
                    "name": "Zabbix administrators",
                    "roleid": "2",
                    "user_groups": [
                        {
                            "usrgrpid": "7"
                        },
                        {
                            "usrgrpid": "8"
                        }
                    ]
                }
            ]
        },
        {
            "userdirectoryid": "3",
            "idp_type": "1",
            "name": "LDAP API server #1",
            "provision_status": "0",
            "description": "",
            "host": "ldap://local.ldap",
            "port": "389",
            "base_dn": "ou=Users,dc=example,dc=org",
            "search_attribute": "uid",
            "bind_dn": "cn=ldap_search,dc=example,dc=org",
            "start_tls": "1",
            "search_filter": "",
            "group_basedn": "",
            "group_name": "",
            "group_member": "",
            "group_filter": "",
            "group_membership": "",
            "user_username": "",
            "user_lastname": "",
            "user_ref_attr": "",
            "provision_media": [],
            "provision_groups": []
        }
    ],
    "id": 1
}

Veja também

Fonte

CUserDirectory::get() em ui/include/classes/api/services/CUserDirectory.php.