Создание пользователей в База данных Azure для PostgreSQL — гибкий сервер

Область применения: гибкий сервер Базы данных Azure для PostgreSQL

В этой статье описывается, как создавать пользователей в База данных Azure для PostgreSQL гибком экземпляре сервера.

Предположим, вы хотите узнать, как создавать пользователей подписки Azure и их привилегии и управлять ими. В этом случае вы можете посетить статью управления доступом на основе ролей Azure (Azure RBAC) или ознакомиться с настройкой ролей.

Учетная запись администратора сервера

При первом создании База данных Azure для PostgreSQL гибкого экземпляра сервера вы предоставили имя пользователя и пароль администратора сервера. Дополнительные сведения и пошаговые инструкции см. в этом кратком руководстве. Так как имя пользователя администратора сервера настраивает пользователь, можно найти выбранное имя на портале Azure.

Экземпляр гибкого сервера База данных Azure для PostgreSQL создается с тремя ролями по умолчанию. Эти роли можно просмотреть, выполнив команду: SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • azuresu
  • пользователь-администратор сервера

Пользователь-администратор сервера является членом роли azure_pg_admin. Однако учетная запись администратора сервера не входит в роль Azuresu. Так как эта служба является управляемой службой PaaS, только Майкрософт входит в роль суперпользователя.

Подсистема PostgreSQL использует права для управления доступом к объектам базы данных, как описано в документации по продукту PostgreSQL. В База данных Azure для PostgreSQL гибком сервере пользователь администратора сервера предоставляет следующие привилегии:

  • Вход, NOSUPERUSER, INHERIT, CREATEB, CREATEROLE

Учетная запись администратора сервера может использоваться для создания дополнительных пользователей и предоставления этим пользователям роли azure_pg_admin. Кроме того, учетная запись администратора сервера может использоваться для создания менее привилегированных пользователей и ролей, имеющих доступ к отдельным базам данных и схемам.

Создание дополнительных пользователей администратора на гибком сервере База данных Azure для PostgreSQL

  1. Получите сведения о подключении и имя пользователя администратора. Для подключения к База данных Azure для PostgreSQL гибкому экземпляру сервера требуются полные имена серверов и учетные данные администратора. Вы можете легко найти данные для входа на странице Обзор сервера или на странице Свойства на портале Azure.

  2. Используйте учетную запись администратора и пароль для подключения к вашему База данных Azure для PostgreSQL гибкому экземпляру сервера. Используйте предпочитаемое клиентское средство, например pgAdmin или psql. Если вы не уверены, как подключиться, см . краткое руководство.

  3. Измените и выполните следующий код SQL. Замените новое имя пользователя значением <заполнителя new_user> и замените пароль заполнителя собственным надежным паролем.

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

Создание пользователей базы данных на гибком сервере База данных Azure для PostgreSQL

  1. Получите сведения о подключении и имя пользователя администратора. Для подключения к База данных Azure для PostgreSQL гибкому экземпляру сервера требуются полные имена серверов и учетные данные администратора. Вы можете легко найти данные для входа на странице Обзор сервера или на странице Свойства на портале Azure.

  2. Используйте учетную запись администратора и пароль для подключения к вашему База данных Azure для PostgreSQL гибкому экземпляру сервера. Используйте предпочитаемое клиентское средство, например pgAdmin или psql.

  3. Измените и выполните следующий код SQL. Замените значение <db_user> заполнителя вашим предполагаемым именем пользователя и <newdb> заполнителем собственным именем базы данных. Замените заполнитель пароля надежным паролем.

    Приведенный ниже код SQL создает новую базу данных, а затем создает нового пользователя в гибком экземпляре сервера База данных Azure для PostgreSQL и предоставляет доступ к новой базе данных для этого пользователя.

    CREATE DATABASE <newdb>;
    
    CREATE USER <db_user> PASSWORD '<StrongPassword!>';
    
    GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
    
  4. С помощью учетной записи администратора может потребоваться предоставить другие привилегии для защиты объектов в базе данных. См. документацию PostgreSQL для получения дальнейших сведений о ролях базы данных и правах доступа. Например:

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

    Если пользователь создает таблицу role, эта таблица принадлежит пользователю. Если другому пользователю требуется доступ к таблице, необходимо предоставить привилегии другому пользователю на уровне таблицы.

    Например:

    GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
    
  5. Войдите на сервер, указав указанную базу данных, используя новое имя пользователя и пароль. В этом примере показана командная строка psql. После ввода команды вам будет предложено ввести пароль для указанного имени пользователя. Укажите собственные имя сервера, имя базы данных и имя пользователя.

    psql --host=mydemoserver.postgres.database.azure.com --port=5432 --username=db_user --dbname=newdb
    

Следующие шаги

Откройте брандмауэр для IP-адресов компьютеров новых пользователей, чтобы обеспечить их подключение: