userdirectory.get

Beschreibung

integer/array userdirectory.get(object parameters)

Mit dieser Methode können Benutzerverzeichnisse entsprechend den angegebenen Parametern abgerufen werden.

Diese Methode ist nur für Benutzertypen vom Typ Super admin verfügbar.

Parameter

(object) Parameter, die die gewünschte Ausgabe definieren.

Die Methode unterstützt die folgenden Parameter.

Parameter Type Beschreibung
userdirectoryids ID/array Gibt nur Benutzerverzeichnisse mit den angegebenen IDs zurück.
selectUsrgrps query Gibt eine Eigenschaft usrgrps mit Benutzergruppen zurück, die einem Benutzerverzeichnis zugeordnet sind.

Unterstützt count.
selectProvisionMedia query Gibt eine Eigenschaft provision_media mit Medientyp-Zuordnungen zurück, die einem Benutzerverzeichnis zugeordnet sind.
selectProvisionGroups query Gibt eine Eigenschaft provision_groups mit Zuordnungen von Provisioning-Gruppen zurück, die einem Benutzerverzeichnis zugeordnet sind.
sortfield string/array Sortiert das Ergebnis nach den angegebenen Eigenschaften.

Mögliche Werte: name.
filter object Gibt nur Ergebnisse zurück, die exakt mit dem angegebenen Filter übereinstimmen.

Akzeptiert ein Objekt, bei dem die Schlüssel Eigenschaftsnamen sind und die Werte entweder ein einzelner Wert oder ein Array von Werten sind.

Unterstützte Eigenschaften: userdirectoryid, idp_type, provision_status.
search object Gibt Ergebnisse zurück, die dem angegebenen Muster entsprechen (Groß-/Kleinschreibung wird nicht beachtet).

Akzeptiert ein Objekt, bei dem die Schlüssel Eigenschaftsnamen sind und die Werte Zeichenfolgen sind, nach denen gesucht werden soll. Wenn keine zusätzlichen Optionen angegeben sind, wird eine Suche vom Typ LIKE "%…%" durchgeführt.

Unterstützte Eigenschaften: name, description.

Ein Benutzerverzeichnis vom Typ SAML hat sowohl für die Eigenschaften name als auch description einen leeren Wert. Beide Eigenschaften können mit der Operation userdirectory.update geändert werden.
countOutput boolean Diese Parameter werden in der Referenzkommentierung beschrieben.
excludeSearch boolean
limit integer
output query
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Rückgabewerte

(integer/array) Gibt entweder Folgendes zurück:

  • ein Array von Objekten
  • die Anzahl der abgerufenen Objekte, wenn der Parameter countOutput verwendet wurde

Beispiele

Abrufen von Benutzerverzeichnissen

Rufen Sie alle Benutzerverzeichnisse mit zusätzlichen Eigenschaften ab, die Zuordnungen von Medientypen und Provisionierungsgruppen anzeigen, die jedem Benutzerverzeichnis zugeordnet sind.

Anfrage:

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

Antwort:

{
    "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
}

Siehe auch

Quelle

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