Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для PostgreSQL — гибкий сервер
В этой статье описывается, как создавать пользователей в гибком экземпляре сервера Azure Database для PostgreSQL.
Предположим, вы хотите узнать, как создавать пользователей подписки Azure и их привилегии и управлять ими. В этом случае вы можете посетить статью управления доступом на основе ролей Azure (Azure RBAC) или ознакомиться с настройкой ролей.
Учетная запись администратора сервера
При первом создании гибкого сервера в Базе данных Azure для PostgreSQL вы предоставили имя пользователя и пароль администратора сервера. Дополнительные сведения см. в статье "Создание гибкого сервера Базы данных Azure для PostgreSQL ", чтобы увидеть пошаговый подход. Так как имя пользователя администратора сервера настраивает пользователь, можно найти выбранное имя на портале Azure.
Экземпляр гибкого сервера базы данных Azure для PostgreSQL создается с тремя определенными ролями по умолчанию. Эти роли можно просмотреть, выполнив команду: SELECT rolname FROM pg_roles;
- Azure_pg_admin
- Азуресу
- пользователь-администратор сервера
Пользователь-администратор вашего сервера является членом роли azure_pg_admin. Однако учетная запись администратора сервера не входит в роль Azuresu. Так как эта служба является управляемой службой PaaS, только Майкрософт входит в роль суперпользователя.
Подсистема PostgreSQL использует права для управления доступом к объектам базы данных, как описано в документации по продукту PostgreSQL. В гибком сервере Azure Database для PostgreSQL пользователь-администратор сервера получает следующие привилегии:
- Вход, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE
Учетная запись администратора сервера может использоваться для создания дополнительных пользователей и предоставления этим пользователям роли azure_pg_admin. Кроме того, учетная запись администратора сервера может использоваться для создания менее привилегированных пользователей и ролей, имеющих доступ к отдельным базам данных и схемам.
Как создавать дополнительных пользователей-администраторов на гибком сервере базы данных Azure для PostgreSQL
Получите сведения о подключении и имя пользователя администратора. Для подключения к экземпляру гибкого сервера вашей базы данных Azure для PostgreSQL необходимо полное имя сервера и учетные данные администратора. Вы можете легко найти данные для входа на странице Обзор сервера или на странице Свойства на портале Azure.
Используйте учетную запись администратора и пароль для подключения к вашему экземпляру гибкого сервера Azure Database для PostgreSQL. Используйте предпочитаемое клиентское средство, например pgAdmin или psql. Если вы не уверены, как подключиться, см. статью "Создание гибкого сервера Базы данных Azure для PostgreSQL".
Измените и выполните следующий код SQL. Замените имя пользователя значением заполняющего элемента <new_user>, а пароль заполнителя замените собственным надежным паролем.
CREATE USER <new_user> CREATEDB CREATEROLE PASSWORD '<StrongPassword!>'; GRANT azure_pg_admin TO <new_user>;
Как создать пользователей базы данных в гибком сервере Azure Database for PostgreSQL
Получите сведения о подключении и имя пользователя администратора. Для подключения к гибкому экземпляру сервера Azure Database для 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.