Add, Edit, and Delete Users

This section explains how you can add, edit, and delete users from the EXAoperation user interface.

These are not the database users. These are EXAoperation users.

Add a User

Authenticated by a Password

Using EXAoperation

Do the following to add a user that is authenticated by password:

  1. In EXAoperation, select Configuration > Access Management.
  2. In the Users tab, click Add.
  3. Enter the following information:
    • Login: Login ID of the user.
    • Title: User's title.
    • Description: (Optional) Description of the user.
    • Identified by: Select Internal.
    • Password: Password of the user.
    • Repeat password: Repeat the password of the user.

    Add a user in Exasol

  4. Click Add.

Using XML-RPC

Do the following to add a user using XML-RPC:

  1. Run the following commands to import the XML-RPC packages:
  2. from xmlrpc.client import ServerProxy
    from xmlrpc.client import ServerProxy as xmlrpc

  3. Run the following command to create a connection with your Exasol cluster:
  4. import ssl
    server = ServerProxy ('https://user:password@<IP_Address>/cluster1', context=ssl._create_unverified_context (), allow_none = True)

  5. Run the following command to create a user.
  6. server.addUser({'user_login':'<username>', 'password':'<password>', 'user_title':'<Title>'})

A new user is created with default role User. To know how to change the user role, see Change a User's Role

Authenticated by LDAP

Using EXAoperation

Do the following to add a user that is authenticated by LDAP:

  1. In EXAoperation, select Configuration > Access Management.
  2. In the Users tab, click Add.
  3. Enter the following information:
    • Login: Login ID of the user.
    • Title: User's title.
    • Description: (Optional) Description of the user.
    • Identified by: Select LDAP.
    • LDAP Server: LDAP server details.
    • LDAP User DN: User's distinguished name.

    Add a user in Exasol

  4. Click Add.

Using XML-RPC

Do the following to add a user with LDAP authentication using XML-RPC:

  1. Run the following commands to import the XML-RPC packages:
  2. from xmlrpc.client import ServerProxy
    from xmlrpc.client import ServerProxy as xmlrpc

  3. Run the following command to create a connection with your Exasol cluster:
  4. import ssl
    server = ServerProxy ('https://user:password@<IP_Address>/cluster1', context=ssl._create_unverified_context (), allow_none = True)

  5. Run the following command to create a user.
  6. server.addUser{'user_login':'<username>', 'password':'<password>', 'user_title':'<Title>' 'ldap_server':'ldaps:<IP Address>', 'ldapServer': 'ldaps:<IP Address>', , 'ldapFullDN':'<LDAP DN for user>'}

You have to provide a password for the user even if you choose LDAP authentication.

A new user is created with default role User. To know how to change the user role, see Change a User's Role

Edit a User

You can edit the following for a user through EXAoperation user interface or through XML-RPC.

Edit Login Details

Using EXAoperation

Do the following to edit the login details of a user:

  1. In EXAoperation, select Configuration > Access Management.
  2. In the Users tab, select the user you want to edit and click Edit.

    Edit a user in Exasol

  3. Change the following according to your requirement:
    • Login: Login ID of the user.
    • Title: User's title.
    • Description: (Optional) Description of the user.
    • Identified by: If the user is identified by a password, you can change the old password. If the user is identified by LDAP, you can modify the LDAP details. You can also change how the user is authenticated (from password to LDAP or other way around).
  4. Click Apply.

Using XML-RPC

Do the following to edit a user:

  1. Run the following commands to import the XML-RPC packages:
  2. from xmlrpc.client import ServerProxy
    from xmlrpc.client import ServerProxy as xmlrpc

  3. Run the following command to create a connection with your Exasol cluster:
  4. import ssl
    server = ServerProxy ('https://user:password@<IP_Address>/cluster1', context=ssl._create_unverified_context (), allow_none = True)

  5. Run the following command to edit the user. Specify the new password or title in the command.
  6. server.editUser('<username>', {'password':'<password>', 'user_title':'<user title>'})
    #for example,
    server.editUser('test user', {'password':'test12345', 'user_title':'This is a test user'})

Change a User's Role

EXAoperation has the following user roles:

  • Master: Has all possible rights and permissions
  • Administrator: Can manage the cluster, but cannot change the license, change the password for disk encryption, or assign the master role to a user.
  • Supervisor: Is able to view the cluster configuration, but is not able to make any changes to the system.
  • User: Can only view the basic state of nodes and databases.

Using EXAoperation

Do the following to change a user's role:

  1. In EXAoperation, select Configuration > Access Management.
  2. In the Roles tab, select a user role from the drop-down Role for a user.

    Change a user's role in Exasol

  3. Click Apply.

Using XML-RPC

Do the following to edit a user role using XML-RPC:

  1. Run the following commands to import the XML-RPC packages:
  2. from xmlrpc.client import ServerProxy
    from xmlrpc.client import ServerProxy as xmlrpc

  3. Run the following command to create a connection with your Exasol cluster:
  4. import ssl
    server = ServerProxy ('https://user:password@<IP_Address>/cluster1', context=ssl._create_unverified_context (), allow_none = True)

  5. Run the following command to edit the user role.
    server.grantRole('<object_name>', '<user ID>', '<new role name')
    #for example,
    server.grantRole('db_exa_db1','8', 'Master')

    You can run the following commands to check object name and user ID for the above command.

    server.getUserByName ('<username>')
    server.listObjects ()

Delete a User

Using EXAoperation

Do the following to delete a user:

  1. In EXAoperation, select Configuration > Access Management.
  2. In the Users tab, select the user you want to delete and click Delete.

    Delete a user in Exasol

Using XML-RPC

Do the following to add a user with LDAP authentication using XML-RPC:

  1. Run the following commands to import the XML-RPC packages:
  2. from xmlrpc.client import ServerProxy
    from xmlrpc.client import ServerProxy as xmlrpc

  3. Run the following command to create a connection with your Exasol cluster:
    import ssl
    server = ServerProxy ('https://user:password@<IP_Address>/cluster1', context=ssl._create_unverified_context (), allow_none = True)
  4. Run any of the following commands to create a user.
    server.deleteUserByLogin('<user login name>')
    #or
    server.deleteUserByID('<userID>')