MariaDB starting with 10.0.5

I ruoli sono stati introdotti in MariaDB 10.0.5.

I ruoli legano insieme un certo numero di privilegi. Aiutano le grandi organizzazioni dove, generalmente, un certo numero di utenti dispone degli stessi privilegi e, precedentemente, l'unico modo per modificare i privilegi di un gruppo di utenti era modificarli individualmente.

In alternativa, è possibile assegnare a più persone lo stesso utente, ma in questo modo non è possibile vedere quale utente è effettivamente responsabile di una certa azione.

Con i ruoli, l'amministrazione è più semplice. Per esempio, ad alcuni utenti potrebbe essere assegnato un ruolo giornalista, con gli stessi privilegi. Per modificare i diritti dei giornalisti sarà sufficiente modificare i privilegi del ruolo, mente i singoli utenti sono ancora legati ad ogni cambiamento da loro effettuato.

Per creare i ruoli si usa l'istruzione CREATE ROLE e per eliminarli si usa DROP-ROLE. E' possibile assegnarli agli utenti tramite un'estensione dell'istruzione GRANT, mentre i permessi possono essere assegnati con una normale GRANT. Similarmente, con REVOKE è possibile revocare un ruolo ad un utente, o revocare un permesso da un ruolo.

Una volta coonnesso, un utente può attivare un ruolo con l'istruzione SET ROLE, mentre la funzione CURRENT_ROLE restituisce il ruolo attivo per la sessione corrente, se esiste.

I ruoli sono stati implementati come progetto di GSoC 2013 da Vicentiu Ciorbaru.

Esempi

Creare un ruolo e assegnare un permesso:

CREATE ROLE journalist;

GRANT SHOW DATABASES ON *.* TO journalist;

GRANT journalist to hulda;

L'utente hulda imposta un ruolo per la sessione corrente per poter acquisire i permessi:

SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+

SELECT CURRENT_ROLE;
+--------------+
| CURRENT_ROLE |
+--------------+
| NULL         |
+--------------+

SET ROLE journalist;

SELECT CURRENT_ROLE;
+--------------+
| CURRENT_ROLE |
+--------------+
| journalist   |
+--------------+

SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| ...                |
| information_schema |
| mysql              |
| performance_schema |
| test               |
| ...                |
+--------------------+

SET ROLE NONE;

Altre risorse

Commenti

Sto caricando i commenti......