Skip to content

Commit 4718e55

Browse files
stejskalleosevgeni
authored andcommitted
Use scram-sha-256 for password encryption
1 parent 0083fe2 commit 4718e55

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

src/roles/postgresql/tasks/main.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,18 @@
4949
enabled: true
5050
state: started
5151

52+
# SCRAM-SHA-256 is default for PostgreSQL 14+,
53+
# after the upgrade, we can drop this task.
54+
- name: Use scram-sha-256 for password encryption
55+
community.postgresql.postgresql_set:
56+
login_user: postgres
57+
login_password: "{{ postgresql_admin_password }}"
58+
login_host: localhost
59+
name: password_encryption
60+
value: "scram-sha-256"
61+
notify:
62+
- Restart postgresql
63+
5264
- name: Create PostgreSQL users
5365
community.postgresql.postgresql_user:
5466
name: "{{ item.name }}"

tests/postgresql_test.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import csv
2+
13
def test_postgresql_service(server):
24
postgresql = server.service("postgresql")
35
assert postgresql.is_running
@@ -20,3 +22,13 @@ def test_postgresql_users(server):
2022
assert "foreman" in result.stdout
2123
assert "candlepin" in result.stdout
2224
assert "pulp" in result.stdout
25+
26+
def test_postgresql_password_encryption(server):
27+
result = server.run("podman exec postgresql psql -U postgres -c 'SHOW password_encryption'")
28+
assert "scram-sha-256" in result.stdout
29+
30+
result = server.run("echo 'COPY (select * from pg_shadow) TO STDOUT (FORMAT CSV);' | podman exec -i postgresql psql -U postgres")
31+
32+
reader = csv.reader(result.stdout.splitlines())
33+
for row in reader:
34+
assert ("SCRAM-SHA-256" in row[6])

0 commit comments

Comments
 (0)