์๋ก์ด ๊ณผ์ ์ ์์์ ์์ํ์ฌ
TDE(Transparent Data Encryption)๊ฐ ๋ฑ์ฅํ์ต๋๋ค.
MySQL ํค๋ง
ํค๋ง์ ์๋ฒ๊ฐ ๋ก์ปฌ ํ์ผ(keyring_file) ๋๋ ์๊ฒฉ ์๋ฒ(์: HashiCorp Vault)์์ ํค๋ฅผ ์ฟผ๋ฆฌ, ์์ฑ ๋ฐ ์ญ์ ํ ์ ์๋๋ก ํ๋ ํ๋ฌ๊ทธ์ธ์ ๋๋ค. ํค๋ ๊ฒ์ ์๋๋ฅผ ๋์ด๊ธฐ ์ํด ํญ์ ๋ก์ปฌ์ ์บ์๋ฉ๋๋ค.
ํ๋ฌ๊ทธ์ธ์ ๋ ๊ฐ์ง ๋ฒ์ฃผ๋ก ๋๋ ์ ์์ต๋๋ค.
- ๋ก์ปฌ ์คํ ๋ฆฌ์ง. ์๋ฅผ ๋ค์ด ๋ก์ปฌ ํ์ผ(์ด๋ฅผ ํ์ผ ๊ธฐ๋ฐ ํค๋ง์ด๋ผ๊ณ ํจ)์ ๋๋ค.
- ์๊ฒฉ ์ ์ฅ์. ์๋ฅผ ๋ค์ด Vault Server(์๋ฒ ๊ธฐ๋ฐ ํค๋ง์ด๋ผ๊ณ ํจ).
ํค๋ฅผ ์ ์ฅํ๊ณ ๊ฒ์ํ ๋๋ฟ๋ง ์๋๋ผ ํค๋ฅผ ์์ํ ๋๋ ์ ์ฅ์ ์ ํ์ด ์กฐ๊ธ์ฉ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๋ถ๋ฆฌ๊ฐ ์ค์ํฉ๋๋ค.
ํ์ผ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ ๋ ์์ ์ ์ ์ฅ์์ ๋ชจ๋ ์ฝํ ์ธ (ํค ID, ํค ์ฌ์ฉ์, ํค ์ ํ ๋ฐ ํค ์์ฒด)๊ฐ ์บ์์ ๋ก๋๋ฉ๋๋ค.
๋ฐฑ์๋ ์ ์ฅ์(์: Vault ์๋ฒ)์ ๊ฒฝ์ฐ ์์ ์ ํค ID์ ํค ์ฌ์ฉ์๋ง ๋ก๋๋๋ฏ๋ก ๋ชจ๋ ํค๋ฅผ ๊ฐ์ ธ์๋ ์์ ์๋๊ฐ ๋๋ ค์ง์ง ์์ต๋๋ค. ํค๊ฐ ๋๋ฆฌ๊ฒ ๋ก๋๋ฉ๋๋ค. ์ฆ, ํค ์์ฒด๋ ์ค์ ๋ก ํ์ํ ๋๋ง Vault์์ ๋ก๋๋ฉ๋๋ค. ๋ค์ด๋ก๋ ํ ํค๋ ๋ฉ๋ชจ๋ฆฌ์ ์บ์๋๋ฏ๋ก ๋์ค์ Vault ์๋ฒ์ ๋ํ TLS ์ฐ๊ฒฐ์ ํตํด ํค์ ์ก์ธ์คํ ํ์๊ฐ ์์ต๋๋ค. ๋ค์์ผ๋ก ํค ์ ์ฅ์์ ์ด๋ค ์ ๋ณด๊ฐ ์๋์ง ๊ณ ๋ คํ์ญ์์ค.
์ฃผ์ ์ ๋ณด์๋ ๋ค์์ด ํฌํจ๋ฉ๋๋ค.
- ํค ์์ด๋ - ํค ์๋ณ์, ์:
INNODBKey-764d382a-7324-11e9-ad8f-9cb6d0d5dc99-1
- ํค ์ ํ - ์ฌ์ฉ๋ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐํ ํค ์ ํ, ๊ฐ๋ฅํ ๊ฐ: "AES", "RSA" ๋๋ "DSA".
- ํค ๊ธธ์ด - ํค ๊ธธ์ด(๋ฐ์ดํธ), AES: 16, 24 ๋๋ 32, RSA 128, 256, 512 ๋ฐ DSA 128, 256 ๋๋ 384.
- ์ฌ์ฉ์ ํค์ ์์ ์์ ๋๋ค. ํค๊ฐ ๋ง์คํฐ ํค์ ๊ฐ์ ์์คํ ํค์ธ ๊ฒฝ์ฐ ์ด ํ๋๋ ๋น์ด ์์ต๋๋ค. keyring_udf๋ฅผ ์ฌ์ฉํ์ฌ ํค๋ฅผ ๋ง๋ ๊ฒฝ์ฐ ์ด ํ๋๋ ํค ์์ ์๋ฅผ ๋ํ๋ ๋๋ค.
- ํค ๊ทธ ์์ฒด
ํค๋ key_id, user ์์ผ๋ก ๊ณ ์ ํ๊ฒ ์๋ณ๋ฉ๋๋ค.
ํค ์ ์ฅ ๋ฐ ์ญ์ ์๋ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
ํ์ผ ์ ์ฅ์ด ๋ ๋น ๋ฆ ๋๋ค. ํค ์ ์ฅ์๊ฐ ํ์ผ์ ๋ํ ํค์ ์ผํ์ฑ ์ฐ๊ธฐ๋ผ๊ณ ์๊ฐํ ์ ์์ง๋ง ๊ทธ๋ ์ง ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ๋ ๋ง์ ์์ ์ด ์์ต๋๋ค. ํ์ผ ์ ์ฅ์๊ฐ ์์ ๋ ๋๋ง๋ค ๋ชจ๋ ์ฝํ ์ธ ๊ฐ ๋จผ์ ๋ฐฑ์ ๋ฉ๋๋ค. ํ์ผ ์ด๋ฆ์ด my_biggest_secrets๋ผ๊ณ ๊ฐ์ ํ๋ฉด ๋ฐฑ์ ์ my_biggest_secrets.backup์ด ๋ฉ๋๋ค. ๋ค์์ผ๋ก ์บ์๊ฐ ๋ณ๊ฒฝ๋๊ณ (ํค๊ฐ ์ถ๊ฐ๋๊ฑฐ๋ ์ ๊ฑฐ๋จ) ๋ชจ๋ ๊ฒ์ด ์ฑ๊ณต์ ์ด๋ฉด ์บ์๊ฐ ํ์ผ๋ก ๋คํ๋ฉ๋๋ค. ๋๋ฌผ๊ฒ ์๋ฒ ์ถฉ๋๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ด ๋ฐฑ์ ํ์ผ์ด ํ์๋ ์ ์์ต๋๋ค. ๋ฐฑ์ ํ์ผ์ ๋ค์์ ํค๊ฐ ๋ก๋๋ ๋(์ผ๋ฐ์ ์ผ๋ก ์๋ฒ๋ฅผ ๋ค์ ์์ํ ํ) ์ญ์ ๋ฉ๋๋ค.
์๋ฒ ์ ์ฅ์์ ํค๋ฅผ ์ ์ฅํ๊ฑฐ๋ ์ญ์ ํ ๋ ์ ์ฅ์๋ "ํค ๋ณด๋ด๊ธฐ" / "ํค ์ญ์ ์์ฒญ" ๋ช ๋ น์ผ๋ก MySQL ์๋ฒ์ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค.
์๋ฒ ์์ ์๋๋ก ๋์๊ฐ ๋ณด๊ฒ ์ต๋๋ค. ์ ์ฅ์ ์์ฒด๊ฐ ์์ ์๋์ ์ํฅ์ ๋ฏธ์น๋ค๋ ์ฌ์ค ์ธ์๋ ์์ ์ ์ ์ฅ์์์ ์ผ๋ง๋ ๋ง์ ํค๋ฅผ ๊ฐ์ ธ์์ผ ํ๋์ง์ ๋ํ ์ง๋ฌธ๋ ์์ต๋๋ค. ๋ฌผ๋ก ์ด๋ ์๋ฒ ์คํ ๋ฆฌ์ง์ ํนํ ์ค์ํฉ๋๋ค. ์์ํ ๋ ์๋ฒ๋ ์ํธํ๋ ํ ์ด๋ธ/ํ ์ด๋ธ์คํ์ด์ค์ ํ์ํ ํค๋ฅผ ํ์ธํ๊ณ ์คํ ๋ฆฌ์ง์์ ํค๋ฅผ ์์ฒญํฉ๋๋ค. ๋ง์คํฐ ํค๊ฐ ์๋ "๊นจ๋ํ" ์๋ฒ์๋ ์ํธํ๋ฅผ ์ํ ํ๋์ ๋ง์คํฐ ํค๊ฐ ์์ด์ผ ํ๋ฉฐ ์คํ ๋ฆฌ์ง์์ ๊ฒ์ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์๋ฅผ ๋ค์ด ๊ธฐ๋ณธ ์๋ฒ์ ๋ฐฑ์ ์ด ๋๊ธฐ ์๋ฒ๋ก ๋ณต์๋๋ ๊ฒฝ์ฐ ๋ ๋ง์ ํค๊ฐ ํ์ํ ์ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๋ง์คํฐ ํค ์ํ์ ์ ๊ณตํด์ผ ํฉ๋๋ค. ์ด์ ๋ํด์๋ ํฅํ ๊ธฐ์ฌ์์ ๋ ์์ธํ ์ค๋ช ํ๊ฒ ์ง๋ง ์ฌ๊ธฐ์์๋ ํนํ ์๋ฒ ํค ์ ์ฅ์๋ฅผ ์ฌ์ฉํ ๋ ์ฌ๋ฌ ๋ง์คํฐ ํค๋ฅผ ์ฌ์ฉํ๋ ์๋ฒ๋ฅผ ์์ํ๋ ๋ฐ ์๊ฐ์ด ์กฐ๊ธ ๋ ๊ฑธ๋ฆด ์ ์๋ค๋ ์ ์ ์ ์ํ๊ณ ์ถ์ต๋๋ค.
์ด์ keyring_file์ ๋ํด ์กฐ๊ธ ๋ ์ด์ผ๊ธฐํด ๋ด ์๋ค. keyring_file์ ์ค๊ณํ ๋ ์๋ฒ๊ฐ ์คํ๋๋ ๋์ keyring_file ๋ณ๊ฒฝ ์ฌํญ์ ํ์ธํ๋ ๋ฐฉ๋ฒ๋ ๊ณ ๋ฏผํ์ต๋๋ค. 5.7์์๋ ์ด์์ ์ด์ง ์์ ํ์ผ ํต๊ณ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒ์ฌ๊ฐ ์ํ๋์์ผ๋ฉฐ 8.0์์๋ SHA256 ์ฒดํฌ์ฌ์ผ๋ก ๋์ฒด๋์์ต๋๋ค.
keyring_file์ด ์ฒ์ ์คํ๋ ๋ ํ์ผ ํต๊ณ ๋ฐ ์ฒดํฌ์ฌ์ด ์๋ฒ์์ ๊ณ์ฐ ๋ฐ ๊ธฐ์ต๋๋ฉฐ ์ผ์นํ๋ ๊ฒฝ์ฐ์๋ง ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋ฉ๋๋ค. ํ์ผ์ด ๋ณ๊ฒฝ๋๋ฉด ์ฒดํฌ์ฌ์ด ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฏธ ํค ์ ์ฅ์์ ๋ํ ๋ง์ ์ง๋ฌธ์ ๋ค๋ฃจ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ข ์ข ์์ด๋ฒ๋ฆฌ๊ฑฐ๋ ์คํดํ๊ธฐ ์ฌ์ด ๋ ๋ค๋ฅธ ์ค์ํ ์ฃผ์ ๊ฐ ์์ต๋๋ค. ๋ฐ๋ก ์๋ฒ ๊ฐ ํค ๊ณต์ ์ ๋๋ค.
๋ด ๋ง์? ํด๋ฌ์คํฐ์ ๊ฐ ์๋ฒ(์: Percona ์๋ฒ)๋ Percona ์๋ฒ๊ฐ ํด๋น ํค๋ฅผ ์ ์ฅํด์ผ ํ๋ Vault ์๋ฒ์ ๋ณ๋์ ์์น๊ฐ ์์ด์ผ ํฉ๋๋ค. ์๊ฒฉ ์ฆ๋ช ๋ชจ์์ ์ ์ฅ๋ ๊ฐ ๋ง์คํฐ ํค์๋ ํด๋น ID ๋ด์ Percona ์๋ฒ GUID๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ ์ค์ ํจ? Vault ์๋ฒ๊ฐ ํ๋๋ง ์๊ณ ํด๋ฌ์คํฐ์ ๋ชจ๋ Percona ์๋ฒ๊ฐ ์ด ๋จ์ผ Vault ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋ฌธ์ ๋ ๋ช ๋ฐฑํด ๋ณด์ธ๋ค. ๋ชจ๋ Percona ์๋ฒ๊ฐ ๊ณ ์ ์๋ณ์๊ฐ ์๋ ๋ง์คํฐ ํค(์: id = 1, id = 2 ๋ฑ)๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ํด๋ฌ์คํฐ์ ๋ชจ๋ ์๋ฒ๋ ๋์ผํ ๋ง์คํฐ ํค๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๊ฒ์ด GUID๊ฐ ์ ๊ณตํ๋ ๊ฒ, ์ฆ ์๋ฒ ๊ฐ์ ๊ตฌ๋ณ์ ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ฏธ ๊ณ ์ ํ GUID๊ฐ ์๋ ๊ฒฝ์ฐ ์๋ฒ ๊ฐ ํค ๊ณต์ ์ ๋ํด ์ด์ผ๊ธฐํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? keyring_udf๋ผ๋ ๋ ๋ค๋ฅธ ํ๋ฌ๊ทธ์ธ์ด ์์ต๋๋ค. ์ด ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ๋ฉด ์๋ฒ ์ฌ์ฉ์๊ฐ Vault ์๋ฒ์ ํค๋ฅผ ์ ์ฅํ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ ์ฌ์ฉ์๊ฐ ์๋ฅผ ๋ค์ด server1์์ ํค๋ฅผ ๋ง๋ ๋ค์ server2์์ ๋์ผํ ID๋ก ํค๋ฅผ ๋ง๋ค๋ ค๊ณ ํ ๋ ๋ฐ์ํฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
--server1:
select keyring_key_store('ROB_1','AES',"123456789012345");
1
--1 ะทะฝะฐัะธั ััะฟะตัะฝะพะต ะทะฐะฒะตััะตะฝะธะต
--server2:
select keyring_key_store('ROB_1','AES',"543210987654321");
1
๊ธฐ๋ค๋ฆฌ๋ค. ๋ ์๋ฒ ๋ชจ๋ ๋์ผํ Vault ์๋ฒ๋ฅผ ์ฌ์ฉํฉ๋๋ค. keyring_key_store ๊ธฐ๋ฅ์ด server2์์ ์คํจํ๋ฉด ์ ๋ฉ๋๊น? ํฅ๋ฏธ๋กญ๊ฒ๋ ๋์ผํ ์๋ฒ์์ ๋์ผํ ์์ ์ ์ํํ๋ ค๊ณ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
--server1:
select keyring_key_store('ROB_1','AES',"123456789012345");
1
select keyring_key_store('ROB_1','AES',"543210987654321");
0
๋ง์ต๋๋ค. ROB_1์ ์ด๋ฏธ ์กด์ฌํฉ๋๋ค.
๋จผ์ ๋ ๋ฒ์งธ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์์ ๋งํ๋ฏ์ด keyring_vault ๋๋ ๋ค๋ฅธ ๋ณผํธ ํ๋ฌ๊ทธ์ธ(keyring)์ ๋ชจ๋ ํค ID๋ฅผ ๋ฉ๋ชจ๋ฆฌ์ ์บ์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ ํค๋ฅผ ์์ฑํ ํ ROB_1์ด server1์ ์ถ๊ฐ๋๊ณ ์ด ํค๋ฅผ Vault๋ก ๋ณด๋ด๋ ๊ฒ ์ธ์ ์บ์์๋ ํค๊ฐ ์ถ๊ฐ๋ฉ๋๋ค. ์ด์ ๋์ผํ ํค๋ฅผ ๋ ๋ฒ์งธ๋ก ์ถ๊ฐํ๋ ค๊ณ ํ๋ฉด keyring_vault๋ ํค๊ฐ ์บ์์ ์๋์ง ํ์ธํ๊ณ ์ค๋ฅ๋ฅผ ๋ฐ์์ํต๋๋ค.
์ฒซ ๋ฒ์งธ ๊ฒฝ์ฐ์๋ ์ํฉ์ด ๋ค๋ฆ ๋๋ค. Server1๊ณผ server2์๋ ๋ณ๋์ ์บ์๊ฐ ์์ต๋๋ค. ROB_1์ server1 ๋ฐ Vault ์๋ฒ์ ํค ์บ์์ ์ถ๊ฐํ ํ server2์ ํค ์บ์๊ฐ ๋๊ธฐํ๋์ง ์์ต๋๋ค. server2์ ์บ์์ ROB_1 ํค๊ฐ ์์ต๋๋ค. ๋ฐ๋ผ์ ROB_1 ํค๋ keyring_key_store์ Vault ์๋ฒ์ ๊ธฐ๋ก๋๋ฉฐ ์ค์ ๋ก ์ด์ ๊ฐ์ ๋ฎ์ด์๋๋ค(!). ์ด์ Vault ์๋ฒ์ ROB_1 ํค๋ 543210987654321์ ๋๋ค. ํฅ๋ฏธ๋กญ๊ฒ๋ Vault ์๋ฒ๋ ์ด๋ฌํ ์์ ์ ์ฐจ๋จํ์ง ์๊ณ ์ด์ ๊ฐ์ ์ฝ๊ฒ ๋ฎ์ด์๋๋ค.
์ด์ keyring_udf๋ฅผ ์ฌ์ฉํ๊ณ Vault์ ํค๋ฅผ ์ ์ฅํ๋ ค๋ ๊ฒฝ์ฐ Vault์์ ์๋ฒ๋ณ ๋ถ๋ฆฌ๊ฐ ์ค์ํ ์ด์ ๋ฅผ ์ ์ ์์ต๋๋ค. Vault ์๋ฒ์์ ์ด๋ฌํ ๋ถ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
Vault์์ ๋ถํ ํ๋ ๋ฐฉ๋ฒ์๋ ๋ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ๊ฐ ์๋ฒ์ ๋ํด ๋ค๋ฅธ ๋ง์ดํธ ์ง์ ์ ๋ง๋ค๊ฑฐ๋ ๋์ผํ ๋ง์ดํธ ์ง์ ๋ด์์ ๋ค๋ฅธ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ์์ ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๋จผ์ ๊ฐ๋ณ ๋ง์ดํธ ์ง์ ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
--server1:
vault_url = http://127.0.0.1:8200
secret_mount_point = server1_mount
token = (...)
vault_ca = (...)
--server2:
vault_url = http://127.0.0.1:8200
secret_mount_point = sever2_mount
token = (...)
vault_ca = (...)
์ฌ๊ธฐ์์ server1๊ณผ server2๊ฐ ์๋ก ๋ค๋ฅธ ๋ง์ดํธ ์ง์ ์ ์ฌ์ฉํจ์ ์ ์ ์์ต๋๋ค. ๊ฒฝ๋ก ๋ถ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ตฌ์ฑ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
--server1:
vault_url = http://127.0.0.1:8200
secret_mount_point = mount_point/server1
token = (...)
vault_ca = (...)
--server2:
vault_url = http://127.0.0.1:8200
secret_mount_point = mount_point/sever2
token = (...)
vault_ca = (...)
์ด ๊ฒฝ์ฐ ๋ ์๋ฒ ๋ชจ๋ ๋์ผํ ๋ง์ดํธ ์ง์ "mount_point"๋ฅผ ์ฌ์ฉํ์ง๋ง ๊ฒฝ๋ก๋ ๋ค๋ฆ ๋๋ค. ์ด ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ์ฌ server1์์ ์ฒซ ๋ฒ์งธ ๋น๋ฐ์ ์์ฑํ๋ฉด Vault ์๋ฒ๊ฐ ์๋์ผ๋ก "server1" ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค. server2์ ๊ฒฝ์ฐ ๋ชจ๋ ๊ฒ์ด ๋์ผํฉ๋๋ค. mount_point/server1 ๋๋ mount_point/server2์์ ๋ง์ง๋ง ์ํธ๋ฅผ ์ญ์ ํ๋ฉด Vault ์๋ฒ๋ ํด๋น ๋๋ ํฐ๋ฆฌ๋ฅผ ์ญ์ ํฉ๋๋ค. ๋ถํ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ง์ดํธ ์ง์ ์ ํ๋๋ง ๋ง๋ค๊ณ ์๋ฒ๊ฐ ๋ณ๋์ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑ ํ์ผ์ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. ๋ง์ดํธ ์ง์ ์ HTTP ์์ฒญ์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค. CURL์ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ํํ ์ ์์ต๋๋ค.
curl -L -H "X-Vault-Token: TOKEN" โcacert VAULT_CA
--data '{"type":"generic"}' --request POST VAULT_URL/v1/sys/mounts/SECRET_MOUNT_POINT
๋ชจ๋ ํ๋(TOKEN, VAULT_CA, VAULT_URL, SECRET_MOUNT_POINT)๋ ๊ตฌ์ฑ ํ์ผ์ ๋งค๊ฐ๋ณ์์ ํด๋นํฉ๋๋ค. ๋ฌผ๋ก Vault ์ ํธ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋์ผํ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ง์ดํธ ์ง์ ์์ฑ์ ์๋ํํ๋ ๊ฒ์ด ๋ ์ฝ์ต๋๋ค. ์ด ์ ๋ณด๊ฐ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋ผ๋ฉฐ ์ด ์๋ฆฌ์ฆ์ ๋ค์ ๊ธฐ์ฌ์์ ๋ต๊ฒ ์ต๋๋ค.
๋ ์ฝ์ด๋ณด๊ธฐ:
์ถ์ฒ : habr.com