SCRAM-autentisering i Azure Database for PostgreSQL – flexibel server
GÄLLER FÖR: Azure Database for PostgreSQL – flexibel server
Salted Challenge Response Authentication Mechanism (SCRAM) är ett lösenordsbaserat protokoll för ömsesidig autentisering. Det är ett system för utmaningshantering som lägger till flera säkerhetsnivåer och förhindrar lösenordssniffning på ej betrodda anslutningar. SCRAM stöder lagring av lösenord på servern i ett kryptografiskt hashat formulär som ger avancerad säkerhet.
Kommentar
För att få åtkomst till en flexibel Azure Database for PostgreSQL-serverinstans med hjälp av SCRAM-autentiseringsmetoden måste klientbiblioteken ha stöd för SCRAM. Se listan över drivrutiner som stöder SCRAM.
Kommentar
SCRAM-autentisering medför extra beräkningsbelastning på dina programservrar, som behöver beräkna klientbeviset för varje autentisering. SCRAM:s prestandakostnader kan minskas genom att begränsa antalet anslutningar i programmets anslutningspool (minska chattigheten i ditt program) eller begränsa antalet samtidiga transaktioner som klienten tillåter (större transaktioner). Vi rekommenderar att du testar dina arbetsbelastningar innan du migrerar till SCRAM-autentisering.
Konfigurera SCRAM-autentisering
Ändra password_encryption till SCRAM-SHA-256. För närvarande har Azure Database for PostgreSQL flexibel server endast stöd för SCRAM med SHA-256.
Tillåt SCRAM-SHA-256 som autentiseringsmetod.
Viktigt!
Du kan välja att endast tillämpa SCRAM-autentisering genom att bara välja SCRAM-SHA-256-metoden. På så sätt kan användare med MD5-autentisering längre ansluta till servern. Innan du tillämpar SCRAM rekommenderar vi därför att du har både MD5 och SCRAM-SHA-256 som autentiseringsmetoder tills du uppdaterar alla användarlösenord till SCRAM-SHA-256. Du kan verifiera autentiseringstypen för användare med hjälp av frågan som nämns i steg 7.
Spara ändringarna. Det här är dynamiska egenskaper och kräver inte omstart av servern.
Från azure database for PostgreSQL–klienten för flexibel server ansluter du till den flexibla serverinstansen Azure Database for PostgreSQL. Ett exempel:
psql "host=myPGServer.postgres.database.azure.com port=5432 dbname=postgres user=myDemoUser password=<password> 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.
Verifiera lösenordskryptering.
postgres=> show password_encryption; password_encryption --------------------- scram-sha-256 (1 row)
Du kan sedan uppdatera lösenordet för användare.
postgres=> \password myDemoUser Enter new password: Enter it again: postgres=>
Du kan verifiera användarautentiseringstyper med hjälp av
azure_roles_authtype()
funktionen.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)
Du kan sedan ansluta från klienten som stöder SCRAM-autentisering till servern.
Kommentar
SCRAM-autentisering stöds också när den är ansluten till den inbyggda hanterade PgBouncer. Självstudien ovan är giltig för att konfigurera anslutning med hjälp av SCRAM-autentisering via inbyggd PgBouncer-funktion.