Las cuentas de base de datos se utilizan para la gestión de permisos en AnalyticDB for PostgreSQL. Una cuenta puede tener permisos para ejecutar operaciones sobre objetos de la base de datos. Antes de conectarse a una base de datos u operar con sus objetos, debe crear una cuenta de base de datos.
Tipos de cuenta
AnalyticDB for PostgreSQL proporciona dos tipos de cuentas de base de datos:
-
Cuenta con privilegios: Este tipo incluye la cuenta inicial creada en la consola y las cuentas creadas mediante sentencias SQL que tienen el rol
RDS_SUPERUSER. Una cuenta con privilegios posee todos los permisos operativos sobre todas las bases de datos. Estos permisos incluyen:Los permisos
CREATEROLE,CREATEDByLOGIN. Esto significa que la cuenta puede crear bases de datos y cuentas de base de datos, así como iniciar sesión en las bases de datos. Sin embargo, no cuenta con el permisoSUPERUSER.El permiso para consultar y modificar tablas de datos de otras cuentas mediante sentencias
SELECT,UPDATEyDELETE, o bien cambiando el propietario.El permiso para consultar la información de conexión de otras cuentas, cancelar sus sentencias SQL o finalizar sus conexiones.
El permiso para ejecutar los comandos
CREATE EXTENSIONyDROP EXTENSIONcon el fin de crear y eliminar extensiones.El permiso para crear otras cuentas con el rol
RDS_SUPERUSER.
NotaAnalyticDB for PostgreSQL no otorga el permiso SUPERUSER. El permiso correspondiente es RDS_SUPERUSER, lo cual es consistente con el sistema de permisos de ApsaraDB RDS for PostgreSQL.
Cuenta estándar: De forma predeterminada, una cuenta estándar no tiene permisos. Una cuenta con privilegios o una cuenta con el permiso
GRANTdebe otorgarle permisos sobre uno o más objetos de la base de datos.
Recomendaciones
Una cuenta con privilegios tiene todos los permisos operativos sobre todas las bases de datos. Para garantizar la seguridad de los datos, se recomienda evitar el uso de una cuenta con privilegios para las operaciones comerciales habituales. En su lugar, cree cuentas estándar y otórqueles únicamente los permisos obligatorios sobre objetos específicos de la base de datos. Esto ayuda a prevenir accesos y modificaciones no autorizados.
Crear una cuenta
Crear una cuenta inicial
La cuenta inicial es una cuenta con privilegios que tiene el rol RDS_SUPERUSER. Debe crear una cuenta inicial primero. Después de iniciar sesión en la base de datos con la cuenta inicial, podrá crear otras cuentas con privilegios o cuentas estándar.
No es posible eliminar una cuenta inicial. Si olvida la contraseña de la cuenta inicial, puede restablecerla.
Puede crear una cuenta inicial en la consola de AnalyticDB for PostgreSQL o llamando a una operación de API.
Consola
Inicie sesión en la consola de AnalyticDB for PostgreSQL. En la parte superior de la página, seleccione la región de su instancia. A continuación, localice su instancia y haga clic en su ID.
En el panel de navegación izquierdo, haga clic en Account Management.
-
Haga clic en Create Account. En el cuadro de diálogo Create Account, introduzca un nombre de cuenta y una contraseña. Luego, haga clic en OK.
Parámetro
Descripción
Account
El nombre de la cuenta inicial debe cumplir con los siguientes requisitos:
-
Debe contener únicamente letras minúsculas, dígitos y guiones bajos (_).
-
Debe comenzar con una letra minúscula y terminar con una letra minúscula o un dígito.
-
No puede comenzar con
gp. -
Debe tener entre 2 y 16 caracteres de longitud.
New Password y Confirm Password
La contraseña debe cumplir con los siguientes requisitos:
-
Debe contener caracteres de al menos tres de las siguientes categorías: letras mayúsculas, letras minúsculas, dígitos y caracteres especiales.
-
Los caracteres especiales compatibles son
!@#$%^&*()_+-=. -
Debe tener entre 8 y 32 caracteres de longitud.
ImportantePara garantizar la seguridad de los datos, cambie su contraseña periódicamente y no reutilice contraseñas anteriores.
-
API
Llame a la operación de API CreateAccount para crear una cuenta inicial.
Crear una cuenta con privilegios RDS_SUPERUSER
Para crear una cuenta con privilegios, asigne el rol RDS_SUPERUSER al crear la cuenta. Por ejemplo:
CREATE ROLE username WITH LOGIN ENCRYPTED PASSWORD 'userPassword' RDS_SUPERUSER;
Crear una cuenta estándar
Una cuenta estándar es una cuenta de base de datos que no tiene el rol RDS_SUPERUSER. No es posible crear una cuenta estándar en la consola de AnalyticDB for PostgreSQL ni llamando a una operación de API.
Puede crear una cuenta estándar ejecutando una sentencia SQL. Por ejemplo:
CREATE ROLE username WITH LOGIN ENCRYPTED PASSWORD 'userPassword';
Para consultar la sintaxis SQL completa para crear cuentas con privilegios y cuentas estándar, consulte CREATE ROLE.
Consultar cuentas de base de datos
La consola de AnalyticDB for PostgreSQL muestra únicamente la cuenta inicial. No muestra otras cuentas con privilegios ni cuentas estándar creadas mediante sentencias SQL. Puede consultar todas las cuentas con privilegios (incluida la cuenta inicial) y las cuentas estándar de una instancia mediante una sentencia SQL o llamando a una operación de API.
SQL
SELECT * FROM pg_roles;
Las cuentasadbpgadminyauroraque aparecen en los resultados de la consulta son cuentas del sistema.
API
Llame a la operación de API DescribeAccounts para consultar todos los nombres de cuentas de base de datos, sus tipos (con privilegios o estándar) y su estado de creación.
Llame a la operación de API DescribeDiagnosisDimensions para consultar todas las cuentas de base de datos y las bases de datos. Esta operación no devuelve los tipos de cuenta ni el estado de creación.
Llame a la operación de API DescribeRoles para consultar todas las cuentas de base de datos. Esta operación no devuelve los tipos de cuenta ni el estado de creación.
Restablecer una contraseña
Si olvida la contraseña de una cuenta de base de datos, puede restablecerla en la consola de AnalyticDB for PostgreSQL, ejecutando una sentencia SQL o llamando a una operación de API.
Consola
En la consola, solo puede restablecer la contraseña de la cuenta inicial. Para restablecer la contraseña de una cuenta estándar, debe usar una sentencia SQL.
Inicie sesión en la consola de AnalyticDB for PostgreSQL. En la parte superior de la página, seleccione la región de su instancia. A continuación, localice su instancia y haga clic en su ID.
En el panel de navegación izquierdo, haga clic en Account Management.
Localice la cuenta y haga clic en Reset Password. En el cuadro de diálogo, introduzca una nueva contraseña.
SQL
ALTER ROLE username WITH PASSWORD 'userPassword';
Para consultar la sintaxis SQL completa para modificar la contraseña y otros atributos de una cuenta de base de datos, consulte ALTER ROLE.
API
Llame a la operación de API ResetAccountPassword para restablecer la contraseña de una cuenta.
Siguientes pasos
Una vez creada, una cuenta estándar no tiene permisos para operar ni acceder a ninguna base de datos. Debe otorgarle los permisos necesarios sobre los objetos de la base de datos. Para obtener más información, consulte Manage account permissions.