DBAtlas · Atlas d'exploitation des bases de données

Créer un utilisateur et accorder des privilèges

Oracle

CREATE USER app IDENTIFIED BY "Strong#Pass1";
GRANT CREATE SESSION TO app;
GRANT SELECT, INSERT, UPDATE ON hr.employee TO app;

Sans CREATE SESSION, l'utilisateur ne peut pas se connecter. Pour un quota : ALTER USER app QUOTA 100M ON users;

PostgreSQL

CREATE ROLE app LOGIN PASSWORD 'Strong#Pass1';
GRANT CONNECT ON DATABASE mydb TO app;
GRANT USAGE ON SCHEMA public TO app;
GRANT SELECT, INSERT, UPDATE ON ALL TABLES IN SCHEMA public TO app;

Pour les tables créées à l'avenir : ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO app;

MySQL

CREATE USER 'app'@'%' IDENTIFIED BY 'Strong#Pass1';
GRANT SELECT, INSERT, UPDATE ON mydb.* TO 'app'@'%';

'%' autorise les connexions depuis n'importe quel hôte ; pour la sécurité, indiquez si possible une IP/un hôte précis. CREATE USER/GRANT prennent effet immédiatement ; FLUSH PRIVILEGES n'est nécessaire que si du DML a été exécuté directement sur les tables de droits.

SQL Server

CREATE LOGIN app WITH PASSWORD = 'Strong#Pass1';
USE mydb;
CREATE USER app FOR LOGIN app;
GRANT SELECT, INSERT, UPDATE ON SCHEMA::dbo TO app;

Un login est valable pour tout le serveur ; un user est créé séparément dans chaque base. Pour un rôle : ALTER ROLE db_datareader ADD MEMBER app;

MongoDB

db.createUser({
  user: "app",
  pwd: "Strong#Pass1",
  roles: [ { role: "readWrite", db: "mydb" } ]
})

La base dans laquelle l'utilisateur est créé devient sa base d'authentification. Rôles intégrés : read, readWrite, dbAdmin, clusterAdmin...

Redis

ACL SETUSER app on >Strong#Pass1 ~app:* +@read +@write
# To persist: ACL SAVE if an aclfile is defined, otherwise CONFIG REWRITE (users are written to redis.conf)

on = activé, >password ajoute un mot de passe, ~app:* est le motif de clés, +@read/+@write sont des catégories de commandes. Sans persistance, tout est perdu au redémarrage : ACL SAVE ne fonctionne que si un aclfile est configuré et renvoie une erreur sinon ; dans ce cas, utilisez CONFIG REWRITE.

Ouvrir dans DBAtlas →