Este tema explica cómo usar el modelo de permisos simple y el modelo de autorización estándar de PostgreSQL para otorgar permisos de desarrollo sobre una instancia de Hologres a un usuario de RAM.
Contexto
De forma predeterminada, la cuenta de Alibaba Cloud que se utiliza para comprar una instancia se convierte en el superusuario de dicha instancia. Un superusuario tiene todos los permisos sobre la instancia, como crear y eliminar bases de datos, crear roles y otorgar permisos a los roles.
Una cuenta de Alibaba Cloud debe autorizar a un usuario de RAM para que este acceda a una instancia. También es posible asignarle el rol de Superuser.
Aunque un usuario de RAM tenga permiso para comprar instancias, solo podrá desarrollar datos en una instancia de Hologres después de que una cuenta de Alibaba Cloud le otorgue permisos de desarrollo sobre esa instancia.
Los permisos de RAM y los permisos de desarrollo de instancias se controlan de manera distinta. Para obtener más información, consulte Grant permissions to a RAM user.
Otorgar permisos con el modelo de permisos simple (recomendado)
Para otorgar permisos de forma visual en la consola de administración de Hologres, siga estos pasos:
-
Cree un usuario.
Inicie sesión en el sitio web oficial de Alibaba Cloud con su cuenta de Alibaba Cloud.
Inicie sesión en la consola de administración de Hologres y haga clic en el nombre de la instancia de destino para abrir su página de detalles.
En el panel de navegación izquierdo de la página de detalles de la instancia, haga clic en Account Management. De forma predeterminada, se abre la página Users.
En la página Users, haga clic en Add User en la esquina superior derecha.
-
En el cuadro de diálogo Add User, use el cuadro de búsqueda para encontrar y seleccionar el usuario de destino. En la sección Select Member Role, seleccione Superuser o Normal user y, a continuación, haga clic en OK.
Parámetro
Descripción
Select Organization Member
Seleccione el usuario de RAM al que desea otorgar permisos y agréguelo a la instancia.
Select Member Role
-
Superuser: tiene todos los permisos operativos sobre la instancia.
-
Normal user: de forma predeterminada, no tiene permisos operativos sobre la instancia.
Debe otorgar permisos específicos al usuario de RAM antes de que pueda conectarse a la instancia de Hologres y utilizarla.
-
Haga clic en OK.
-
Opcional: Otorgue permisos al usuario. Este paso es obligatorio si seleccionó Normal user.
-
En la página Users, haga clic en DB Authorization en el panel de navegación izquierdo.
Si la página DB Management no contiene bases de datos, realice las siguientes operaciones:
Haga clic en Create Database.
Configure Instance Name, introduzca un valor en Database Name y establezca Permission Model en SPM.
Vaya a la página DB Authorization. En la columna Actions, haga clic en .
-
En el cuadro de diálogo Grant Permission, seleccione el usuario de destino en la lista desplegable User. En la sección User Group, seleccione un rol: Admin, Developer, Writer o Viewer. A continuación, haga clic en OK.
Parámetro
Descripción
User
El usuario de RAM al que desea otorgar permisos.
User Group
-
Admin: puede gestionar todos los objetos y grupos de usuarios de la base de datos.
-
Developer: puede usar comandos DDL para crear, eliminar o modificar objetos de la base de datos, así como leer y escribir en ellos.
-
Writer: puede leer y escribir en los objetos de la base de datos.
-
Viewer: tiene permisos de solo lectura sobre todos los objetos de la base de datos.
-
Haga clic en OK.
También puede usar el modelo de permisos simple para otorgar permisos a un usuario de RAM mediante la ejecución de comandos SQL. Para obtener más información, consulte Use the simple permission model.
-
Otorgar permisos con el modelo estándar de PostgreSQL
Para otorgar permisos a un usuario de RAM con el modelo de autorización estándar de PostgreSQL, siga estos pasos:
-
Cree un usuario.
Agregue el usuario de RAM a la instancia de Hologres. Por ejemplo:
CREATE USER "p4_UID"; // The ID is the UID of the Alibaba Cloud RAM user. CREATE USER "p4_UID" SUPERUSER; // Grants the superuser role to the RAM user. -
Otorgue permisos al usuario.
Debe otorgar al usuario de RAM los permisos necesarios para acceder a objetos específicos. Por ejemplo:
GRANT SELECT ON TABLE TABLENAME TO "p4_UID"; // Grants the RAM user the SELECT permission on a table. GRANT SELECT,INSERT,UPDATE ON ALL TABLES IN SCHEMA PUBLIC TO "p4_UID"; // Grants the RAM user the SELECT, INSERT, and UPDATE permissions on all tables in the PUBLIC schema.NotaSolo un superusuario o el propietario de la tabla puede eliminar una tabla.
Para obtener más información sobre la autorización en el modelo de autorización estándar de PostgreSQL, consulte Standard PostgreSQL authorization model.
Uso de Hologres como usuario de RAM
Una vez otorgados los permisos, el usuario de RAM puede conectarse a la instancia de Hologres y utilizarla desde un cliente PSQL. Para obtener más información, consulte PSQL client.
Por ejemplo:
PGUSER=<AccessID> PGPASSWORD=<AccessKey> psql -p <Port> -h <Endpoint> -d <Database>
Consultar los permisos de un usuario de RAM
Consulte los permisos de un usuario de RAM mediante comandos SQL.
Después de conectarse a la instancia de Hologres con una herramienta de desarrollo, ejecute los siguientes comandos SQL para consultar los permisos del usuario de RAM.
SELECT * FROM pg_roles WHERE rolname = 'p4_UID'; // View the roles of a specific member.
SELECT rolname FROM pg_roles;
SELECT user_display_name(rolname) FROM pg_roles;
Ejecute el comando SELECT * FROM pg_catalog.pg_roles; para consultar los permisos de todos los usuarios.