๋ณธ๋ฌธ์œผ๋กœ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

์ด๊ฒŒ ์–ด๋–ค ์—๋Ÿฌ๋‚˜๋ฉด

์ง€๊ธˆ ํ˜„์žฌ ์„œ๋ฒ„์—์„œ (DB ๊น”๋ ค์ ธ์žˆ๋Š” ์„œ๋ฒ„) ์—์„œ๋Š” scram-sha-256 ์ธ์ฆ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ,
์ง€๊ธˆ ์“ฐ๊ณ  ์žˆ๋Š” JDBC ๋“œ๋ผ์ด๋ฒ„๋Š” ๊ทธ๊ฑธ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๋œป์ด๋‹ค.

 

๊ต‰์žฅํžˆ ์˜›๋‚  ํ”„๋กœ์ ํŠธ์—ฌ์„œ jdbc๋“œ๋ผ์ด๋ฒ„๊ฐ€ scram์„ ์ง€์›ํ•˜์ง€ ์•Š์•˜๋‹ค.

๋“œ๋ผ์ด๋ฒ„๋ฅผ ๋ฒ„์ „์—…ํ•˜๋ฉด๋˜์ง€๋งŒ ์ž๋ฐ” ๋ฒ„์ „์ด ๋‚ฎ์•„์„œ ๋‘˜๋‹ค ๋งŒ์กฑํ•˜๊ธฐ ์‰ฝ์ง€ ์•Š์•˜๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐœ๊ฒฌํ•œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ•!

 

์ผ๋‹จ ์„œ๋ฒ„์— postgres๊ฐ€ ์„ค์น˜๋œ ๊ณณ์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ๋‚˜๊ฐ™์€๊ฒฝ์šฐ D๋“œ๋ผ์ด๋ธŒ์— ๊น”๋ ค์žˆ์—ˆ๋Š”๋ฐ

๊ธฐ๋ณธ์ ์œผ๋กœ C๋“œ๋ผ์ด๋ธŒ์— ๊น”๋ฆฐ๋‹ค๊ณ  ํ•œ๋‹ค.

C:\Program Files\PostgreSQL\17\data

17์€ ๋ฒ„์ „์ด๋ผ ๋‹ค๋ฅด๊ฒŒ ๋– ๋„ ์ƒ๊ด€์—†๋‹ค.

 

์—ฌ๊ธฐ์„œ pg_hba.conf๋ผ๋Š” ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด์•ผํ•œ๋‹ค.

์ œ์ผ ๋ฐ‘์œผ๋กœ ๋‚ด๋ฆฌ๋ฉด

 

์ด๋Ÿฐ์‹์œผ๋กœ scram๋ฐฉ์‹์œผ๋กœ ๋˜์–ด์žˆ๋Š”๋ฐ

์ด๊ฒƒ์„ ๋ชจ๋‘ md5๋ฐฉ์‹์œผ๋กœ ๋ฐ”๊ฟ”์ค˜์•ผํ•œ๋‹ค.

 

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
#host    all             all             127.0.0.1/32            md5
host    all             all             0.0.0.0/0            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     all                                     md5
#host    replication     all             127.0.0.1/32            md5
#host    replication     all             ::1/128                 md5

๊ทธ๋Ÿฐ๋‹ค์Œ 

win + R๋ฒ„ํŠผ์ด๋‚˜ ์‹คํ–‰์ฐฝ์„ ์‹คํ–‰ํ•ด services.msc๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์—”ํ„ฐ๋ฅผ ๋ˆ„๋ฅธ๋‹ค.

์—ฌ๊ธฐ์„œ ๋‹ค์‹œ์‹œ์ž‘์„ ๋ˆ„๋ฅด๋ฉด md5์œผ๋กœ ๋‹ค์‹œ์‹œ์ž‘๋œ๋‹ค.

 

ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ๋์ด์•„๋‹ˆ๋‹ค!

์ด๋ฏธ ๋‚˜์˜ ๊ณ„์ •์ด scram๋ฐฉ์‹์œผ๋กœ ์•”ํ˜ธํ™”๊ฐ€ ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์—..

์ด๋Œ€๋กœ ์—ฐ๊ฒฐํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋กœ๊ทธ์ธ ํ• ๋•Œ ๋˜ md5๊ฐ€ ์•„๋‹ˆ๋ผ์„œ ์ดํ•ด๋ฅผ ๋ชปํ•˜๊ณ  ์—๋Ÿฌ๊ฐ€ ํ„ฐ์ง„๋‹ค...!

 

๊ทธ๋ž˜์„œ ์ง์ ‘ sql์‹คํ–‰์ฐฝ์„ ์ž์œ ๋กญ๊ฒŒ pgAdmin์ด๋‚˜ ๋””๋น„๋ฒ„ ๋“ฑ๋“ฑ์œผ๋กœ ์—ด์–ด ์ˆ˜์ •ํ•ด์ค˜์•ผํ•˜๋Š”๋ฐ

SELECT rolname, rolpassword FROM pg_authid WHERE rolname = 'postgres';
-- ํ˜„์žฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์–ด๋–ค ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€

show password_encryption; -- ํ˜„์žฌ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ €์žฅ๋ฐฉ์‹์ด ๋ญ”์ง€
SET password_encryption = 'md5'; -- md5๋กœ ์„ค์ • ๋ณ€๊ฒฝ

ALTER ROLE postgres WITH PASSWORD '๋‚ด๊ฐ€ ๋ฐ”๊ฟ€ ๋น„๋ฐ€๋ฒˆํ˜ธ'; -- md5๋กœ ์„ค์ •๋˜์–ด ๋ณ€๊ฒฝ๋จ

๋งŒ์•ฝ ์ฒซ๋ฒˆ์งธ ๋ช…๋ น์–ด๋ฅผ ์ป๋Š”๋ฐ md5๋กœ ๋˜์–ด์žˆ๋‹ค? ์•„๋ž˜๊บผ ์•ˆํ•ด๋„ ๋œ๋‹ค.

 

๊ทผ๋ฐ ๊ฑฐ๊ธฐ์„œ scram์–ด์ฉŒ๊ณ ๋กœ ๋œฌ๋‹ค๋ฉด ๋‘๋ฒˆ์งธ๋ช…๋ น์–ด๋ถ€ํ„ฐ ์ง„ํ–‰ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์ด๋Ÿฌ๋ฉด ์ด์ œ ๋‚ฎ์€ jdbc ๋“œ๋ผ์ด๋ฒ„ ๋ฒ„์ „์—์„œ๋„ ์ •์ƒ์ ์œผ๋กœ db์— ์ ‘์†๋œ๋‹ค ใ… ใ… ใ… ใ… !!

๋ฐ˜์‘ํ˜•