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
-
Authenticate using a MySQL user table
salt.auth.mysql.auth(username, password)
© 2021 SaltStack.
Licensed under the Apache License, Version 2.0.
https://docs.saltproject.io/en/latest/ref/auth/all/salt.auth.mysql.html