Ćwiczenie: Konfigurowanie uprawnień w programie MySQL

Ukończone

W tych ćwiczeniach laboratoryjnych przypiszesz role kontroli dostępu opartej na rolach w celu kontrolowania dostępu do zasobów usługi Azure Database for MySQL i programu MySQL GRANT w celu kontrolowania dostępu do operacji bazy danych.

Ważne

Do wykonania tego ćwiczenia potrzebna jest własna subskrypcja platformy Azure. Jeśli nie masz subskrypcji platformy Azure, utwórz bezpłatną wersję próbną platformy Azure.

Aby wykonać te ćwiczenia, musisz mieć następujące elementy:

  • Utworzono grupę zasobów (zobacz Moduł 1, Lekcja 5).
  • Utworzono serwer elastyczny usługi Azure Database for MySQL (zobacz moduł 1, lekcja 5).
  • Pobrano i zainstalowano aplikację MySQL Workbench (zobacz moduł 2, lekcja 5).
  • Utworzono bazę danych zoodb (zobacz Moduł 2, Lekcja 5).

Napiwek

Jeśli serwer usługi Azure Database for MySQL został zatrzymany po ukończeniu ostatniego laboratorium, uruchom go teraz ponownie.

Tworzenie nowego konta użytkownika w identyfikatorze Entra firmy Microsoft

  1. W witrynie Azure Portal zaloguj się przy użyciu konta właściciela i przejdź do swojego identyfikatora Entra firmy Microsoft.

  2. W obszarze Zarządzanie wybierz pozycję Użytkownicy.

  3. W lewym górnym rogu wybierz pozycję Nowy użytkownik , a następnie wybierz pozycję Utwórz nowego użytkownika.

  4. Na stronie Nowy użytkownik wprowadź następujące szczegóły, a następnie wybierz pozycję Utwórz:

    • Nazwa użytkownika: Holly
    • Nazwa: Holly Rees
    • Hasło: wybierz pozycję Pozwól mi utworzyć hasło , a następnie wpisz Pa$$w 0rd.

    Napiwek

    Po utworzeniu użytkownika zanotuj pełną nazwę główną użytkownika, aby móc później się zalogować.

Przypisywanie roli Czytelnik

  1. W witrynie Azure Portal wybierz pozycję Wszystkie zasoby, a następnie wybierz zasób usługi Azure Database for MySQL.
  2. Wybierz pozycję Kontrola dostępu (zarządzanie dostępem i tożsamościami), a następnie wybierz pozycję Przypisania ról. Holly Rees nie pojawia się na liście.
  3. Wybierz pozycję + Dodaj , a następnie wybierz pozycję Dodaj przypisanie roli.
  4. Wybierz rolę Czytelnik, a następnie wybierz pozycję Dalej.
  5. Dodaj aplikację Holly Rees do listy członków, a następnie wybierz pozycję Dalej.
  6. Wybierz pozycję Przejrzyj i przypisz.

Testowanie roli Czytelnik

  1. W prawym górnym rogu witryny Azure Portal wybierz konto użytkownika, a następnie wybierz pozycję Wyloguj.
  2. Zaloguj się jako nowy użytkownik, podając główną nazwę użytkownika i hasło Pa$$w 0rd. Zastąp hasło domyślne, jeśli zostanie wyświetlony monit i zanotuj nowe.
  3. Na stronie głównej portalu wybierz pozycję Wszystkie zasoby, a następnie wybierz zasób usługi Azure Database for MySQL.
  4. Wybierz pozycję Zatrzymaj. Zostanie wyświetlony błąd, ponieważ rola Czytelnik umożliwia wyświetlanie zasobu, ale nie zmienia go.

Przypisywanie roli Współautor

  1. W prawym górnym rogu witryny Azure Portal wybierz pozycję Konto użytkownika Holly, a następnie wybierz pozycję Wyloguj.
  2. Zaloguj się przy użyciu oryginalnego konta właściciela.
  3. Przejdź do zasobu usługi Azure Database for MySQL, a następnie wybierz pozycję Kontrola dostępu (IAM).
  4. Wybierz pozycję + Dodaj , a następnie wybierz pozycję Dodaj przypisanie roli.
  5. Wybierz rolę Współautor, a następnie wybierz pozycję Dalej.
  6. Dodaj aplikację Holly Rees do listy członków, a następnie wybierz pozycję Dalej.
  7. Wybierz pozycję Przejrzyj i przypisz.
  8. Wybierz pozycję Przypisania ról. Holly Rees ma teraz przypisania zarówno dla ról czytelnika, jak i współautora.

