Esercizio - Configurare le autorizzazioni in MySQL

Completato

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

  1. Nel portale di Azure accedere usando un account Proprietario e passare a Microsoft Entra ID.

  2. In Gestione, selezionare Utenti.

  3. In alto a sinistra selezionare Nuovo utente e quindi Crea nuovo utente.

  4. 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

  1. Nel portale di Azure selezionare Tutte le risorse e quindi selezionare la risorsa Database di Azure per MySQL.
  2. Selezionare Controllo di accesso (IAM) e quindi Assegnazioni di ruolo. Holly Rees non viene visualizzata nell'elenco.
  3. Selezionare + Aggiungi e quindi selezionare Aggiungi assegnazione di ruolo.
  4. Selezionare il ruolo Lettore e quindi selezionare Avanti.
  5. Aggiungere Holly Rees all'elenco dei membri e quindi selezionare Avanti.
  6. Selezionare Review + assign (Rivedi e assegna).

Testare il ruolo Lettore

  1. Nell'angolo in alto a destra del portale di Azure selezionare l'account utente e quindi selezionare Disconnetti.
  2. 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.
  3. Nella home page del portale selezionare Tutte le risorse e quindi selezionare la risorsa Database di Azure per MySQL.
  4. Selezionare Interrompi. Viene visualizzato un errore, poiché il ruolo Lettore consente di visualizzare la risorsa ma non di modificarla.

Assegnare il ruolo Collaboratore

  1. Nell'angolo in alto a destra del portale di Azure selezionare l'account utente di Holly e quindi selezionare Disconnetti.
  2. Accedere usando l'account Proprietario originale.
  3. Passare alla risorsa Database di Azure per MySQL e quindi selezionare Controllo di accesso (IAM).
  4. Selezionare + Aggiungi e quindi selezionare Aggiungi assegnazione di ruolo.
  5. Selezionare il ruolo Collaboratore e quindi selezionare Avanti.
  6. Aggiungere Holly Rees all'elenco dei membri e quindi selezionare Avanti.
  7. Selezionare Review + assign (Rivedi e assegna).
  8. Selezionare Assegnazioni di ruoli. Holly Rees dispone ora di assegnazioni per i ruoli Lettore e Collaboratore.

Testare il ruolo Collaboratore

  1. Nell'angolo in alto a destra del portale di Azure selezionare l'account utente e quindi selezionare Disconnetti.
  2. Accedere come Holly Rees, con il nome dell'entità utente e la password annotati.
  3. Nella home page del portale selezionare Tutte le risorse e quindi selezionare la risorsa Database di Azure per MySQL.
  4. Selezionare Arresta e quindi . Questa volta il server si arresta senza errori perché Holly ha il ruolo necessario assegnato.
  5. Selezionare Avvia per assicurarsi che la risorsa MySQL sia pronta per i passaggi successivi.
  6. Nell'angolo in alto a destra del portale di Azure selezionare l'account utente di Holly e quindi selezionare Disconnetti.
  7. Accedere usando l'account Proprietario originale.

Concedere l'accesso a Database MySQL di Azure con GRANT

  1. Aprire MySQL Workbench e connettersi al server di Database di Azure per MySQL.

  2. 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;
    
  3. Per creare un nuovo utente, eseguire questo codice

     CREATE USER 'dbuser'@'%' IDENTIFIED BY 'Pa$$w0rd';
    
  4. Per elencare il nuovo utente, eseguire nuovamente la query SELECT precedente. Nell'elenco verrà visualizzato l'utente dbuser@%.

  5. 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

  1. In MySQL Workbench selezionare Gestisci connessioni nel menu Database.

  2. Selezionare la connessione esistente a Database di Azure per MySQL e quindi selezionare Duplica.

  3. Nella casella di testo Nome utente della connessione duplicata digitare dbuser.

  4. Accanto a Password selezionare Store in Vault.

  5. Nella casella di testo Password digitare Pa$$w0rd, quindi selezionare OK.

    Screenshot showing the new user account in the Manage Connections dialog in MySQL Workbench.

  6. Selezionare Test connessione. Se la connessione riesce, selezionare OK e quindi Chiudi.

  7. Selezionare Connetti al database nel menu Database.

  8. Nella finestra di dialogo Connetti al database selezionare la nuova connessione e quindi Connetti.

  9. Per verificare se si dispone del privilegio SELECT, nella finestra di query eseguire questo codice:

     SELECT * FROM animal;
    
  10. Per verificare se si dispone del privilegio UPDATE, eseguire questo codice:

     UPDATE animal SET Name = "Linda Lioness" WHERE AnimalID = "6";
     SELECT * FROM animal;
    
  11. Per verificare se si dispone del privilegio DROP, eseguire questo codice. Se si verifica un errore, esaminare il codice di errore:

     DROP TABLE animal;
    
  12. 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.