SCRAM-verificatie in Azure Database for PostgreSQL - Flexibele server
VAN TOEPASSING OP: Azure Database for PostgreSQL - Flexibele server
Salted Challenge Response Authentication Mechanism (SCRAM) is een op wachtwoorden gebaseerd protocol voor wederzijdse verificatie. Het is een challenge-response-schema dat verschillende beveiligingsniveaus toevoegt en voorkomt dat wachtwoorden worden opgeslagen op niet-vertrouwde verbindingen. SCRAM ondersteunt het opslaan van wachtwoorden op de server in een cryptografisch gehashte vorm die geavanceerde beveiliging biedt.
Notitie
Voor toegang tot een exemplaar van een flexibele Azure Database for PostgreSQL-server met behulp van de SCRAM-verificatiemethode moeten uw clientbibliotheken SCRAM ondersteunen. Raadpleeg de lijst met stuurprogramma's die SCRAM ondersteunen.
Notitie
SCRAM-verificatie legt extra rekenkracht op uw toepassingsservers op, die het clientbewijs voor elke verificatie moet berekenen. De scram voor prestatieoverhead kan worden beperkt door het aantal verbindingen in de verbindingsgroep van uw toepassing te beperken (minder chatruimte in uw toepassing) of door het aantal gelijktijdige transacties te beperken dat uw client toestaat (chunkier transacties). Het wordt aanbevolen om uw workloads te testen voordat u migreert naar SCRAM-verificatie.
SCRAM-verificatie configureren
Wijzig password_encryption in SCRAM-SHA-256. Momenteel biedt Azure Database for PostgreSQL flexibele server alleen ondersteuning voor SCRAM met SHA-256.
Sta SCRAM-SHA-256 toe als verificatiemethode.
Belangrijk
U kunt ervoor kiezen om alleen SCRAM-verificatie af te dwingen door alleen de SCRAM-SHA-256-methode te selecteren. Hierdoor kunnen gebruikers met MD5-verificatie langer verbinding maken met de server. Voordat u SCRAM afdwingt, is het daarom raadzaam om zowel MD5 als SCRAM-SHA-256 als verificatiemethoden te gebruiken totdat u alle gebruikerswachtwoorden bijwerkt naar SCRAM-SHA-256. U kunt het verificatietype voor gebruikers verifiëren met behulp van de query die wordt vermeld in stap 7.
De wijzigingen opslaan. Dit zijn dynamische eigenschappen en vereisen geen server opnieuw opstarten.
Maak vanuit uw flexibele Azure Database for PostgreSQL-serverclient verbinding met het flexibele serverexemplaren van Azure Database for PostgreSQL. Bijvoorbeeld:
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.
Controleer de wachtwoordversleuteling.
postgres=> show password_encryption; password_encryption --------------------- scram-sha-256 (1 row)
Vervolgens kunt u het wachtwoord voor gebruikers bijwerken.
postgres=> \password myDemoUser Enter new password: Enter it again: postgres=>
U kunt verificatietypen van gebruikers verifiëren met behulp van
azure_roles_authtype()
de functie.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)
Vervolgens kunt u verbinding maken vanaf de client die SCRAM-verificatie ondersteunt met uw server.
Notitie
SCRAM-verificatie wordt ook ondersteund wanneer deze is verbonden met de ingebouwde beheerde PgBouncer. Bovenstaande zelfstudie is geldig voor het instellen van connectiviteit met behulp van SCRAM-verificatie via de ingebouwde PgBouncer-functie.