Testowanie roli Współautor

  1. W prawym górnym rogu witryny Azure Portal wybierz konto użytkownika, a następnie wybierz pozycję Wyloguj.
  2. Zaloguj się jako Holly Rees, podając główną nazwę użytkownika i hasło, które zanotowano.
  3. Na stronie głównej portalu wybierz pozycję Wszystkie zasoby, a następnie wybierz zasób usługi Azure Database for MySQL.
  4. Wybierz pozycję Zatrzymaj , a następnie wybierz pozycję Tak. Tym razem serwer zatrzymuje się bez błędów, ponieważ Holly ma przypisaną niezbędną rolę.
  5. Wybierz pozycję Rozpocznij , aby upewnić się, że zasób MySQL jest gotowy do następnych kroków.
  6. W prawym górnym rogu witryny Azure Portal wybierz pozycję Konto użytkownika Holly, a następnie wybierz pozycję Wyloguj.
  7. Zaloguj się przy użyciu oryginalnego konta właściciela.

UDZIELANIE dostępu do usługi Azure Database for MySQL

  1. Otwórz aplikację MySQL Workbench i połącz się z serwerem usługi Azure Database for MySQL.

  2. W okienku zapytania wykonaj ten kod. Należy zwrócić sześć kont użytkowników, w tym konto demonstracyjne używane do nawiązywania połączenia:

     SELECT user, host FROM mysql.user;
    
  3. Aby utworzyć nowego użytkownika, wykonaj ten kod

     CREATE USER 'dbuser'@'%' IDENTIFIED BY 'Pa$$w0rd';
    
  4. Aby wyświetlić listę nowego użytkownika, ponownie wykonaj powyższe zapytanie SELECT. Powinien zostać wyświetlony użytkownik dbuser@% na liście.

  5. Aby umożliwić nowemu użytkownikowi wykonywanie zapytań i modyfikowanie danych we wszystkich tabelach w bazie danych zoodb , wykonaj następujący kod:

     GRANT SELECT, INSERT, UPDATE, DELETE ON zoodb.* TO 'dbuser'@'%';
     FLUSH PRIVILEGES;
    

Testowanie nowego użytkownika

  1. W aplikacji MySQL Workbench w menu Baza danych wybierz pozycję Zarządzaj Połączenie ions.

  2. Wybierz istniejące połączenie z usługą Azure Database for MySQL, a następnie wybierz pozycję Duplikuj.

  3. W zduplikowanym połączeniu w polu tekstowym Nazwa użytkownika wpisz dbuser.

  4. Obok pozycji Hasło wybierz pozycję Zapisz w magazynie.

  5. W polu tekstowym Hasło wpisz Pa$$w 0rd , a następnie wybierz przycisk OK.

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

  6. Wybierz pozycję Testuj połączenie. Jeśli połączenie zakończy się pomyślnie, wybierz przycisk OK , a następnie wybierz pozycję Zamknij.

  7. W menu Baza danych wybierz pozycję Połączenie do pozycji Baza danych.

  8. W oknie dialogowym Połączenie do bazy danych wybierz nowe połączenie, a następnie wybierz pozycję Połączenie.

  9. Aby sprawdzić, czy masz uprawnienie SELECT, w oknie zapytania wykonaj następujący kod:

     SELECT * FROM animal;
    
  10. Aby sprawdzić, czy masz uprawnienie UPDATE, wykonaj następujący kod:

     UPDATE animal SET Name = "Linda Lioness" WHERE AnimalID = "6";
     SELECT * FROM animal;
    
  11. Aby sprawdzić, czy masz uprawnienie DROP, wykonaj ten kod. Jeśli wystąpi błąd, sprawdź kod błędu:

     DROP TABLE animal;
    
  12. Aby sprawdzić, czy masz uprawnienie GRANT, wykonaj następujący kod:

     GRANT ALL PRIVILEGES ON zoodb.* TO 'dbuser'@'%';
    

Te testy pokazują, że nowy użytkownik może wykonywać polecenia języka DML (Data Manipulation Language) w celu wykonywania zapytań i modyfikowania danych, ale nie może używać poleceń języka DDL (Data Definition Language), aby zmienić schemat. Ponadto nowy użytkownik nie może przyznać żadnych nowych uprawnień w celu obejścia uprawnień.