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

  1. Nel portale di Azure, accedi usando un account Proprietario e naviga fino al tuo ID Microsoft Entra.

  2. In Gestisci 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
    • 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

  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 selezionare Assegnazioni di ruolo. Holly Rees non viene visualizzata nell'elenco.
  3. Selezionare + Aggiungi e quindi 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 Rivedi + Assegna.

Testare il ruolo Lettore

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

Assegnare il ruolo Collaboratore

  1. In alto a destra nel portale di Azure selezionare Account utente di Holly e quindi disconnettersi.
  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 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 Rivedi + Assegna.
  8. Selezionare Assegnazioni di ruolo. Holly Rees dispone ora di assegnazioni per i ruoli Lettore e Collaboratore.

Testare il ruolo Collaboratore

  1. In alto a destra nel portale di Azure selezionare l'account utente e quindi disconnettersi.
  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. In alto a destra nel portale di Azure selezionare Account utente di Holly e quindi disconnettersi.
  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. Verranno 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. Dovresti vedere l'utente dbuser@% elencato.

  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 scegliere Gestisci connessioni dal menu Database.

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

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

  4. Accanto a Password selezionare Store in Vault.

  5. Nella casella di testo Password digitare Pa$$w 0rd e quindi selezionare OK.

    Screenshot che mostra il nuovo account utente nella finestra di dialogo Gestisci connessioni in MySQL Workbench.

  6. Selezionare Test connessione. Se la connessione ha esito positivo, selezionareOK e quindi chiudi.

  7. Scegliere Connetti al database dal menu Database.

  8. Nella finestra di dialogo Connetti al database selezionare la nuova connessione e quindi selezionare 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.