ldap_auth_provider – Manage Sensu LDAP authentication provider

Create, update or delete a Sensu Go LDAP authentication provider.

For more information, refer to the Sensu Go documentation at https://docs.sensu.io/sensu-go/latest/operations/control-access/ldap-auth/.

New in version 1.10.0.

Requirements

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

  • python >= 2.7

Examples

- name: Create a LDAP auth provider
  sensu.sensu_go.ldap_auth_provider:
    name: openldap
    servers:
      - host: 127.0.0.1
        group_search:
          base_dn: dc=acme,dc=org
        user_search:
          base_dn: dc=acme,dc=org

- name: Delete a LDAP auth provider
  sensu.sensu_go.ldap_auth_provider:
    name: openldap
    state: absent

See Also

Parameters

auth (optional)

Authentication parameters. Can define each of them with ENV as well.

type: dict
api_key (optional)

The API key that should be used when authenticating. If this is not set, the value of the SENSU_API_KEY environment variable will be checked.

This replaces auth.user and auth.password parameters.

For more information about the API key, refer to the official Sensu documentation at https://docs.sensu.io/sensu-go/latest/guides/use-apikey-feature/.

type: str
ca_path (optional)

Path to the CA bundle that should be used to validate the backend certificate.

If this parameter is not set, module will use the CA bundle that python is using.

It is also possible to set this parameter via the SENSU_CA_PATH environment variable.

type: path
password (optional)

The Sensu user’s password. If this is not set the value of the SENSU_PASSWORD environment variable will be checked.

This parameter is ignored if the auth.api_key parameter is set.

type: str
default: P@ssw0rd!
url (optional)

Location of the Sensu backend API. If this is not set the value of the SENSU_URL environment variable will be checked.

type: str
user (optional)

The username to use for connecting to the Sensu API. If this is not set the value of the SENSU_USER environment variable will be checked.

This parameter is ignored if the auth.api_key parameter is set.

type: str
default: admin
verify (optional)

Flag that controls the certificate validation.

If you are using self-signed certificates, you can set this parameter to false.

ONLY USE THIS PARAMETER IN DEVELOPMENT SCENARIOS! In you use self-signed certificates in production, see the auth.ca_path parameter.

It is also possible to set this parameter via the SENSU_VERIFY environment variable.

type: bool
default: True
groups_prefix (optional)

The prefix added to all LDAP groups.

type: str
name (required)

The Sensu resource’s name. This name (in combination with the namespace where applicable) uniquely identifies the resource that Ansible operates on.

If the resource with selected name already exists, Ansible module will update it to match the specification in the task.

Consult the name metadata attribute specification in the upstream docs on https://docs.sensu.io/sensu-go/latest/reference/ for more details about valid names and other restrictions.

type: str
servers (optional)

An array of LDAP servers for your directory.

Required if state is present.

type: list
binding (optional)

The LDAP account that performs user and group lookups.

If your sever supports anonymous binding, you can omit the user_dn or password attributes to query the directory without credentials.

type: dict
password (required)

Password for the user_dn account.

If your sever supports anonymous binding, you can omit this attribute.

type: str
user_dn (required)

The LDAP account that performs user and group lookups.

If your sever supports anonymous binding, you can omit this attribute.

type: str
client_cert_file (optional)

Path to the certificate that should be sent to the server if requested.

type: str
client_key_file (optional)

Path to the key file associated with the client_cert_file.

Required if client_cert_file is present.

type: str
group_search (optional)

Search configuration for groups.

type: dict
attribute (optional)

Used for comparing result entries.

type: str
default: member
base_dn (required)

Which part of the directory tree to search.

type: str
name_attribute (optional)

Represents the attribute to use as the entry name.

type: str
default: cn
object_class (optional)

Identifies the class of objects returned in the search result.

type: str
default: groupOfNames
host (required)

LDAP server IP address.

type: str
insecure (optional)

Skips SSL certificate verification when set to true.

type: bool
port (optional)

LDAP server port.

type: int
security (optional)

Encryption type to be used for the connection to the LDAP server.

type: str
default: tls
choices: insecure, tls, starttls
trusted_ca_file (optional)

Path to an alternative CA bundle file.

type: str
user_search (optional)

Search configuration for users.

type: dict
attribute (optional)

Used for comparing result entries.

type: str
default: uid
base_dn (required)

Which part of the directory tree to search.

type: str
name_attribute (optional)

Represents the attribute to use as the entry name.

type: str
default: cn
object_class (optional)

Identifies the class of objects returned in the search result.

type: str
default: person
state (optional)

Target state of the Sensu object.

type: str
default: present
choices: present, absent
username_prefix (optional)

The prefix added to all LDAP usernames.

type: str

Return Values

object

Object representing Sensu LDAP authentication provider.

sample:

groups_prefix: ldap
metadata:
  name: openldap
servers:
  binding:
    user_dn: cn=binder,dc=acme,dc=org
  client_cert_file: /path/to/ssl/cert.pem
  client_key_file: /path/to/ssl/key.pem
  group_search:
    attribute: member
    base_dn: dc=acme,dc=org
    name_attribute': cn
    object_class: groupOfNames
  host: 127.0.0.1
  insecure: 'False'
  port: '636'
  security: tls
  trusted_ca_file: /path/to/trusted-certificate-authorities.pem
  user_search:
    attribute: uid
    base_dn: dc=acme,dc=org
    name_attribute: cn
    object_class: person
username_prefix: ldap