[Snowflake Partner Technical Bootcamp] 5. Security & Governance
Security
Snowkflake์ ๋ณด์์ ๋คํธ์ํฌ ์ ์ด, ์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ๊ด๋ฆฌ, ๊ฑฐ๋ฒ๋์ค ๋ฐ ๊ถํ, ๋ฐ์ดํฐ ๋ณดํธ, ๋ฐ์ดํฐ ์ํธํ 5๊ฐ์ง ๋ถ์ผ ๋ณ๋ก ๊ฐ๋ตํ ์ ๋ฆฌํ๋ค.
Network Controls
Snowflake์ Network Controls์ ์ฌ์ฉ์๊ฐ Snowflake์ ์ ๊ทผํ๊ณ ์๋ ํด๋ผ์ด์ธํธ์ Snowflake ์๋น์ค ๊ฐ์ ๋คํธ์ํฌ ํต์ ์ ๋ณดํธํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ธฐ๋ฅ์ด๋ค.
CSP Private Network
Snowflake์ CSP Private Network๋ฅผ ์ง์ํ๋ฉฐ, ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ๋ณด๋ค ์์ ํ๊ฒ ์ฌ์ฉํ ์ ์๋ค. CSP Private Network๋ ๊ณต์ฉ ์ธํฐ๋ท์ ์ฐํํ์ฌ CSP์์ ์ ๊ณตํ๋ ํ๋ผ์ด๋น ๋คํธ์ํฌ๋ฅผ ํตํด ๋ณด๋ค ์์ ํ ํต์ ์ด ๊ฐ๋ฅํ๋๋ก ํ๋ค. ์ด๋ฅผ ํตํด ๊ณ ๊ฐ์ ๋ฐ์ดํฐ์ CSP ๊ฐ์ ํต์ ์ ์ํธํํ๊ณ , ๋ณด์์ ๊ฐํํ ์ ์๋ค.
๋คํธ์ํฌ ํต์
Snowflake์ SSL/TLS๋ฅผ ์ฌ์ฉํ ์ํธํ๋ ํต์ ์ ์ ๊ณตํ๋ค. Snowflake์์ ํด๋ผ์ด์ธํธ, ์ 3์ ๋๊ตฌ์ Snowflake ๊ฐ์ ๋ชจ๋ ๋คํธ์ํฌ ํต์ ์ TLS 1.2 ํ๋กํ ์ฝ(2023.03 ๊ธฐ์ค)์ ์ฌ์ฉํ์ฌ ์ํธํ ๋๋ค. ์ด๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํต์ ์์ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ๋ณด์์ ์ ์งํ๊ณ , ์ค๊ฐ์ ๊ณต๊ฒฉ ๋ฐ ๋ฐ์ดํฐ ์ ์ถ์ ๋ฐฉ์งํ๊ธฐ ์ํจ์ด๋ค.
๋คํธ์ํฌ ์ ์ฑ
Snowflake์ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ ์ ์๋ IP์ฃผ์๋ฅผ ์ ํํ๋ ๋คํธ์ํฌ ์ ์ฑ ์ ์ค์ ํ ์ ์๋ค. ์ด๋ฅผ ํตํด ๋ถํ์ํ ์ ๊ทผ์ ์ฐจ๋จํ๊ณ , ๋ณด์์ ๊ฐํํ ์ ์๋ค.
- Blacklist : ์ ์์ ์ธ ํธ๋ํฝ์ด๋ ๋ถํ์ํ ํธ๋ํฝ์ ์ฐจ๋จํ๊ธฐ ์ํด ํ์ฉ๋์ง ์๋ IP์ฃผ์ ๋ชฉ๋ก์ผ๋ก, ์ด ๋ชฉ๋ก์ ๋ฑ๋ก๋ IP์ฃผ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐ๊ฒฐ์ ์ฐจ๋จํ๊ณ , ํ์ฉ๋์ง ์์ ํธ๋ํฝ์ ์ฐจ๋จํ๋ค.
- Whitelist : ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ ์ ์๋ IP์ฃผ์ ๋ชฉ๋ก์ผ๋ก, ์ด ๋ชฉ๋ก์ ๋ฑ๋ก๋ IP ์ฃผ์๋ง์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฐ๊ฒฐ์ ํ์ฉํ๋ค.
Snowflake์ ๋คํธ์ํฌ ์ ์ด ๊ธฐ๋ฅ์ ํตํด ๋ฐ์ดํฐ์ ๊ธฐ๋ฐ์ฑ, ๋ฌด๊ฒฐ์ฑ, ๊ฐ์ฉ์ฑ์ ๋ณดํธํ๊ณ , ๋ณด์ ์ํ์ผ๋ก๋ถํฐ ๋ณดํธํ ์ ์๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ํตํด ๊ณ ๊ฐ์ ์์ ํ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ์ฒ๋ฆฌํ ์ ์๋ค.
Identity & Authentication
Snowflake์ Identity & Authentication์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ์ ๋ํ ์ ์ ํ์ธ ๋ฐ ์ธ์ฆ์ ๋ด๋นํ๋ ๊ธฐ๋ฅ์ด๋ค.
์ธ์ฆ : Native Snowflake Credentials ์ง์
Native Snowflake Credential๋ Snowflake์ด ์ ๊ณตํ๋ ์ธ์ฆ ๊ธฐ๋ฅ ์ค ํ๋๋ก, Snowflake์ ์ง์ ์ ์ผ๋ก ๊ณ์ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํจ์ผ๋ก์จ, ์ธ๋ถ ์ธ์ฆ ๊ณต๊ธ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ ์ฌ์ฉ์ ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ๋ฅผ ์ํํ ์ ์๋๋ก ํด์ค๋ค.
Native Snowflake Credential์ ํตํด, Snowflake์์๋ ์๋์ ๊ฐ์ ๋ค์ํ ์ธ์ฆ ์ต์ ๋ค์ ์ ๊ณตํ๊ณ ์๋ค.
- ์ฌ์ฉ์ ์ด๋ฆ ๋ฐ ๋น๋ฐ๋ฒํธ : ์ผ๋ฐ์ ์ธ ์ฌ์ฉ์ ์ด๋ฆ ๋ฐ ๋น๋ฐ๋ฒํธ ์กฐํฉ์ ์ฌ์ฉํ๋ค.
- MFA (Multi-Factor Authentication) : ์ฌ์ฉ์๋ ์ธ์ฆ์ ํ์ํ ๋ ๊ฐ์ง ์ด์์ ์ธ์ฆ ์์๋ฅผ ์ ๊ณตํด์ผ ํ๋ค. ( ex) ๋น๋ฐ๋ฒํธ์ SMS๋ก ์ ์ก๋ ์ผํ์ฉ ์ฝ๋, ๋๋ ๋น๋ฐ๋ฒํธ์ ๋ณด์ ํ ํฐ ๋ฑ )
- SSO (Single Sign-On) : ์ฌ์ฉ์๋ ํ ๋ฒ ๋ก๊ทธ์ธํ๋ฉด ์ฌ๋ฌ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋์ผ๋ก ์ก์ธ์คํ ์ ์๋ค. Snowflake์์๋ SSO๋ฅผ ์ํด SAML 2.0์ ์ง์ํ๋ค.(2023.03)
- OAuth : ์ฌ์ฉ์๋ Snowflake ๊ณ์ ์ ๋ํ ๊ถํ์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ์๋น์ค์ ์์ํ ์ ์๋ค. OAuth๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆํ๋ ค๋ฉด, ์ฌ์ฉ์๋ Snowflake์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฑ๋กํ๊ณ ์ธ์ฆ ํ ํฐ์ ๋ฐ๊ธ๋ฐ์์ผ ํ๋ค.
- Key Pair Authentication : ์ฌ์ฉ์๋ ๋จผ์ ๊ณต๊ฐํค์ ๊ฐ์ธํค๋ฅผ ์์ฑํด์ผ ํ๋ค. ๊ณต๊ฐํค๋ Snowflake์ ๋ฑ๋ก๋๋ฉฐ, ๊ฐ์ธํค๋ ์ฌ์ฉ์๊ฐ ์์ ํ๊ฒ ๋ณด๊ดํด์ผ ํ๋ค. Key Pair Authentication์ ๊ธฐ๋ณธ์ ์ผ๋ก SSH ํ๋กํ ์ฝ์ ๋ฐ๋ฅด๋ฉฐ, ์ฌ์ฉ์๋ ๊ณต๊ฐํค๋ฅผ SSH ์ธ์ฆ ํ๋ก์ธ์ค์์ ์ฌ์ฉํ ์ ์๋ค.
Native Snowflake Credential์ ํนํ ๊ฐ๋ฐ ๋ฐ ํ ์คํธ ํ๊ฒฝ์์ ์ ์ฉํ๋ค. ์ธ๋ถ ID ๊ณต๊ธ์๋ฅผ ๊ตฌ์ฑํ๊ฑฐ๋ ๊ด๋ฆฌํ ํ์ ์์ด ๊ฐํธํ๊ฒ ์ฌ์ฉ์ ์ธ์ฆ์ ์ํํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
์ฌ์ฉ์ ๋ฐ ๊ทธ๋ฃน ๊ด๋ฆฌ
Snowflake๋ ์ฌ์ฉ์์ ์ ์ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ, AWS, Azure ๋ฐ Okta์ ๊ฐ์ ์ธ๋ถ ID ๊ณต๊ธ์์ ํตํฉํ์ฌ ์ฌ์ฉ์ ์ ์ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๊ฐ ๋์ฑ ์ฝ๊ฒ ๋ก๊ทธ์ธํ๊ณ , ์ ๋ขฐ์ฑ ๋์ ์ ์ ํ์ธ์ ์ํํ ์ ์๋ค.
SSO ์ง์
Authentication์ ์ฌ์ฉ์๊ฐ ์ ์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ , ์ด๋ฅผ ๊ฒ์ฆํ์ฌ ํด๋น ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ ์ ์๋ ๊ถํ์ด ์๋์ง ํ์ธํ๋ ๊ณผ์ ์ด๋ค. Snowflake์์๋ ๋น๋ฐ๋ฒํธ ๊ธฐ๋ฐ ์ธ์ฆ ๋ฐ SSO(Single Sign-On)๋ฅผ ํฌํจํ ๋ค์ํ ์ธ์ฆ ๋ฐฉ์์ ์ ๊ณตํ๋ค.
๋ํ, Snowflake์์๋ MFA(Multi-Factor Authentication)์ ์ง์ํ์ฌ ์ถ๊ฐ์ ์ธ ๋ณด์์ฑ์ ์ ๊ณตํ๋ค. MFA๋ ๋ก๊ทธ์ธ ์ ์ฌ์ฉ์์ ์ ์ ํ์ธ์ ์ถ๊ฐ์ ์ธ ๋จ๊ณ๋ฅผ ์ถ๊ฐํ์ฌ ๋ณด์์ ๊ฐํํ๋ค.
Snowflake์ Identity & Authentication ๊ธฐ๋ฅ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ๊ทผ์ ๋ํ ๋ณด์์ฑ์ ๋์ด๊ณ , ๋ฐ์ดํฐ์ ๊ธฐ๋ฐ์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ๋ณดํธํ๋ ๋ฐ ํฐ ์ญํ ์ ํ๋ค.
Governance & Authorization
Snowflake๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค ํ๋ซํผ์ผ๋ก์, ๋ฐ์ดํฐ์ ๋ณด์๊ณผ ์ ๊ทผ ์ ์ด๋ฅผ ์ํด ๋ค์ํ governance ๋ฐ authorization ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค
์ ๊ทผ ์ ์ด
์ ๊ทผ ์ ์ด ๊ธฐ๋ฅ์ ํตํด Snowflake๋ RBAC(Role-Based Access Control) ๋ฐ DAC(Discretionary Access Control) ๊ธฐ๋ฐ์ ์ ๊ทผ ์ ์ด๋ฅผ ์ ๊ณตํ๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์ ๋๋ ๊ทธ๋ฃน์๊ฒ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์คํค๋ง, ํ ์ด๋ธ, ๋ทฐ ๋ฑ์ ๊ฐ์ฒด์ ๋ํ ์ ๊ทผ ๊ถํ์ ์ง์ ํ ์ ์๋ค.
RBAC ๋ฐฉ์์ ์ญํ (Role)์ ์ ์ํ๊ณ , ์ฌ์ฉ์์๊ฒ ์ญํ ์ ํ ๋นํ์ฌ ์ ๊ทผ ๊ถํ์ ์ง์ ํ๋ค. DAC ๋ฐฉ์์ ๊ฐ์ฒด์ ์์ ์(owner)๊ฐ ๊ฐ์ฒด์ ๋ํ ๊ถํ์ ์ค์ ํ๋ ๋ฐฉ์์ด๋ค.
๋ค์์ DAC์ RBAC ๋ชจ๋ธ์ ํฉ์น Snowflake์ ๋ฐ์ดํฐ ์ ๊ทผ ์ ์ด๋ฅผ ๊ด๊ณ๋๋ก ๋ํ๋ธ ๊ฒ์ด๋ค.
๊ฐ ์์๋ค์ ๋ํ ์ค๋ช ์ ์๋์ ๊ฐ๋ค.
- Securable object : ์ก์ธ์ค ๊ถํ์ ๋ถ์ฌํ ์ ์๋ ์ํฐํฐ์ด๋ค. ๊ถํ ๋ถ์ฌ์์ ํ์ฉํ์ง ์๋ ํ ์ก์ธ์ค๊ฐ ๊ฑฐ๋ถ๋๋ค.
- Role : ๊ถํ(Privilege)์ ๋ถ์ฌํ ์ ์๋ ์ํฐํฐ์ด๋ค. Role์ ์ฌ์ฉ์ ๋๋ ๋ค๋ฅธ Role์ ํ ๋น ๊ฐ๋ฅํ๋ค.
- Privilege : ๊ฐ์ฒด์ ๋ํ ์ ์๋ ์ก์ธ์ค ๊ถํ์ด๋ค. Object๋ก์ ์ ๊ทผ ์ ์ด๋ฅผ ์ํด ์ฌ๋ฌ ๊ณ ์ ๊ถํ์ ์ฌ์ฉํ ์ ์๋ค.
- User : Snowflake์์ ์ธ์ํ๋ ์ฌ์ฉ์ ID์ด๋ค.
Snowflake๋ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ์ ๋ง์ถ Custom Role์ ์์ฑํ ํ, ํด๋น Role์ ์ฌ์ฉ์์๊ฒ ํ ๋นํ ์ ์๋ค. ๋จ์ผ ์ฌ์ฉ์๋ N๊ฐ์ Role์ ์์๋ฐ์ ์ ์์ผ๋ฉฐ, Snowflake UI๋ฅผ ํตํด ์ญํ ๊ฐ์ ๋งตํ ๊ด๊ณ๋ฅผ ํ์ ๊ฐ๋ฅํ๋ค.
๋ฐ์ดํฐ ๋ณด์
์๋ ๊ทธ๋ฆผ์ ํ ๋ฐ์ดํฐ์ ๋ํด Snowflake์์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ๋ค ์ค ๋ช๊ฐ์ง๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ํํํ ๊ฒ์ด๋ค. ํ๋์ฉ ์์๋ณด์.
Row Access Policy (1๋ฒ)
- ์ฌ์ฉ์ ๊ถํ ๊ธฐ๋ฐ์ผ๋ก ๊ถํ์ด ๋ถ์ฌ๋ ์ผ๋ถ ๋ฐ์ดํฐ๋ง ํ์ฉ ๊ฐ๋ฅ
- internal table, external table ๋ฐ view๋ฅผ ๋์์ผ๋ก select, update, delete ๋ฐ merge ์คํผ๋ ์ด์ ์ ์ ์ฉ
- Dynamic Masking ๊ณผ ๊ฐ์ Column-Level์ ์ ์ฑ ๊ณผ ํผ์ฉํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅ
- ์ฌ์ผ๋ก๋ ๋ฐ์ดํฐ๋ฅผ ๋จ์ผ ํ ์ด๋ธ๋ก ํตํฉํ๊ณ , ์ฌ์ฉ์ ๊ถํ์ ๋ฐ๋ผ ๋์ ์ ๊ทผ ์ ์ด ๊ฐ๋ฅ
Tags & Classification (2๋ฒ)
๋ฐ์ดํฐ ๋ถ๋ฅ ์ฒด๊ณ๋ ๋ฐ์ดํฐ์ ์ค์๋์ ๋ฐ๋ผ ๋ถ๋ฅ๋ฅผ ํ ์ ์๋ค. ๋ถ๋ฅ๋ ๋ฐ์ดํฐ์ ๋ํด์๋ ๋ณด์ ๋ฐ ์ ๊ทผ ์ ์ด๋ฅผ ์ค์ ํ ์ ์๋ค. ์ด๋ฅผ ํตํด ๋ฏผ๊ฐํ ๋ฐ์ดํฐ์ ๋ณด์์ ์ ์งํ๋ฉด์๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์๋ค. ๋ฐ์ดํฐ ๋ถ๋ฅ ์ฒด๊ณ๋ ํ๊ทธ(tag)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ฌ์ฉ์๊ฐ ์ง์ ํ๊ทธ๋ฅผ ์ง์ ํ ์๋ ์๋ค.
- ๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ๊ฐ์ง column, internal table, external table ๋ฐ view ์ ์ ์ฉ ๊ฐ๋ฅ
- ๋ฏผ๊ฐ ๋ฐ์ดํฐ ์ถ์ ๋ฐ ๋ฆฌ์์ค ์ฌ์ฉ
- ๋ฏผ๊ฐ ์ ๋ณด ์๋ณ : ๋ฏผ๊ฐํ ๊ฐ์ฒด(์ปฌ๋ผ, ํ ์ด๋ธ ๋ฑ)์ ๋ณด์ ์ ์ฑ ์์ด ๊ฐ์ฌํ๋ ์ฉ๋๋ก ํ์ฉ
- ๋ฆฌ์์ค ์ฌ์ฉ ์ถ์ : Serverless ๊ธฐ๋ฐ์ผ๋ก ์คํ๋๋ Snowpipe, MView ๋ฐ Clustered Table์ ๋น์ฉ ์์ธก์ ์ํด ํ๊ทธ๋ฅผ ํ์ฉํ ๋ฆฌ์์ค ์ฌ์ฉ๋ ์ถ์ ๊ฐ๋ฅ
Column-Level Security (3๋ฒ)
์ปฌ๋ผ-์์ค ๋ณด์ ๊ธฐ๋ฅ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ ํน์ ์ปฌ๋ผ(column)์ ๋ํด์๋ง ๋ณด์์ ์ ์ฉํ ์ ์๋ค. ์ด๋ฅผ ํตํด ๋ฏผ๊ฐํ ๋ฐ์ดํฐ์ ๋ณด์์ ์ ์งํ๋ฉด์๋ ๋ฐ์ดํฐ์ ๊ฐ์น๋ฅผ ์ ์งํ ์ ์๋ค. Secure View, UDF(User-Defined Function), Dynamic Masking Policy ๋ฑ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ๋ณด์์ ์ค์ ํ ์ ์๋ค.
-
Dynamic Masking Policy
-
์ญํ ๊ธฐ๋ฐ์ผ๋ก ๋ฏผ๊ฐ ์ ๋ณด ์ ๊ทผ ์ ์ด
-
์ ์ฅ๋ ๋ฐ์ดํฐ์ ๋ํ ๋ณ๊ฒฝ์ฌํญ์ ๋ฐ์ํ์ง ์์
-
๋ง์คํน ์ ์ฑ ์ ์ฟผ๋ฆฌ runtime์ ๋์ ์ผ๋ก ์ ์ฉ
-
๋ค์ํ ๋ง์คํน ๊ธฐ๋ฅ ์ ๊ณต : ์์ ๊ฐ, ํด์ฌ ๋ฐ UDF
-
๋จ์ผ ์ ์ฑ ์ผ๋ก ์ฌ๋ฌ ์ปฌ๋ผ์ ์ ์ฉ ๊ฐ๋ฅํ์ฌ ์ฌ์ฉ ํธ์์ฑ ์ ๊ณต
-
-
External Tokenzied
-
์ค์ ๋ฐ์ดํฐ๋ฅผ Snowflake์ ์ ์ฅํ๊ธฐ ์ ์ ํ ํฐํ : ๋ฏผ๊ฐ ์ ๋ณด๋ค์ ๋ณด์์ ์ํด ํด๋ ํ ์ ์๋ ๊ฐ์ผ๋ก ๋ณ๊ฒฝ
-
์ ์ฑ ๊ธฐ๋ฐ์ De-Tokenize : ๊ถํ์ด ์๋ ์ฌ์ฉ์๋ง์ด ์ฟผ๋ฆฌ ์คํ ์์ ์ ์ ์ฑ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ถ ํจ์ ํธ์ถ
-
ํ์ดํ๋ผ์ธ ๋จ์ํ : ์ธ๋ถ ํจ์์ ์ง์ ์ฐ๊ณ
-
Anonymization (์ต๋ช ํ)
๋ฐ์ดํฐ ์ต๋ช ํ ๊ธฐ๋ฅ์ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์๋ณํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค์ด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. ์ด๋ฅผ ํตํด ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๋ฐ ๊ท์ ์ค์๋ฅผ ์ค์ํ ์ ์๋ค.
- ๊ฐ์ธ์ ๋ณด ๋ณดํธ ๋ฐ ๋ฐ์ดํฐ ๋ถ์ ๊ฐ์น ์ ์ง
- ์ ์ฑ ์ ๋์ ์ผ๋ก ์ ์ฉ
- RBAC๋ ์ฟผ๋ฆฌ ์ ๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์๋ง์ด ํ์ธ ๊ฐ๋ฅ
- Snowflake ๋ด์ฅ ๊ธฐ๋ฅ์ผ๋ก ์ฐ์
ํ์ค ์๊ตฌ์ฌํญ ์ค์
- Native k-Anonymity ์๊ณ ๋ฆฌ์ฆ ํ์ฉ
- ๋ณ๋์ 3rd ๋๊ตฌ ๋ถํ์ : ํตํฉ ์ค์ ์ง์ค์ ์ ๊ทผ ์ ์ด
- ๊ฐ์ธ ์ ๋ณด ๋ณดํธ ๊ท์ ์ค์
- ๊ฐ์ธ ์ ๋ณด๋ฅผ ์ต๋ช ํ ํ์ฌ ์ฌ์ฉํ๋ฉด ๊ฐ์ธ ์ ๋ณด๋ณดํธ๋ฒ์ ๋ฐ๋ผ ๊ฐ์ธ ์ ๋ณด๋ก ์ทจ๊ธ๋์ง ์์
Snowflake Audit : Access History
๋ฐ์ดํฐ ๊ฐ์ฌ ๊ธฐ๋ฅ์ ๋ชจ๋ ๋ฐ์ดํฐ ํ๋์ ์ถ์ ํ๊ณ , ๊ฐ์ฌ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ์ฌ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋ค. ๊ฐ์ฌ ๋ก๊ทธ๋ ์ฌ์ฉ์, ์๊ฐ, ์์ ๋ด์ฉ ๋ฑ์ ๊ธฐ๋กํ๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ์ ๋ณด์๊ณผ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ ์ ์๋ค.
- ๋ณด์ ๊ท์ ์๊ตฌ ์ฌํญ ์ค์ํ๊ณ ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ๊ธฐ๋ฅ์ ์ง์ํ๊ธฐ ์ํด ์ฌ์ฉ์ ์ ๊ทผ ๋ฐ ์์ ์ด๋ ฅ์ ์์คํ ํ ์ด๋ธ์ ์ถ์ ๊ด๋ฆฌ
- ์ฌ์ฉ์๊ฐ Snowflake ํ ์ด๋ธ, ๋ทฐ ๋ฐ ์ปฌ๋ผ์ ๋์์ผ๋ก ์คํ๋๋ ๋ชจ๋ ์ ๊ทผ ์ด๋ ฅ ์ฌ์ฉ์, Virtual Warehouse, ์ฟผ๋ฆฌ, ์ ์ ์ด๋ ฅ, ํด๋ผ์ด์ธํธ ์ ๋ณด ๋ฑ์ ์์ธ ์ ๋ณด ์ ๊ณต
- ์ ๊ทผ ์ด๋ ฅ ๊ธฐ๋ฐ์ผ๋ก ์์ฃผ ์ฐธ์กฐ๋์ง ์๋ ํ ์ด๋ธ์ ๋ณด๊ด ์ฌ๋ถ๋ฅผ ์์ฌ๊ฒฐ์ ํ๋ ์ฉ๋๋ก ํ์ฉ ๊ฐ๋ฅ
- Snowsight์ ๋์๋ณด๋ ๊ธฐ๋ฅ์ ํตํด ๊ฐ์ฌ ์ด๋ ฅ ์ ๋ณด ์๊ฐํ
- ๊ฐ์ฌ ์ ๋ณด Export: Access History์ ์ฌ์ฉ์ ์ด๋ ฅ ์ ๋ณด๋ SQL ๊ธฐ๋ฐ์ผ๋ก ํํฐ๋งํ์ฌ SIEM ์๋ฃจ์ ๊ณผ ์ฐ๊ณํ๊ธฐ ์ํด JSON ํ์์ผ๋ก ํด๋ผ์ฐ๋ ์คํ ๋ฆฌ์ง์ Exportํ๊ฑฐ๋ JDBC ๊ธฐ๋ฐ์ผ๋ก ์ง์ ํตํฉ ์ง์
3rd ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ๋๊ตฌ์ ํตํฉ ์ง์
๋ง์ง๋ง์ผ๋ก, Snowflake๋ ๋ค์ํ 3rd ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ๋๊ตฌ์์ ํตํฉ์ ์ง์ํ๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ๊ธฐ์กด์ ๋ฐ์ดํฐ ๊ฑฐ๋ฒ๋์ค ํ๊ฒฝ๊ณผ์ ์ฐ๊ฒฐ์ฑ์ ์ ์งํ๋ฉด์๋ Snowflake์์์ ๋ฐ์ดํฐ ๋ณด์ ๋ฐ ์ ๊ทผ ์ ์ด๋ฅผ ์ ์งํ ์ ์๋ค.
Data Protection
Snowflake๋ ํด๋ผ์ฐ๋ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ก์ ๊ณ ๊ฐ์ ๋ฐ์ดํฐ ๋ณดํธ์ ์์ ์ ์ํด ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ๊ณ์ , ์ง์ญ, ํด๋ผ์ฐ๋ ๋ฐ ๋ฐ์ดํฐ ์์ค์์ ๋ณต๊ตฌ ๋ฐ ์ฅ์ ์กฐ์น๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- Time Travel : Snowflake์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ๊ธฐ๋กํ๊ณ ๋ณด๊ดํ์ฌ, ๋ฐ์ดํฐ๋ฅผ ๋ณต์ํ๊ฑฐ๋ ์ด์ ์ํ๋ก ๋กค๋ฐฑํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ์ ์ค์ด๋ ์์์ ๋ฐฉ์งํ ์ ์๋ค.
- Fail-Safe : Snowflake์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ชจ๋ ๋จ๊ณ์์ ์ค๋ณต์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ค์ํ ๊ธฐ์ ์ ์ฌ์ฉํ๋ค. ์ด๋ฌํ ๊ธฐ์ ๋ก๋ ํด๋ฌ์คํฐ์ ์๋ฒ์ ์ค๋ณต์ฑ, ๋ฐ์ดํฐ ํํฐ์ ๋, ๋คํธ์ํฌ ๋ณด์ ๋ฑ์ด ์๋ค.
- ๊ณ ๊ฐ์ฉ์ฑ : Snowflake์ ๊ณ ๊ฐ์ฉ์ฑ์ ๊ณ ๋ คํ์ฌ ์ค๊ณ๋์์ผ๋ฉฐ, ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ํ์ํ ๋ชจ๋ ๊ตฌ์ฑ ์์๋ฅผ ์๋์ผ๋ก ๊ด๋ฆฌํ๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ๋ถ์์ ์ค๋จํ์ง ์๊ณ ์ง์์ ์ผ๋ก ์ ๊ณตํ ์ ์๋ค.
- Cross-Cloud & Region ๋ณต์ ๋ฐ ๊ณ ๊ฐ์ฉ์ฑ : Snowflake์ ๋ค์ค ํด๋ผ์ฐ๋ ๋ฐ ์ง์ญ์์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ ํ์ฌ ๊ณ ๊ฐ์ฉ์ฑ์ ๋ณด์ฅํ๋ค. ์ด๋ฅผ ํตํด ์ฅ์ ๋ฐ์ ์์๋ ์๋น์ค ์ค๋จ์ ๋ฐฉ์งํ๊ณ ๋น ๋ฅธ ๋ณต๊ตฌ๋ฅผ ํ ์ ์๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต์ ๋ฐ ์ฅ์ ์กฐ์น : Snowflake์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณต์ ์ ์ฅ์ ์กฐ์น๋ฅผ ์๋์ผ๋ก ์ฒ๋ฆฌํ๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ์ ์ค์ ๋ฐฉ์งํ๊ณ , ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์๊ฐ์ ์ต์ํํ์ฌ ๋น ๋ฅธ ๋ถ์ ๋ฐ ์์ฌ ๊ฒฐ์ ์ ์ง์ํ๋ค.
- ํด๋ผ์ด์ธํธ ๋ฆฌ๋ค์ด๋ ์ : Snowflake์ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐํ๋ ค๋ ์ง์ญ์ด๋ ํด๋ผ์ฐ๋์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ, ๋ค๋ฅธ ์ง์ญ์ด๋ ํด๋ผ์ฐ๋๋ก ๋ฆฌ๋ค์ด๋ ์ ํ์ฌ ์๋น์ค ์ค๋จ์ ๋ฐฉ์งํ๋ค.
์์ ๊ฐ์ ๋ค์ํ ๊ธฐ๋ฅ์ผ๋ก Snowflake๋ ๊ณ ๊ฐ์ ๋ฐ์ดํฐ ๋ณดํธ์ ์์ ์ ๋ณด์ฅํ๋ค. ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฐ ๋ถ์์ ์ํ ๊ณ ๊ฐ์ฉ์ฑ, ๋ณต๊ตฌ ๋ฐ ์ฅ์ ์กฐ์น ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ๋ฐ์ดํฐ ์ ์ค ๋ฐ ์ค๋จ์ ์ต์ํํ๊ณ , ์์ ์ ์ธ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ค.
Encryption
Snowflake์์ ๋ชจ๋ ๋ฐ์ดํฐ๋
1) ๋์คํฌ์ ์ ์ฅ๋ ๋ 2) ์คํ ์ด์ง ์์น๋ก ๋ฐ์ดํฐ๋ฅผ ์ด๋ํ ๋ 3) ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ 4) ๊ฐ์ ์จ์ดํ์ฐ์ค์ ๋ฐ์ดํฐ ์บ์ฌ ์์ญ์ ์ ์ฅ๋ ๋ ๋ฐ ResultSet ์บ์ฌ ์์ญ์ ์ ์ฅ๋ ๋
์ํธํ๋์ด ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ๋ณดํธํ๋ค.
์๋๋ ๊ฐ ๊ณ์ธต๋ณ ์ํธํ ํน์ง๋ค์ ๊ทธ๋ฆผ์ผ๋ก ๋ํ๋ธ ๊ฒ์ด๋ค.
- Snowflake ๋ด์ ๋ชจ๋ ๋ฐ์ดํฐ๋ ์ํธํ๋์ด ์ ์ฅ ๋ฐ ์ฒ๋ฆฌ
- ๋ฐ์ดํฐ ์์ฒด
- ๊ฐ์ ์จ์ดํ์ฐ์ค ๋ฐ์ดํฐ ์บ์ฌ
- ๊ฐ๋ณ ์ฟผ๋ฆฌ Result Set ์บ์ฌ
- AES-256๋ฅผ ํตํด ์ํธํ
- ๊ณ ๊ฐ์ ๋ฐ์ดํฐ๋ ํญ์ ๋ ๋ฆฝ์ ์ธ ๋๋ ํ ๋ฆฌ์ ์ ์ฅ๋๋ฉฐ ํด๋น ๊ณ ๊ฐ๋ง ์ ๊ทผํ๋๋ก CSK(Customer-specific Key)๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํ
- HSM ๊ธฐ๋ฐ์ ๊ณ์ธต์ ํค ๊ด๋ฆฌ ๋ชจ๋ธ
- NIST 800-57 ์ํธํ ํค ๊ด๋ฆฌ ์๋ช ์ฃผ๊ธฐ ์ค์
Leave a comment