Exercício: Configurar permissões no MySQL

Concluído

Nesses exercícios de laboratório, você atribuirá funções RBAC para controlar o acesso aos recursos do Banco de Dados do Azure para MySQL e ao MySQL GRANTS para controlar o acesso às operações do banco de dados.

Importante

Você precisa de sua própria assinatura do Azure para concluir este exercício. Se você não tiver uma assinatura do Azure, crie uma avaliação gratuita do Azure.

Para completar estes exercícios, você deve ter:

  • Criou um grupo de recursos (ver Módulo 1, Unidade 5).
  • Criou um Banco de Dados do Azure para o Servidor Flexível MySQL (consulte Módulo 1, Unidade 5).
  • Baixado e instalado o MySQL Workbench (consulte Módulo 2, Unidade 5).
  • Criação da base de dados zoodb (ver Módulo 2, Unidade 5).

Gorjeta

Se você parou seu banco de dados do Azure para o servidor MySQL depois de concluir o último laboratório, reinicie-o agora.

Criar uma nova conta de utilizador no Microsoft Entra ID

  1. No portal do Azure, entre usando uma conta de Proprietário e navegue até sua ID do Microsoft Entra.

  2. Em Gerir, selecione Utilizadores.

  3. No canto superior esquerdo, selecione Novo usuário e, em seguida, selecione Criar novo usuário.

  4. Na página Novo utilizador, introduza estes detalhes e, em seguida, selecione Criar:

    • Nome de usuário: Holly
    • Nome: Holly Rees
    • Senha: Selecione Deixe-me criar senha e digite Pa$$w 0rd.

    Gorjeta

    Quando o usuário for criado, anote o nome principal completo do usuário para que você possa usá-lo mais tarde para fazer login.

Atribuir a função de Leitor

  1. No portal do Azure, selecione Todos os recursos e, em seguida, selecione o recurso Banco de Dados do Azure para MySQL.
  2. Selecione Controle de acesso (IAM) e, em seguida, selecione Atribuições de função. Holly Rees não aparece na lista.
  3. Selecione + Adicionar e, em seguida, selecione Adicionar atribuição de função.
  4. Selecione a função Leitor e, em seguida, selecione Avançar.
  5. Adicione Holly Rees à lista de membros e selecione Avançar.
  6. Selecione Rever + Atribuir.

Testar a função Leitor

  1. No canto superior direito do portal do Azure, selecione a sua conta de utilizador e, em seguida, selecione Terminar sessão.
  2. Faça login como o novo usuário, com o nome principal do usuário que você anotou e a senha Pa$$w 0rd. Substitua a senha padrão se for solicitado e anote a nova.
  3. Na home page do portal, selecione Todos os recursos e, em seguida, selecione o recurso Banco de Dados do Azure para MySQL.
  4. Selecione Parar. Um erro é exibido, porque a função Leitor permite que você veja o recurso, mas não o altere.

Atribuir a função de Colaborador

  1. No canto superior direito do portal do Azure, selecione a conta de utilizador da Holly e, em seguida, selecione Terminar sessão.
  2. Inicie sessão com a sua conta de Proprietário original.
  3. Navegue até o recurso Banco de Dados do Azure para MySQL e selecione Controle de Acesso (IAM).
  4. Selecione + Adicionar e, em seguida, selecione Adicionar atribuição de função.
  5. Selecione a função de Colaborador e, em seguida, selecione Avançar.
  6. Adicione Holly Rees à lista de membros e selecione Avançar.
  7. Selecione Rever + Atribuir.
  8. Selecione Atribuições de função. Holly Rees agora tem atribuições para as funções de Leitor e Colaborador.

Testar a função de Colaborador

  1. No canto superior direito do portal do Azure, selecione a sua conta de utilizador e, em seguida, selecione Terminar sessão.
  2. Faça login como Holly Rees, com o nome principal do usuário e a senha que você anotou.
  3. Na home page do portal, selecione Todos os recursos e, em seguida, selecione o recurso Banco de Dados do Azure para MySQL.
  4. Selecione Parar e, em seguida, selecione Sim. Desta vez, o servidor para sem erros porque Holly tem a função necessária atribuída.
  5. Selecione Iniciar para garantir que o recurso MySQL esteja pronto para as próximas etapas.
  6. No canto superior direito do portal do Azure, selecione a conta de utilizador da Holly e, em seguida, selecione Terminar sessão.
  7. Inicie sessão com a sua conta de Proprietário original.

CONCEDER acesso ao Banco de Dados do Azure para MySQL

  1. Abra o MySQL Workbench e conecte-se ao seu banco de dados do Azure para o servidor MySQL.

  2. No painel de consulta, execute este código. Seis contas de usuário devem ser devolvidas, incluindo a conta demo que você está usando para se conectar:

     SELECT user, host FROM mysql.user;
    
  3. Para criar um novo usuário, execute este código

     CREATE USER 'dbuser'@'%' IDENTIFIED BY 'Pa$$w0rd';
    
  4. Para listar o novo usuário, execute a consulta SELECT acima novamente. Você deve ver o usuário de dbuser@% listado.

  5. Para permitir que o novo usuário consulte e modifique dados em todas as tabelas no banco de dados zoodb , execute este código:

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

Testar o novo usuário

  1. No MySQL Workbench, no menu Banco de dados , selecione Gerenciar conexões.

  2. Selecione a conexão existente com o Banco de Dados do Azure para MySQL e selecione Duplicar.

  3. Na conexão duplicada, na caixa de texto Nome de usuário, digite dbuser.

  4. Ao lado de Senha, selecione Armazenar no Vault.

  5. Na caixa de texto Senha, digite Pa$$w 0rd e selecione OK.

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

  6. Selecione Testar Ligação. Se a conexão for bem-sucedida, selecione OK e, em seguida, selecione Fechar.

  7. No menu Banco de Dados, selecione Conectar ao Banco de Dados.

  8. Na caixa de diálogo Conectar ao Banco de Dados, selecione a nova conexão e selecione Conectar.

  9. Para testar se você tem o privilégio SELECT, na janela de consulta, execute este código:

     SELECT * FROM animal;
    
  10. Para testar se você tem o privilégio UPDATE, execute este código:

     UPDATE animal SET Name = "Linda Lioness" WHERE AnimalID = "6";
     SELECT * FROM animal;
    
  11. Para testar se você tem o privilégio DROP, execute este código. Se houver um erro, examine o código de erro:

     DROP TABLE animal;
    
  12. Para testar se você tem o privilégio GRANT, execute este código:

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

Esses testes demonstram que o novo usuário pode executar comandos DML (Data Manipulation Language) para consultar e modificar dados, mas não pode usar comandos DDL (Data Definition Language) para alterar o esquema. Além disso, o novo usuário não pode CONCEDER novos privilégios para contornar as permissões.