Создание пользователей в База данных Azure для PostgreSQL — гибкий сервер
ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для PostgreSQL — гибкий сервер
В этой статье описывается, как создавать пользователей в База данных Azure для PostgreSQL гибком экземпляре сервера.
Предположим, вы хотите узнать, как создавать пользователей подписки Azure и их привилегии и управлять ими. В этом случае вы можете посетить статью управления доступом на основе ролей Azure (Azure RBAC) или ознакомиться с настройкой ролей.
Учетная запись администратора сервера
При первом создании База данных Azure для PostgreSQL гибкого экземпляра сервера вы предоставили имя пользователя и пароль администратора сервера. Дополнительные сведения см. в статье "Создание экземпляра База данных 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. Если вы не уверены, как подключиться, см. статью "Создание экземпляра База данных Azure для PostgreSQL — гибкий сервер".
Измените и выполните следующий код 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.