Data Management (DMS) permite crear cuentas de base de datos para MySQL, MongoDB y PostgreSQL, personalizar combinaciones de tipos de permisos y otorgar permisos a nivel de tabla. Este tema describe cómo crear, editar y eliminar cuentas de base de datos, así como gestionar sus permisos en DMS.
DMS admite la gestión de cuentas únicamente para bases de datos MySQL, PostgreSQL y MongoDB. Para gestionar cuentas de otros motores de base de datos, acceda a la consola del servicio correspondiente.
Requisitos previos
-
La base de datos debe ser de uno de los siguientes tipos:
MySQL: ApsaraDB RDS for MySQL, PolarDB for MySQL, AnalyticDB for MySQL, una base de datos MySQL autogestionada, una base de datos MariaDB autogestionada o ApsaraDB for MariaDB.
-
ApsaraDB for MongoDB.
NotaSi crea un usuario en la base de datos Admin, asegúrese de que al menos un usuario existente tenga permiso para crear usuarios, como dbAdminAnyDatabase, userAdmin o userAdminAnyDatabase.
PostgreSQL: ApsaraDB RDS for PostgreSQL o AnalyticDB for PostgreSQL.
Su rol en el sistema es administrador de DMS, DBA o usuario estándar (propietario de la instancia). Para obtener más información, consulte System roles.
Se han obtenido la Database account y la Database password de la base de datos destino.
Si desea crear cuentas en la consola de DMS, asegúrese de que la Database account utilizada para iniciar sesión en DMS tenga permiso para crear usuarios.
Ejemplos de gestión de permisos de cuenta
-
Otorgar a la cuenta A los permisos globales
SELECTyUPDATE.NotaLos permisos globales se aplican a nivel de instancia de base de datos. Para obtener más información sobre los tipos de permisos globales, consulte Permission reference.
-
Otorgar a la cuenta B el permiso
SELECTsobre una sola tabla o el permisoUPDATEsobre una columna específica.NotaLos permisos de objeto pueden aplicarse a todos los objetos de la base de datos o a uno o varios objetos específicos. Para obtener más información sobre los tipos de permisos de objeto, consulte Permission reference.
Gestión de cuentas de base de datos
Creación de una cuenta de base de datos
Las cuentas de base de datos creadas a través de DMS son cuentas estándar.
Un administrador de DMS es un usuario de RAM que gestiona el acceso a la consola de DMS y aprueba operaciones. Una cuenta de base de datos con privilegios se define a nivel de instancia y posee permisos de operación como CREATE USER y GRANT. Ambos conceptos pertenecen a sistemas de permisos distintos: para ejecutar operaciones de administración de base de datos como CREATE USER en DMS, debe utilizar una cuenta de base de datos con privilegios. Un administrador de DMS no dispone de estos permisos a nivel de base de datos.
Si encuentra el siguiente error al ejecutar CREATE USER en DMS:
execute create_user failed: you need (at least one of) the create user privilege for this operation
Resuelva el problema de la siguiente manera:
Cree una cuenta con privilegios en la consola de ApsaraDB RDS, inicie sesión en DMS con dicha cuenta y vuelva a intentar la operación.
Como alternativa, cree el usuario de base de datos directamente en la página Account Management de la consola de ApsaraDB RDS.
Si la instancia de DMS tiene habilitado el modo de hosting de seguridad, es posible que no pueda cambiar la cuenta de base de datos en DMS. En este caso, cree la cuenta en la consola de ApsaraDB RDS o ajuste la configuración de hosting de seguridad de la instancia antes de reintentar la operación.
Crear una cuenta de base de datos MySQL
Inicie sesión en DMS 5.0.
Inicie sesión en la base de datos destino. Para obtener más información, consulte Log on to a database.
En la página principal, haga clic en la instancia de base de datos del panel de navegación izquierdo. En la lista de instancias, haga clic con el botón derecho en el nombre de la instancia destino y seleccione Database Account Management.
En la página Database Account Management, haga clic en Create Database Account en la esquina superior izquierda.
-
En el cuadro de diálogo que aparece, configure los siguientes parámetros.
-
Haga clic en la pestaña Basic settings y configure los parámetros.
Parámetro
Descripción
Database account
Nombre de la cuenta utilizada para iniciar sesión en la base de datos.
Host
Dirección IP desde la cual se permite que la cuenta acceda a la base de datos.
NotaSi deja este parámetro vacío, la cuenta no estará restringida a una dirección IP específica. El valor predeterminado es
%.Password
Contraseña de inicio de sesión.
Confirm Password
Introduzca nuevamente la contraseña de inicio de sesión.
NotaLa sentencia SQL generada a partir de los parámetros anteriores tiene el siguiente formato:
CREATE USER.Para configurar las Advanced Options, haga clic en el botón Advanced Options y defina las opciones deseadas.
Por ejemplo, la sentencia SQL generada a partir de la siguiente configuración es:
GRANT USAGE ON *.* TO 'username'@'host' WITH MAX_QUERIES_PER_HOUR 100 MAX_UPDATES_PER_HOUR 200 MAX_CONNECTIONS_PER_HOUR 300 MAX_USER_CONNECTIONS 400; -
Haga clic en la pestaña Global permissions y seleccione los permisos deseados. Para obtener más información sobre los permisos globales, consulte MySQL global permissions.
NotaSi utiliza una cuenta estándar y no encuentra el permiso deseado en la lista de tipos de permisos, es posible que la cuenta no tenga los permisos necesarios o que el tipo de instancia no sea compatible con dicho permiso. Si el problema se debe a permisos insuficientes en la cuenta, inténtelo nuevamente con una cuenta con privilegios.
-
Haga clic en la pestaña Object permissions y configure los parámetros. Para obtener más información sobre los permisos de objeto, consulte MySQL object permissions.
Por ejemplo, las sentencias SQL generadas a partir de la siguiente configuración son:
GRANT SELECT,INSERT ON `rds_db`.* TO 'username'@'host'; GRANT DELETE ON `rds_db`.`rds_table` TO 'username'@'host';
-
Haga clic en Confirm.
-
En el cuadro de diálogo Preview SQL Statement, haga clic en Confirm.
NotaLas instancias de base de datos en modo Security Collaboration están sujetas a reglas de seguridad. Si no se puede realizar la operación, siga las instrucciones en pantalla o póngase en contacto con un DBA o administrador de DMS. Para obtener más información sobre cómo ajustar las reglas de seguridad, consulte FAQ.
Crear una cuenta de base de datos MongoDB
Inicie sesión en DMS 5.0.
-
Inicie sesión en la base de datos destino. Para obtener más información, consulte Log on to a database.
ImportantePara una instancia de conjunto de réplicas de MongoDB, inicie sesión en el nodo primario.
En la página principal, haga clic en la instancia de base de datos del panel de navegación izquierdo. En la lista de instancias, haga clic con el botón derecho en el nombre de la instancia destino y seleccione Database Account Management.
-
Haga clic en Create User en la esquina superior izquierda de la página y configure la siguiente información.
-
Configure la información del usuario.
En el cuadro de diálogo Create User, la pestaña Current Database Permissions ofrece los siguientes roles para su selección:
Rol de operación normal:
read(permiso para consultar datos en la base de datos actual) yreadWrite(permiso para insertar, eliminar, modificar y consultar datos en la base de datos actual).Rol de operación de administrador:
dbAdmin(operaciones de gestión sobre objetos de la base de datos, sin permisos de lectura ni escritura) yuserAdmin(permiso para crear usuarios en la base de datos actual).
Parámetro
Descripción
Base de datos destino
Seleccione la base de datos a la que pertenece el usuario en la lista desplegable.
NotaSi selecciona una base de datos distinta de admin, el usuario creado será un usuario estándar.
Si selecciona la base de datos admin, el usuario creado será un usuario con privilegios.
Nombre de usuario
Nombre del usuario.
No se admiten caracteres chinos.
Se admiten letras, dígitos y caracteres especiales.
Los caracteres especiales incluyen:
!#$%^&*()_+-=
Contraseña
Contraseña del usuario.
Para garantizar la seguridad de los datos, la contraseña debe tener entre 8 y 32 caracteres y contener como mínimo tres de los siguientes tipos de caracteres:
Letras mayúsculas
Letras minúsculas
Dígitos
Caracteres especiales (
!#$%^&*()_+-=)
Confirmar contraseña
Introduzca la contraseña nuevamente.
-
Configure los permisos del usuario.
Nota-
Si selecciona la base de datos admin como base de datos destino:
En la pestaña Current Database Permissions, puede configurar permisos como Normal operation role, Administrator operation role, Instance-level operation role, Cluster management role, Backup and restore role y Superuser role. Para obtener más información sobre los permisos de cada rol, consulte MongoDB role permissions.
También puede hacer clic en la pestaña Other Database Permissions para agregar nombres de bases de datos y configurar los permisos de rol correspondientes.
-
Si selecciona una base de datos distinta de admin como base de datos destino:
En la pestaña Current Database Permissions, solo puede configurar el Normal operation role y el Administrator operation role para la base de datos actual. Para obtener más información sobre los permisos de cada rol, consulte MongoDB role permissions.
La pestaña Other Database Permissions no está disponible.
-
-
-
Haga clic en Confirm.
NotaLas instancias de base de datos en modo Security Collaboration están sujetas a reglas de seguridad. Si no se puede realizar la operación, siga las instrucciones en pantalla o póngase en contacto con un DBA o administrador de DMS.
Crear una cuenta de base de datos PostgreSQL
Inicie sesión en DMS 5.0.
Inicie sesión en la base de datos destino. Para obtener más información, consulte Log on to a database.
Haga clic en Database instances en el lado izquierdo de la página principal. En la lista de instancias, haga clic con el botón derecho en el nombre de la instancia destino y seleccione Account Management.
En la página Account Management, haga clic en Create User en la esquina superior izquierda.
-
En el cuadro de diálogo que aparece, configure los siguientes parámetros.
-
Haga clic en la pestaña Basic settings y configure los parámetros.
Parámetro
Descripción
User name
Nombre de usuario de la cuenta.
Password
Contraseña de inicio de sesión.
Confirm Password
Introduzca nuevamente la contraseña de inicio de sesión.
Password expiration time
Fecha de caducidad de la contraseña. Por ejemplo, si establece que la contraseña caduque a las 00:00 del 30 de diciembre de 2021, esta dejará de ser válida en ese momento.
Este parámetro es opcional. De forma predeterminada, la contraseña no caduca.
Connection limit
Número máximo de conexiones simultáneas permitidas para la cuenta. Por ejemplo, si establece este parámetro en 10, la cuenta podrá conectarse a la base de datos desde un máximo de 10 clientes al mismo tiempo.
El valor predeterminado es -1, lo que indica que no hay límite en el número de conexiones.
Remarks
Descripción de la cuenta.
-
Haga clic en la pestaña Permissions y seleccione los permisos deseados.
Tipo de permiso
Descripción
Allow logon
Permiso de inicio de sesión. Los comandos SQL correspondientes son
LOGINyNOLOGIN. De forma predeterminada, se permite el inicio de sesión.Allow user creation
Permiso para crear cuentas de base de datos. Los comandos SQL correspondientes son
CREATEROLEyNOCREATEROLE. De forma predeterminada, se permite la creación de usuarios.Allow database creation
Permiso para crear bases de datos. Los comandos SQL correspondientes son
CREATEDByNOCREATEDB. De forma predeterminada, se permite la creación de bases de datos.
-
Haga clic en Confirm.
-
En el cuadro de diálogo Preview SQL, haga clic en Confirm.
NotaLas instancias de base de datos en modo Security Collaboration están sujetas a reglas de seguridad. Si no se puede realizar la operación, siga las instrucciones en pantalla o póngase en contacto con un DBA o administrador de DMS. Para obtener más información sobre cómo ajustar las reglas de seguridad, consulte Permission reference.
Edición o eliminación de una cuenta
La función de edición de cuentas permite modificar el Username, la Password, así como los Global permissions y los Object permissions de MySQL de una cuenta.
Inicie sesión en DMS 5.0.
Haga clic en Database instances en el lado derecho de la página principal. En la lista de instancias, haga clic con el botón derecho en el nombre de la instancia destino y seleccione Account Management.
Localice la cuenta destino y haga clic en Edit o Delete para realizar la operación correspondiente.
Edición o eliminación de una cuenta
La función de edición de cuentas permite modificar el Username, la Password, así como los Global permissions y los Object permissions de MySQL de una cuenta.
Inicie sesión en DMS 5.0.
En la página principal, haga clic en la instancia de base de datos del panel de navegación izquierdo. En la lista de instancias, haga clic con el botón derecho en el nombre de la instancia destino y seleccione Database Account Management.
Localice la cuenta destino y haga clic en Edit o Delete para realizar la operación correspondiente.
Cambio de cuenta de base de datos
Inicie sesión en DMS 5.0.
En el área Database instances a la izquierda, localice la instancia destino.
Haga clic con el botón derecho en el nombre de la instancia y seleccione Edit Instance.
En la sección Basic Information, introduzca la cuenta de base de datos y la contraseña que desea utilizar para iniciar sesión.
Haga clic en Save.
Concesión o revocación de permisos de cuenta de base de datos
Inicie sesión en DMS 5.0.
En la página principal, haga clic en la instancia de base de datos del panel de navegación izquierdo. En la lista de instancias, haga clic con el botón derecho en el nombre de la instancia destino y seleccione Database Account Management.
Localice la cuenta destino y haga clic en Edit.
En el área de permisos, seleccione los permisos deseados para otorgarlos o desmarque los permisos correspondientes para revocarlos, y luego haga clic en Confirm.
Referencia de permisos
Permisos globales de MySQL
Permisos de objetos de MySQL
Permisos de roles de MongoDB
Temas relacionados
Best practices for permission management in ApsaraDB RDS for PostgreSQL
Preguntas frecuentes
P: Al crear un usuario con permisos, aparece un error que indica que el comando CREATE_USER está bloqueado por reglas de seguridad. ¿Cómo resuelvo este problema?
R: Resuelva este problema siguiendo los pasos indicados en el cuadro de diálogo de error. Realice las siguientes operaciones:
-
Consulte el nombre del conjunto de reglas de seguridad vinculado a la instancia.
En la lista de instancias situada a la izquierda de la página principal de la consola, localice la instancia deseada, haga clic derecho sobre ella y luego haga clic en View Details.
-
Ajuste las reglas de seguridad.
Inicie sesión en DMS.
En la barra de menú superior, seleccione .
En la pestaña security rules, busque el conjunto de reglas correspondiente y haga clic en Edit dentro de la columna Actions.
En el panel de navegación izquierdo, haga clic en SQL Correct.
Establezca Checkpoint en SQL execution rules.
Localice la regla de seguridad Allow all DCL statements to be executed directly in SQL Console y haga clic en Edit dentro de la columna Actions.
-
En la sección Rule DSL del cuadro de diálogo Edit Rule, cambie la regla a:
if @fac.sql_type in ["DCL"] then @act.allow_execute_direct end.Esta sintaxis abarca toda la categoría DCL e incluye todas las sentencias DCL, como
CREATE USERyGRANT, sin necesidad de listar cada tipo de SQL individualmente. En esta regla,allow_execute_directpermite que las sentencias se ejecuten directamente en SQL Console, mientras queallow_submitsolo permite enviarlas como tickets para su aprobación. Ambas opciones difieren en su nivel de permisividad, así que elija la que mejor se adapte a sus necesidades.
Haga clic en Submit.
Revise las reglas de identificación de riesgos. En SQL Change > Risk Identification Rules, compruebe si existe alguna regla que marque las sentencias DCL como de alto riesgo. De ser así, deshabilítela o ajústela. De lo contrario, anulará la regla DCL configurada en el paso anterior y el cambio de regla no surtirá efecto.
Solo las instancias en modo Security Collaboration admiten la edición de reglas de seguridad. Las instancias en los modos Flexible Management y Stable Change utilizan reglas integradas del sistema que no se pueden editar. Si la instancia objetivo no se encuentra en modo Security Collaboration, adquiera una licencia de Security Collaboration y cambie el modo de control antes de modificar las reglas como se describió anteriormente. Asimismo, asegúrese de que el conjunto de reglas modificado esté asociado con la instancia objetivo; de lo contrario, los cambios no surtirán efecto.