Creación de usuarios en Azure Database for MySQL
En este artículo se describe la creación de nuevas cuentas de usuario para interactuar con un servidor de Azure Database for MySQL.
Nota:
En este artículo se hace referencia al término esclavo, un término que Microsoft ya no usa. Cuando se elimine el término del software, se eliminará también de este artículo.
Ha proporcionado un nombre de usuario y una contraseña de administrador del servidor al crear el servidor de Azure Database for MySQL. Para obtener más información, consulte el Inicio rápido. Puede determinar el nombre del usuario administrador del servidor en Azure Portal.
El usuario administrador del servidor tiene estos privilegios:
SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER
Una vez creado el servidor de Azure Database for MySQL, puede usar la primera cuenta de usuario administrador del servidor para crear más usuarios y concederles acceso de administrador. Además, la cuenta de administrador del servidor puede usarse para crear usuarios con menos privilegios que tengan acceso a esquemas de base de datos individuales.
Nota
El privilegio SUPER y el rol DBA no se admiten. Revise los privilegios en el artículo que trata sobre las limitaciones para saber lo que no se admite en el servicio.
El servicio no admite complementos de contraseña como validate_password
y caching_sha2_password
.
Crear una base de datos
Obtenga la información de conexión y el nombre de usuario administrador.
Para conectarse al servidor de bases de datos, es preciso utilizar el nombre completo del servidor y las credenciales de inicio de sesión de administrador. Tanto el nombre del servidor como la información de inicio de sesión del mismo se pueden encontrar con facilidad en la Introducción del servidor o en la página Propiedades de Azure Portal.
Use la cuenta y la contraseña de administrador para conectarse a su servidor de base de datos. Use su herramienta de cliente preferida, MySQL Workbench, mysql.exe, HeidiSQL u otras.
Modifique y ejecute el siguiente código SQL. Reemplace el valor
db_user
del marcador de posición por el nuevo nombre de usuario de vaya a usar. Reemplace el valortestdb
del marcador de posición por el nuevo nombre de base de datos que vaya a usar.
Este código SQL crea una nueva base de datos denominada testdb. A continuación, se crea un nuevo usuario en el servicio MySQL y le concede todos los privilegios al nuevo esquema de base de datos (testdb.*).
CREATE DATABASE testdb;
Crear un usuario que no sea administrador
Ahora que ha creado la base de datos, puede crear un usuario que no sea administrador mediante la instrucción CREATE USER
de MySQL.
CREATE USER 'db_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT ALL PRIVILEGES ON testdb . * TO 'db_user'@'%';
FLUSH PRIVILEGES;
Comprobación de los permisos de usuario
Para ver los privilegios permitidos para el usuario db_user en la base de datos testdb, ejecute la instrucción MySQL SHOW GRANTS
.
USE testdb;
SHOW GRANTS FOR 'db_user'@'%';
Conectarse a la base de datos con el nuevo usuario
Inicie sesión en el servidor, especifique la base de datos designada y use el nuevo nombre de usuario y contraseña. En este ejemplo se muestra la línea de comandos de MySQL. Cuando utilice este comando, se le pedirá la contraseña del usuario. Reemplace su propio nombre de servidor, el nombre de base de datos y el nombre de usuario. Vea cómo conectarse en la tabla siguiente.
--host mydemoserver.mysql.database.azure.com --database testdb --user db_user -p
Limitación de privilegios para un usuario
Para restringir el tipo de operaciones que un usuario puede ejecutar en la base de datos, debe agregar explícitamente las operaciones en la instrucción GRANT. Observe el ejemplo siguiente:
CREATE USER 'new_master_user'@'%' IDENTIFIED BY 'StrongPassword!';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER ON *.* TO 'new_master_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
Acerca de azure_superuser
Todos los servidores de Azure Database for MySQL se crean con un usuario llamado "azure_superuser". Microsoft creó una cuenta del sistema para administrar el servidor y realizar la supervisión, las copias de seguridad y el mantenimiento normal. Los ingenieros de llamadas también pueden usar esta cuenta para acceder al servidor durante un incidente con autenticación de certificados y deben solicitar acceso mediante procesos Just-In-Time (JIT).