Создание пользователей в База данных 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
Получите сведения о подключении и имя пользователя администратора. Для подключения к База данных Azure для PostgreSQL гибкому экземпляру сервера требуются полные имена серверов и учетные данные администратора. Вы можете легко найти данные для входа на странице Обзор сервера или на странице Свойства на портале Azure.
Используйте учетную запись администратора и пароль для подключения к вашему База данных Azure для PostgreSQL гибкому экземпляру сервера. Используйте предпочитаемое клиентское средство, например pgAdmin или psql. Если вы не уверены, как подключиться, см . краткое руководство.
Измените и выполните следующий код SQL. Замените новое имя пользователя значением <заполнителя new_user> и замените пароль заполнителя собственным надежным паролем.
CREATE USER <new_user> CREATEDB CREATEROLE PASSWORD '<StrongPassword!>'; GRANT azure_pg_admin TO <new_user>;
Создание пользователей базы данных на гибком сервере База данных Azure для PostgreSQL
Получите сведения о подключении и имя пользователя администратора. Для подключения к База данных Azure для PostgreSQL гибкому экземпляру сервера требуются полные имена серверов и учетные данные администратора. Вы можете легко найти данные для входа на странице Обзор сервера или на странице Свойства на портале Azure.
Используйте учетную запись администратора и пароль для подключения к вашему База данных Azure для PostgreSQL гибкому экземпляру сервера. Используйте предпочитаемое клиентское средство, например pgAdmin или psql.
Измените и выполните следующий код SQL. Замените значение
<db_user>
заполнителя вашим предполагаемым именем пользователя и<newdb>
заполнителем собственным именем базы данных. Замените заполнитель пароля надежным паролем.Приведенный ниже код SQL создает новую базу данных, а затем создает нового пользователя в гибком экземпляре сервера База данных Azure для PostgreSQL и предоставляет доступ к новой базе данных для этого пользователя.
CREATE DATABASE <newdb>; CREATE USER <db_user> PASSWORD '<StrongPassword!>'; GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
С помощью учетной записи администратора может потребоваться предоставить другие привилегии для защиты объектов в базе данных. См. документацию PostgreSQL для получения дальнейших сведений о ролях базы данных и правах доступа. Например:
GRANT ALL PRIVILEGES ON DATABASE <newdb> TO <db_user>;
Если пользователь создает таблицу role, эта таблица принадлежит пользователю. Если другому пользователю требуется доступ к таблице, необходимо предоставить привилегии другому пользователю на уровне таблицы.
Например:
GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
Войдите на сервер, указав указанную базу данных, используя новое имя пользователя и пароль. В этом примере показана командная строка psql. После ввода команды вам будет предложено ввести пароль для указанного имени пользователя. Укажите собственные имя сервера, имя базы данных и имя пользователя.
psql --host=mydemoserver.postgres.database.azure.com --port=5432 --username=db_user --dbname=newdb
Следующие шаги
Откройте брандмауэр для IP-адресов компьютеров новых пользователей, чтобы обеспечить их подключение:
Создание и управление База данных Azure для PostgreSQL — правила брандмауэра гибкого сервера с помощью портал Azure или Azure CLI.
Чтобы получить дополнительные сведения об управлении учетными записями пользователей, ознакомьтесь с ролями базы данных и привилегиями, синтаксисом GRANT и привилегиями в документации по продукту PostgreSQL.