vertica_user – Adds or removes Vertica database users and assigns roles

Synopsis

  • Adds or removes Vertica database user and, optionally, assigns roles.
  • A user will not be removed until all the dependencies have been dropped.
  • In such a situation, if the module tries to remove the user it will fail and only remove roles granted to the user.

Requirements

The below requirements are needed on the host that executes this module.

  • unixODBC
  • pyodbc

Parameters

Parameter Choices/Defaults Comments
cluster
-
Default:
"localhost"
Name of the Vertica cluster.
db
-
Name of the Vertica database.
expired
boolean
    Choices:
  • no
  • yes
Sets the user's password expiration.
ldap
boolean
    Choices:
  • no
  • yes
Set to true if users are authenticated via LDAP.
The user will be created with password expired and set to $ldap$.
login_password
-
The password used to authenticate with.
login_user
-
Default:
"dbadmin"
The username used to authenticate with.
name
- / required
Name of the user to add or remove.
password
-
The user's password encrypted by the MD5 algorithm.
The password must be generated with the format "md5" + md5[password + username], resulting in a total of 35 characters. An easy way to do this is by querying the Vertica database with select 'md5'||md5('<user_password><user_name>').
port
-
Default:
5433
Vertica cluster port to connect to.
profile
-
Sets the user's profile.
resource_pool
-
Sets the user's resource pool.
roles
-
Comma separated list of roles to assign to the user.

aliases: role
state
-
    Choices:
  • present ←
  • absent
  • locked
Whether to create present, drop absent or lock locked a user.

Notes

Note

  • The default authentication assumes that you are either logging in as or sudo’ing to the dbadmin account on the host.
  • This module uses pyodbc, a Python ODBC database adapter. You must ensure that unixODBC and pyodbc is installed on the host and properly configured.
  • Configuring unixODBC for Vertica requires Driver = /opt/vertica/lib64/libverticaodbc.so to be added to the Vertica section of either /etc/odbcinst.ini or $HOME/.odbcinst.ini and both ErrorMessagesPath = /opt/vertica/lib64 and DriverManagerEncoding = UTF-16 to be added to the Driver section of either /etc/vertica.ini or $HOME/.vertica.ini.

Examples

- name: creating a new vertica user with password
  vertica_user: name=user_name password=md5<encrypted_password> db=db_name state=present

- name: creating a new vertica user authenticated via ldap with roles assigned
  vertica_user:
    name=user_name
    ldap=true
    db=db_name
    roles=schema_name_ro
    state=present

Status

Authors

  • Dariusz Owczarek (@dareko)

Hint

If you notice any issues in this documentation, you can edit this document to improve it.