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 valutazione 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, accedi usando un account Proprietario e naviga fino al tuo ID Microsoft Entra.
In Gestisci 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
- Parola d’ordine: Selezionare Consenti la creazione della password e quindi digitare Pa$$w 0rd.
Suggerimento
Quando l'utente viene creato, prendete nota del nome principale utente completo in modo che sia possibile utilizzarlo in un secondo momento per eseguire l'accesso.
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 selezionare Assegnazioni di ruolo. Holly Rees non viene visualizzata nell'elenco.
- Selezionare + Aggiungi e quindi Aggiungi assegnazione di ruolo.
- Selezionare il ruolo Lettore e quindi selezionare Avanti.
- Aggiungere Holly Rees all'elenco dei membri e quindi selezionare Avanti.
- Selezionare Rivedi + Assegna.
Testare il ruolo Lettore
- In alto a destra nel portale di Azure selezionare l'account utente e quindi disconnettersi.
- Effettua l'accesso come nuovo utente, utilizzando il nome principale utente che hai 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 Arresta. Viene visualizzato un errore, poiché il ruolo Lettore consente di visualizzare la risorsa ma non di modificarla.
Assegnare il ruolo Collaboratore
- In alto a destra nel portale di Azure selezionare Account utente di Holly e quindi disconnettersi.
- 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 Aggiungi assegnazione di ruolo.
- Selezionare il ruolo Collaboratore e quindi selezionare Avanti.
- Aggiungere Holly Rees all'elenco dei membri e quindi selezionare Avanti.
- Selezionare Rivedi + Assegna.
- Selezionare Assegnazioni di ruolo. Holly Rees dispone ora di assegnazioni per i ruoli Lettore e Collaboratore.
Testare il ruolo Collaboratore
- In alto a destra nel portale di Azure selezionare l'account utente e quindi disconnettersi.
- 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.
- In alto a destra nel portale di Azure selezionare Account utente di Holly e quindi disconnettersi.
- 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. Verranno 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. Dovresti vedere l'utente dbuser@% elencato.
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 scegliere Gestisci connessioni dal menu Database.
Selezionare la connessione esistente a Database di Azure per MySQL e quindi selezionare Duplica.
Nella casella di testo Username (Nome utente ) della connessione duplicata digitare dbuser.
Accanto a Password selezionare Store in Vault.
Nella casella di testo Password digitare Pa$$w 0rd e quindi selezionare OK.
Selezionare Test connessione. Se la connessione ha esito positivo, selezionareOK e quindi chiudi.
Scegliere Connetti al database dal menu Database.
Nella finestra di dialogo Connetti al database selezionare la nuova connessione e quindi selezionare 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.