Administrar usuarios en Azure HorizonDB (versión preliminar)

En este artículo se describe cómo crear usuarios dentro de un clúster de Azure HorizonDB.

Para obtener información sobre cómo crear y administrar los usuarios de una suscripción de Azure y sus privilegios, consulte el artículo sobre el control de acceso basado en roles de Azure (Azure RBAC) o revise cómo personalizar los roles.

La cuenta de administrador del servidor

Al crear por primera vez el clúster de Azure HorizonDB, se proporciona un nombre de autenticación y una contraseña de administrador de clústeres. Para obtener más información, consulte Crear un clúster Azure HorizonDB para ver el enfoque paso a paso. Dado que el nombre de autenticación del administrador del clúster es un nombre personalizado, puede encontrar el nombre de usuario de administrador del servidor elegido en el portal de Azure.

El clúster de Azure HorizonDB se crea con tres roles predeterminados. Para ver estos roles, ejecute el comando : SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • azuresu
  • tu usuario administrador del servidor

Su autenticación de administrador forma parte del rol azure_pg_admin. Sin embargo, la cuenta de administrador no forma parte del azuresu rol. Dado que este servicio es un servicio PaaS administrado, solo Microsoft forma parte del rol de superusuario.

El motor de PostgreSQL usa privilegios para controlar el acceso a los objetos de base de datos, como se describe en la documentación del producto postgreSQL. En Azure HorizonDB, al usuario administrador del servidor se le conceden estos privilegios: LOGIN, NOSUPERUSER, INHERIT, CREATEDB y CREATEROLE.

La autenticación del administrador del clúster puede crear más usuarios y conceder a esos usuarios el azure_pg_admin rol. Además, la autenticación del administrador del clúster puede crear usuarios y roles con menos privilegios que tengan acceso a bases de datos y esquemas individuales.

Creación de más usuarios administradores en Azure HorizonDB

  1. Obtenga la información de conexión y el nombre de usuario administrador. Necesita el nombre completo del servidor y las credenciales de inicio de sesión de administrador para conectarse al clúster de Azure HorizonDB. Puede encontrar fácilmente el nombre del servidor e información de inicio de sesión en la página Información general del servidor o en la página Propiedades de Azure Portal.

  2. Use la cuenta de administrador y la contraseña para conectarse al clúster de Azure HorizonDB. Use la herramienta de cliente preferida, como pgAdmin o psql. Si no está seguro de cómo conectarse, consulte Crear un clúster Azure HorizonDB.

  3. Modifique y ejecute el siguiente código SQL. Reemplace el nuevo nombre de usuario por el valor de marcador de posición <new_user>y reemplace la contraseña del marcador de posición por su propia contraseña segura.

    CREATE USER <new_user> CREATEDB CREATEROLE PASSWORD '<StrongPassword!>';
    
    GRANT azure_pg_admin TO <new_user>;
    

Creación de usuarios de base de datos en Azure HorizonDB

Note

No incluyas información personal, sensible o confidencial en nombres de recursos (por ejemplo, nombre de tabla, nombre de base de datos) ni en etiquetas de recursos. Los datos que introduces en estos campos no se consideran datos de clientes.

  1. Obtenga la información de conexión y el nombre de usuario administrador. Necesita el nombre completo del servidor y las credenciales de inicio de sesión de administrador para conectarse al clúster de Azure HorizonDB. Puede encontrar fácilmente el nombre del servidor e información de inicio de sesión en la página Información general del servidor o en la página Propiedades de Azure Portal.

  2. Use la cuenta de administrador y la contraseña para conectarse al clúster de Azure HorizonDB. Use la herramienta cliente preferida, como PostgreSQL para Visual Studio Code, pgAdmin o psql.

  3. Modifique y ejecute el siguiente código SQL. Sustituya el valor <db_user> del marcador de posición por el nuevo nombre de usuario que desee y el valor <newdb> del marcador de posición por el nombre de su propia base de datos. Reemplace la contraseña del marcador de posición por su propia contraseña segura.

    Este código SQL crea una nueva base de datos y, a continuación, crea un nuevo usuario en el clúster de Azure HorizonDB y concede privilegios de conexión a la nueva base de datos para ese usuario.

    CREATE DATABASE <newdb>;
    
    CREATE USER <db_user> PASSWORD '<StrongPassword!>';
    
    GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
    
  4. Con una cuenta de administrador, es posible que tenga que conceder otros privilegios para proteger los objetos de la base de datos. Para más información, consulte la documentación de PostgreSQL para más información sobre los roles y privilegios de base de datos. Por ejemplo:

    GRANT ALL PRIVILEGES ON DATABASE <newdb> TO <db_user>;
    

    Si un usuario crea una tabla "role", la tabla pertenece a ese usuario. Si otro usuario necesita acceso a la tabla, debe conceder privilegios al otro usuario en el nivel de tabla.

    Por ejemplo:

    GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
    
  5. Inicie sesión en el servidor y especifique la base de datos designada con el nuevo nombre de usuario y contraseña. En este ejemplo se muestra la línea de comandos de psql. Con este comando, se le pedirá la contraseña para el nombre de usuario. Reemplace su propio nombre de servidor, nombre de base de datos y nombre de usuario.

    psql --host="{clustername}.{clusteridentifier}.{region}.horizondb.azure.com" --port=5432 --username=db_user --dbname=newdb