Esercizio - Configurare le autorizzazioni in MySQL
Negli esercizi di questo lab si assegnano ruoli Controllo degli accessi in base al ruolo per controllare l'accesso alle risorse Database di Azure per MySQL e GRANT MySQL per controllare l'accesso alle operazioni del database.
Importante
Per completare l'esercizio è necessario avere una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare una versione di prova gratuita di Azure.
Per completare questi esercizi, è necessario:
- Creazione di un gruppo di risorse (vedere Modulo 1, Unità 5).
- Creazione di un server flessibile di Database di Azure per MySQL (vedere Modulo 1, Unità 5).
- Download e installazione di MySQL Workbench (vedere Modulo 2, Unità 5).
- Creazione del database zoodb (vedere Modulo 2, Unità 5).
Suggerimento
Se il server di Database di Azure per MySQL è stato arrestato dopo aver completato l'ultimo lab, riavviarlo ora.
Creare un nuovo account utente in Microsoft Entra ID
Nel portale di Azure accedere usando un account Proprietario e passare a Microsoft Entra ID.
In Gestione, selezionare Utenti.
In alto a sinistra selezionare Nuovo utente e quindi Crea nuovo utente.
Nella pagina Nuovo utente immettere questi dettagli e quindi selezionare Crea:
- Nome utente: Holly
- Nome: Holly Rees
- Password: selezionare Consenti creazione password e quindi digitare Pa$$w0rd.
Suggerimento
Quando l'utente viene creato, prendere nota del nome dell'entità utente completo in modo che sia possibile usarlo in un secondo momento per accedere.
Assegnare il ruolo Lettore
- Nel portale di Azure selezionare Tutte le risorse e quindi selezionare la risorsa Database di Azure per MySQL.
- Selezionare Controllo di accesso (IAM) e quindi Assegnazioni di ruolo. Holly Rees non viene visualizzata nell'elenco.
- Selezionare + Aggiungi e quindi selezionare Aggiungi assegnazione di ruolo.
- Selezionare il ruolo Lettore e quindi selezionare Avanti.
- Aggiungere Holly Rees all'elenco dei membri e quindi selezionare Avanti.
- Selezionare Review + assign (Rivedi e assegna).
Testare il ruolo Lettore
- Nell'angolo in alto a destra del portale di Azure selezionare l'account utente e quindi selezionare Disconnetti.
- Accedere come nuovo utente, con il nome dell'entità utente annotato e la password Pa$$w0rd. Sostituire la password predefinita se viene richiesto di prendere nota di quella nuova.
- Nella home page del portale selezionare Tutte le risorse e quindi selezionare la risorsa Database di Azure per MySQL.
- Selezionare Interrompi. Viene visualizzato un errore, poiché il ruolo Lettore consente di visualizzare la risorsa ma non di modificarla.
Assegnare il ruolo Collaboratore
- Nell'angolo in alto a destra del portale di Azure selezionare l'account utente di Holly e quindi selezionare Disconnetti.
- Accedere usando l'account Proprietario originale.
- Passare alla risorsa Database di Azure per MySQL e quindi selezionare Controllo di accesso (IAM).
- Selezionare + Aggiungi e quindi selezionare Aggiungi assegnazione di ruolo.
- Selezionare il ruolo Collaboratore e quindi selezionare Avanti.
- Aggiungere Holly Rees all'elenco dei membri e quindi selezionare Avanti.
- Selezionare Review + assign (Rivedi e assegna).
- Selezionare Assegnazioni di ruoli. Holly Rees dispone ora di assegnazioni per i ruoli Lettore e Collaboratore.
Testare il ruolo Collaboratore
- Nell'angolo in alto a destra del portale di Azure selezionare l'account utente e quindi selezionare Disconnetti.
- Accedere come Holly Rees, con il nome dell'entità utente e la password annotati.
- Nella home page del portale selezionare Tutte le risorse e quindi selezionare la risorsa Database di Azure per MySQL.
- Selezionare Arresta e quindi Sì. Questa volta il server si arresta senza errori perché Holly ha il ruolo necessario assegnato.
- Selezionare Avvia per assicurarsi che la risorsa MySQL sia pronta per i passaggi successivi.
- Nell'angolo in alto a destra del portale di Azure selezionare l'account utente di Holly e quindi selezionare Disconnetti.
- Accedere usando l'account Proprietario originale.
Concedere l'accesso a Database MySQL di Azure con GRANT
Aprire MySQL Workbench e connettersi al server di Database di Azure per MySQL.
Nel riquadro query eseguire questo codice. Dovrebbero essere restituiti sei account utente, incluso l'account demo che si sta usando per connettersi:
SELECT user, host FROM mysql.user;
Per creare un nuovo utente, eseguire questo codice
CREATE USER 'dbuser'@'%' IDENTIFIED BY 'Pa$$w0rd';
Per elencare il nuovo utente, eseguire nuovamente la query SELECT precedente. Nell'elenco verrà visualizzato l'utente dbuser@%.
Per consentire al nuovo utente di eseguire query e modificare i dati in tutte le tabelle del database zoodb, eseguire questo codice:
GRANT SELECT, INSERT, UPDATE, DELETE ON zoodb.* TO 'dbuser'@'%'; FLUSH PRIVILEGES;
Testare il nuovo utente
In MySQL Workbench selezionare Gestisci connessioni nel menu Database.
Selezionare la connessione esistente a Database di Azure per MySQL e quindi selezionare Duplica.
Nella casella di testo Nome utente della connessione duplicata digitare dbuser.
Accanto a Password selezionare Store in Vault.
Nella casella di testo Password digitare Pa$$w0rd, quindi selezionare OK.
Selezionare Test connessione. Se la connessione riesce, selezionare OK e quindi Chiudi.
Selezionare Connetti al database nel menu Database.
Nella finestra di dialogo Connetti al database selezionare la nuova connessione e quindi Connetti.
Per verificare se si dispone del privilegio SELECT, nella finestra di query eseguire questo codice:
SELECT * FROM animal;
Per verificare se si dispone del privilegio UPDATE, eseguire questo codice:
UPDATE animal SET Name = "Linda Lioness" WHERE AnimalID = "6"; SELECT * FROM animal;
Per verificare se si dispone del privilegio DROP, eseguire questo codice. Se si verifica un errore, esaminare il codice di errore:
DROP TABLE animal;
Per verificare se si dispone del privilegio GRANT, eseguire questo codice:
GRANT ALL PRIVILEGES ON zoodb.* TO 'dbuser'@'%';
Questi test illustrano che il nuovo utente può eseguire comandi DML (Data Manipulation Language) per eseguire query e modificare i dati, ma non può usare i comandi DDL (Data Definition Language) per modificare lo schema. Inoltre, il nuovo utente non può CONCEDERE nuovi privilegi per aggirare le autorizzazioni.