salt.auth.mysql

Provide authentication using MySQL.

When using MySQL as an authentication backend, you will need to create or use an existing table that has a username and a password column.

To get started, create a simple table that holds just a username and a password. The password field will hold a SHA256 checksum.

CREATE TABLE users (
id int(11) NOT NULL AUTO_INCREMENT, username varchar(25) DEFAULT NULL, password varchar(70) DEFAULT NULL, PRIMARY KEY (id)

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

To create a user within MySQL, execute the following statement.

INSERT INTO users VALUES (NULL, 'diana', SHA2('secret', 256))

mysql_auth:
hostname: localhost database: SaltStack username: root password: letmein auth_sql: 'SELECT username FROM users WHERE username = "{0}" AND password = SHA2("{1}", 256)'

The auth_sql contains the SQL that will validate a user to ensure they are correctly authenticated. This is where you can specify other SQL queries to authenticate users.

Enable MySQL authentication.

external_auth:
  mysql:
    damian:
      - test.*
depends:
  • MySQL-python Python module
salt.auth.mysql.auth(username, password)

Authenticate using a MySQL user table

Docs for previous releases are available on readthedocs.org.

Latest Salt release: 2015.5.1

Previous topic

salt.auth.ldap

Next topic

salt.auth.pam