userdirectory.create

Description

object userdirectory.create(object/array userDirectory)

Cette méthode permet de créer de nouveaux répertoires d’utilisateurs.

Cette méthode est disponible uniquement pour le type d’utilisateur Super admin.

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.