Проверка подлинности SCRAM в Базе данных Azure для PostgreSQL (гибкий сервер)
ОБЛАСТЬ ПРИМЕНЕНИЯ: База данных Azure для PostgreSQL — гибкий сервер
Механизм проверки подлинности с ответом на соленый вызов (SCRAM) — это протокол взаимной проверки подлинности посредством пароля. Это схема запроса и ответа, которая добавляет несколько уровней безопасности и предотвращает сканирование паролей в ненадежных подключениях. SCRAM поддерживает хранение паролей на сервере в криптографически хэшированной форме, которая обеспечивает повышенный уровень безопасности.
Примечание.
Чтобы получить доступ к гибкому экземпляру сервера База данных Azure для PostgreSQL с помощью метода проверки подлинности SCRAM, клиентские библиотеки должны поддерживать SCRAM. См. список драйверов, поддерживающих протокол SCRAM.
Примечание.
Проверка подлинности SCRAM накладывает дополнительную вычислительные нагрузку на серверы приложений, которые должны вычислить подтверждение клиента для каждой проверки подлинности. Общие сведения о нагрузке на производительность SCRAM могут быть устранены путем ограничения количества подключений в пуле подключений приложения (снижение общения в приложении) или ограничение количества одновременных транзакций, которые разрешает клиент (блокировки транзакций). Рекомендуется протестировать рабочие нагрузки перед миграцией на проверку подлинности SCRAM.
Настройка проверки подлинности SCRAM
Измените password_encryption на SCRAM-SHA-256. В настоящее время База данных Azure для PostgreSQL гибкий сервер поддерживает только SCRAM с помощью SHA-256.
Разрешите использовать SCRAM-SHA-256 в качестве способа проверки подлинности.
Внимание
Вы можете принудительно применить проверку подлинности по протоколу SCRAM, выбрав только способ SCRAM-SHA-256. Таким образом, пользователи, использующие проверку подлинности MD5, могут дольше подключаться к серверу. Поэтому перед применением протокола SCRAM рекомендуется использовать MD5 и SCRAM-SHA-256 в качестве способов проверки подлинности до тех пор, пока все пароли пользователей не будут обновлены до SCRAM-SHA-256. Проверить тип проверки подлинности для пользователей можно с помощью запроса, указанного в шаге 7.
Сохраните изменения. Это динамические свойства, которые не требуют перезапуска сервера.
С База данных Azure для PostgreSQL гибкого клиента сервера подключитесь к База данных Azure для PostgreSQL гибкому экземпляру сервера. Например,
psql "host=myPGServer.postgres.database.azure.com port=5432 dbname=postgres user=myDemoUser password=MyPassword sslmode=require" psql (12.3 (Ubuntu 12.3-1.pgdg18.04+1), server 12.6) SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off) Type "help" for help.
Проверьте шифрование пароля.
postgres=> show password_encryption; password_encryption --------------------- scram-sha-256 (1 row)
Затем можно обновить пароль для пользователей.
postgres=> \password myDemoUser Enter new password: Enter it again: postgres=>
Проверить типы проверки подлинности пользователей можно с помощью функции
azure_roles_authtype()
.postgres=> SELECT * from azure_roles_authtype(); rolename | authtype ---------------------------+----------- azuresu | NOLOGIN pg_monitor | NOLOGIN pg_read_all_settings | NOLOGIN pg_read_all_stats | NOLOGIN pg_stat_scan_tables | NOLOGIN pg_read_server_files | NOLOGIN pg_write_server_files | NOLOGIN pg_execute_server_program | NOLOGIN pg_signal_backend | NOLOGIN replication | NOLOGIN myDemoUser | SCRAM-256 azure_pg_admin | NOLOGIN srtest | SCRAM-256 sr_md5 | MD5 (14 rows)
Затем можно выполнить подключение из клиента, который поддерживает проверку подлинности SCRAM на сервере.
Примечание.
Проверка подлинности SCRAM также поддерживается при подключении к встроенному управляемому PgBouncer. Приведенный выше учебник действителен для настройки подключения с помощью проверки подлинности SCRAM с помощью встроенной функции PgBouncer.
Следующие шаги
- Создание виртуальной сети для Базы данных Azure для PostgreSQL (Гибкий сервер) и управление ею с помощью Azure CLI
- Изучите дополнительные сведения о сетевых подключениях к Базы данных Azure для PostgreSQL (Гибкий сервер)
- Узнайте больше о правилах брандмауэра гибкого сервера базы данных Azure для PostgreSQL.