userdirectory.create

Description

object userdirectory.create(object/array userDirectory)

Cette méthode vous permet de créer de nouveaux annuaires d'utilisateurs.

Cette méthode est uniquement disponible pour le type d'utilisateur Super administrateur.

Paramètres

(object/array) Répertoires utilisateur à créer.

La méthode accepte des répertoires utilisateur avec les propriétés standard des répertoires utilisateur.

Valeurs de retour

(object) Renvoie un objet contenant les ID des répertoires utilisateurs créés dans la propriété userdirectoryids. L’ordre des ID renvoyés correspond à l’ordre des répertoires utilisateurs transmis.

Exemples

Création d’un répertoire d’utilisateurs

Créez un répertoire d’utilisateurs pour authentifier les utilisateurs avec StartTLS via LDAP. Notez que pour authentifier les utilisateurs via LDAP, l’authentification LDAP doit être activée.

Requête :

{
    "jsonrpc": "2.0",
    "method": "userdirectory.create",
    "params": {
        "idp_type": "1",
        "name": "LDAP API server #1",
        "host": "ldap://local.ldap",
        "port": "389",
        "base_dn": "ou=Users,dc=example,dc=org",
        "bind_dn": "cn=ldap_search,dc=example,dc=org",
        "bind_password": "ldapsecretpassword",
        "search_attribute": "uid",
        "start_tls": "1"
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "userdirectoryids": [
            "3"
        ]
    },
    "id": 1
}
Création d’un annuaire d’utilisateurs (provisionnement JIT activé)

Créez un annuaire d’utilisateurs pour authentifier les utilisateurs via LDAP (avec le provisionnement JIT activé). Notez que pour authentifier les utilisateurs via LDAP, l’authentification LDAP doit être activée.

Requête :

{
    "jsonrpc": "2.0",
    "method": "userdirectory.create",
    "params": {
            "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": [
                {
                    "name": "example.com",
                    "mediatypeid": "1",
                    "attribute": "[email protected]"
                }
            ],
            "provision_groups": [
                {
                    "name": "*",
                    "roleid": "4",
                    "user_groups": [
                        {
                            "usrgrpid": "8"
                        }
                    ]
                },
                {
                    "name": "Zabbix administrators",
                    "roleid": "2",
                    "user_groups": [
                        {
                            "usrgrpid": "7"
                        },
                        {
                            "usrgrpid": "8"
                        }
                    ]
                }
            ]
        },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "userdirectoryids": [
            "2"
        ]
    },
    "id": 1
}

Source

CUserDirectory::create() dans ui/include/classes/api/services/CUserDirectory.php.