Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion source/installation_and_configuration/authentication/ldap.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,23 @@ This authentication mechanism is enabled by default. If it doesn't work, make su
AUTHN = "ssh,x509,ldap,server_cipher,server_x509"
]

If you want to enable LDAP users auto-creation in the OpenNebula then you need to add ``default`` method in the ``AUTHN`` attribute of the ``AUTH_MAD`` section as shown below:

.. code-block:: bash

AUTH_MAD = [
EXECUTABLE = "one_auth_mad",
AUTHN = "default,ssh,x509,ldap,server_cipher,server_x509"
]

and create a symlink as `root` user on the OpenNebula front-end node:

.. code-block:: bash

ln -s /var/lib/one/remotes/auth/ldap /var/lib/one/remotes/auth/default



Authentication driver ``ldap`` can be customized in ``/etc/one/auth/ldap_auth.conf``. This is the default configuration:

.. code-block:: yaml
Expand Down Expand Up @@ -188,7 +205,7 @@ To enable ``ldap`` authentication the described parameters should be configured.
User Management
===============

Using the LDAP authentication module, the administrator doesn't need to create users with the ``oneuser`` command, as this will be done automatically.
Enabling LDAP users auto-creation in the OpenNebula as described above eliminates the need for the administrator to create users with the ``oneuser`` command manually.

Users can store their credentials into a file referenced by environment variable ``$ONE_AUTH`` (usually ``$HOME/.one/one_auth``) in this fashion:

Expand Down Expand Up @@ -228,6 +245,8 @@ Users can easily create escaped ``$ONE_AUTH`` tokens with the command ``oneuser

The output of this command should be put in the ``$ONE_AUTH`` file.



.. _active_directory:

Active Directory
Expand Down Expand Up @@ -325,3 +344,14 @@ And you want users whose login ends with ``a.example.com`` to be searched in ``l
:match_user_regex:
"^(.*)@a.example.com$": ldap-a.example.com
"^(.*)@b.example.com$": ldap-b.example.com

DB backend and case sensitivity
============================================

As LDAP, in general, is case insensitive there could be some oddities in the way how OpenNebula manages LDAP users. Moreover, it depends on the used DB backend.

If you use SQLite or PostgreSQL, then users are always case-sensitive. Any further login with the same user but in a different casing will cause auth failure.

However, when MySQL database is used (with the default configuration) it is case insensitive. Therefore, you can still log in with any casing of the username, such as jsmith, JSmith, JSMITH, etc.

In any case, LDAP users are created in OpenNebula DB in lower-case. This is mainly to prevent multiple (case different) users to bypass quotas.
Loading