๐์ ์ฒ๊ธฐ ์ค๊ธฐ ๋๋น ๋ฌธ์ | ๐ ์๋ฒ ์ ๊ทผ ํต์ (Access Control) - DAC, MAC, RBAC
์์ฝ
์ ์ฒ๊ธฐ ์ค๊ธฐ ๋จ๊ณจ ๋ฌธ์ ์ธ ์๋ฒ ์ ๊ทผ ํต์ ๊ฐ๋ ์ ๋ฌธ์ ์ ํจ๊ป ์์๋ด ๋๋ค. ์ธ ๊ฐ์ง ์ฃผ์ ๋ชจ๋ธ, ์ฆ ์์์ ์ ๊ทผ ํต์ (DAC), ๊ฐ์ ์ ์ ๊ทผ ํต์ (MAC), ์ญํ ๊ธฐ๋ฐ ์ ๊ทผ ํต์ (RBAC)์ ๊ฐ๋ , ํน์ง, ์ฅ๋จ์ ์ ์ฌ์ธต์ ์ผ๋ก ๋น๊ต ๋ถ์ํฉ๋๋ค.
๐ ์๋ฒ ์ ๊ทผ ํต์ ์ธ ๊ฐ์ง ๋ชจ๋ธ ๋น๊ต ์์ฝ
๊ตฌ๋ถ | ์์์ ์ ๊ทผ ํต์ (DAC) | ๊ฐ์ ์ ์ ๊ทผ ํต์ (MAC) | ์ญํ ๊ธฐ๋ฐ ์ ๊ทผ ํต์ (RBAC) |
---|---|---|---|
ํต์ ์ฃผ์ฒด | ๊ฐ์ฒด ์์ ์ | ์์คํ (๊ด๋ฆฌ์ ์ ์ฑ ) | ์ญํ (๊ด๋ฆฌ์ ์ ์ฑ ) |
๊ถํ ์ค์ | ์์ ์ ์์๋ก ์ค์ | ๋ณด์ ๋ฑ๊ธ ๋ฐ ๊ท์น | ์ญํ ์ ํ ๋น๋ ๊ถํ |
์ ์ฐ์ฑ | ๋์ | ๋ฎ์ | ์ค๊ฐ |
๋ณด์ ์์ค | ๋ฎ์ | ๋งค์ฐ ๋์ | ๋์ |
๊ด๋ฆฌ ๋ณต์ก๋ | ๋ฎ์ | ๋งค์ฐ ๋์ | ์ค๊ฐ |
์ฃผ์ ์ฌ์ฉ์ฒ | ๊ฐ์ธ์ฉ ์ปดํจํฐ, ์๊ท๋ชจ ์์คํ | ๊ตฐ์ฌ, ์ ๋ถ, ๋์ ๋ณด์ ์๊ตฌ ์์คํ | ๋๋ถ๋ถ์ ๊ธฐ์ , ํด๋ผ์ฐ๋ ํ๊ฒฝ |
๐ง ์๋ฒ ์ ๊ทผ ํต์ ๋ ๋ฌด์์ผ๊น์?
์๋ฒ ์ ๊ทผ ํต์ (Access Control)๋ ๊ฐ๋จํ ๋งํด '๋๊ฐ, ๋ฌด์์, ์ด๋ป๊ฒ ํ ์ ์๋๊ฐ'๋ฅผ ์ ์ํ๊ณ ๊ฐ์ ํ๋ ๋ณด์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์์น์ ๋๋ค. ํ๊ฐ๋ ์ฌ์ฉ์๋ ํ์ํ ์ ๋ณด์ ๊ธฐ๋ฅ์ ์ ๊ทผํ๊ฒ ํ๊ณ , ๋น์ธ๊ฐ์๋ ์ ๊ทผ์ ๋ง์ ์์คํ ์ ๊ธฐ๋ฐ์ฑ, ๋ฌด๊ฒฐ์ฑ, ๊ฐ์ฉ์ฑ์ ๋ณด์ฅํ๋ ์ญํ ์ ํฉ๋๋ค.
์ด๋ฌํ ์ ๊ทผ ํต์ ๋ฅผ ๊ตฌํํ๋ ๋ฐฉ์์๋ ์ฌ๋ฌ ๊ฐ์ง ๋ชจ๋ธ์ด ์์ผ๋ฉฐ, ๊ทธ์ค ๊ฐ์ฅ ๋ํ์ ์ธ ์ธ ๊ฐ์ง๊ฐ ๋ก DAC, MAC, RBAC ์ ๋๋ค. ๊ฐ ๋ชจ๋ธ์ ํน์ง๊ณผ ์ฐจ์ด์ ์ ์์๋ณด๊ฒ ์ต๋๋ค.
๐ ์์์ ์ ๊ทผ ํต์ (DAC, Discretionary Access Control)
์์์ ์ ๊ทผ ํต์ (DAC) ๋ ๋ฐ์ดํฐ๋ ๊ฐ์ฒด(ํ์ผ, ๋๋ ํ ๋ฆฌ ๋ฑ)์ ์์ ์๊ฐ ์์ ์ ํ๋จ์ ๋ฐ๋ผ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ๊ฑฐ๋ ์ ํํ ์ ์๋ ๋ฐฉ์์ ๋๋ค. ์ฐ๋ฆฌ์๊ฒ ๊ฐ์ฅ ์น์ํ ๋ชจ๋ธ์ด๊ธฐ๋ ํฉ๋๋ค.
-
ํต์ฌ ํน์ง: ๊ฐ์ฒด ์์ ์๊ฐ ์ ๊ทผ ๊ถํ์ ๊ด๋ฆฌํฉ๋๋ค.
-
๋ํ์ ์ธ ์:
- UNIX/Linux ํ์ผ ๊ถํ:
chmod
๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ ์์ ์๊ฐ ๋ค๋ฅธ ์ฌ์ฉ์(Owner, Group, Other)์๊ฒ ์ฝ๊ธฐ(r), ์ฐ๊ธฐ(w), ์คํ(x) ๊ถํ์ ์ค์ ํ๋ ๊ฒ์ด ๋ํ์ ์ธ DAC์ ์์ ๋๋ค. - ์๋์ฐ ํ์ผ ๊ณต์ : ํด๋ ์์ฑ์์ ํน์ ์ฌ์ฉ์์๊ฒ ๊ณต์ ๊ถํ์ ๋ถ์ฌํ๋ ๊ฒ๋ DAC์ ํด๋นํฉ๋๋ค.
- UNIX/Linux ํ์ผ ๊ถํ:
-
์ฅ์ :
- ์ ์ฐ์ฑ: ์ฌ์ฉ์๊ฐ ์์จ์ ์ผ๋ก ๊ถํ์ ๊ด๋ฆฌํ ์ ์์ด ํธ๋ฆฌํ๊ณ ์ ์ฐํฉ๋๋ค.
- ๊ฐํธํจ: ์ค์ ๊ด๋ฆฌ์ ์์ด๋ ๊ถํ ์ค์ ์ด ๊ฐ๋ฅํ์ฌ ์๊ท๋ชจ ์์คํ ์ ์ ํฉํฉ๋๋ค.
-
๋จ์ :
- ๋ณด์ ์ทจ์ฝ์ฑ: ์ ์์ ์ธ ์ฌ์ฉ์๊ฐ ๊ถํ์ ํ๋ํ๋ฉด ํด๋น ๊ถํ์ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ์ฝ๊ฒ ๋๊ฒจ์ค ์ ์์ต๋๋ค. (์: ํธ๋ก์ด ๋ชฉ๋ง ๊ณต๊ฒฉ์ ์ทจ์ฝ)
- ์ค์ ๊ด๋ฆฌ์ ์ด๋ ค์: ์กฐ์ง ์ ์ฒด์ ๋ณด์ ์ ์ฑ ์ ์ผ๊ด๋๊ฒ ์ ์ฉํ๊ธฐ ์ด๋ ต์ต๋๋ค.
๐ก๏ธ ๊ฐ์ ์ ์ ๊ทผ ํต์ (MAC, Mandatory Access Control)
๊ฐ์ ์ ์ ๊ทผ ํต์ (MAC) ๋ DAC์ ๋ฌ๋ฆฌ, ์์คํ ๊ด๋ฆฌ์๊ฐ ์ฌ์ ์ ์ ์ํ ์๊ฒฉํ ๋ณด์ ์ ์ฑ (๊ท์น)์ ๋ฐ๋ผ ๋ชจ๋ ์ ๊ทผ์ ๊ฐ์ ํ๋ ๋ฐฉ์์ ๋๋ค. ์ฌ์ฉ์์ ์์ฌ์ ์๊ด์์ด ์์คํ ์ด ์ ๊ทผ์ ํต์ ํฉ๋๋ค.
-
ํต์ฌ ํน์ง: ์์คํ ์ ์ฒด์ ์ ์ฉ๋๋ ๋ณด์ ์ ์ฑ ๊ณผ ๋ณด์ ๋ฑ๊ธ(Security Level)์ ๊ธฐ๋ฐ์ผ๋ก ์ ๊ทผ์ ํต์ ํฉ๋๋ค.
-
๋ํ์ ์ธ ์:
- SELinux(Security-Enhanced Linux): ๋ฆฌ๋ ์ค ์ปค๋์ MAC์ ๊ตฌํํ ๋ณด์ ๋ชจ๋๋ก, ๋ชจ๋ ํ๋ก์ธ์ค์ ํ์ผ์ ๋ณด์ ๋ ์ด๋ธ์ ๋ถ์ฌ ์ ๊ทผ์ ํต์ ํฉ๋๋ค.
- ๊ตฐ์ฌ ๋ฐ ์ ๋ถ ์์คํ : '๊ธฐ๋ฐ', '๋์ธ๋น'์ ๊ฐ์ ๋ณด์ ๋ฑ๊ธ์ ์ฌ์ฉ์(๋ณด์ ํ๊ฐ)์ ์ ๋ณด(๋ณด์ ๋ฑ๊ธ)์ ๋ถ์ฌํ์ฌ, ์์ ์ ํ๊ฐ ์์ค๋ณด๋ค ๋์ ๋ฑ๊ธ์ ์ ๋ณด์๋ ์ ๊ทผํ ์ ์๋๋ก ํฉ๋๋ค.
-
์ฅ์ :
- ๊ฐ๋ ฅํ ๋ณด์: ์ค์์์ ํต์ ๋๋ ์ ์ฑ ์ผ๋ก ์ธํด ์ ๋ณด ์ ์ถ์ ํจ๊ณผ์ ์ผ๋ก ๋ฐฉ์งํ ์ ์์ผ๋ฉฐ, ๋งค์ฐ ๋์ ์์ค์ ๋ณด์์ ์ ๊ณตํฉ๋๋ค.
- ์ผ๊ด์ฑ: ์กฐ์ง ์ ์ฒด์ ์ผ๊ด๋ ๋ณด์ ์ ์ฑ ์ ๊ฐ์ ํ ์ ์์ต๋๋ค.
-
๋จ์ :
- ๋ณต์ก์ฑ ๋ฐ ๋น์ ์ฐ์ฑ: ์ค์ ๊ณผ ๊ด๋ฆฌ๊ฐ ๋งค์ฐ ๋ณต์กํ๊ณ , ํ๋ฒ ์ ํด์ง ์ ์ฑ ์ ๋ณ๊ฒฝํ๊ธฐ ์ด๋ ต์ต๋๋ค.
- ๊ด๋ฆฌ ๋น์ฉ: ๋ชจ๋ ๊ฐ์ฒด์ ์ฃผ์ฒด์ ๋ณด์ ๋ฑ๊ธ์ ํ ๋นํ๊ณ ๊ด๋ฆฌํด์ผ ํ๋ฏ๋ก ๋น์ฉ์ด ๋ง์ด ๋ญ๋๋ค.
๐งโ๐คโ๐ง ์ญํ ๊ธฐ๋ฐ ์ ๊ทผ ํต์ (RBAC, Role-Based Access Control)
์ญํ ๊ธฐ๋ฐ ์ ๊ทผ ํต์ (RBAC) ๋ ์ฌ์ฉ์๊ฐ ์๋, ์ฌ์ฉ์๊ฐ ์ํ '์ญํ (Role)'์ ๊ธฐ๋ฐํ์ฌ ์ ๊ทผ ๊ถํ์ ๋ถ์ฌํ๋ ๋ฐฉ์์ ๋๋ค. ์ค๋๋ ๋๋ถ๋ถ์ ๊ธฐ์ ํ๊ฒฝ์์ ์ฌ์ฉํ๋ ํ์ค์ ์ธ ์ ๊ทผ ํต์ ๋ชจ๋ธ์ ๋๋ค.
-
ํต์ฌ ํน์ง: '์ฌ์ฉ์ - ์ญํ - ๊ถํ'์ ๊ด๊ณ๋ฅผ ํตํด ์ ๊ทผ์ ์ ์ดํฉ๋๋ค. (User โ Role โ Permission)
-
๋ํ์ ์ธ ์:
- AWS IAM(Identity and Access Management): ๊ฐ๋ฐ์, ๊ด๋ฆฌ์, ์ฌ๋ฌดํ ๋ฑ ์ญํ (Role)์ ๋ง๋ค๊ณ ๊ฐ ์ญํ ์ ํ์ํ ๊ถํ(Policy)์ ํ ๋นํฉ๋๋ค. ์ฌ์ฉ์๋ ํด๋น ์ญํ ์ ๋ถ์ฌ๋ฐ์ ๊ถํ์ ํ์ฌํฉ๋๋ค.
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
:
DBA
,Developer
,User
์ ๊ฐ์ ์ญํ ์ ์ ์ํ๊ณ ๊ฐ ์ญํ ์ด ํ ์ด๋ธ์ ๋ํด ์ํํ ์ ์๋SELECT
,INSERT
,DELETE
๋ฑ์ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
-
์ฅ์ :
- ๊ด๋ฆฌ ํจ์จ์ฑ: ์ฌ์ฉ์๊ฐ ๋ณ๊ฒฝ(์ ์ฌ, ํด์ฌ, ๋ถ์ ์ด๋)๋ ๋๋ง๋ค ๊ถํ์ ์ฌ์ค์ ํ ํ์ ์์ด ์ญํ ๋ง ๋ถ์ฌํ๊ฑฐ๋ ํ์ํ๋ฉด ๋๋ฏ๋ก ๊ด๋ฆฌ๊ฐ ๋งค์ฐ ์ฉ์ดํฉ๋๋ค. (๊ด๋ฆฌ ํ์ฅ์ฑ)
- ์ต์ ๊ถํ ์์น ์ค์: ์ญํ ์ ๊ผญ ํ์ํ ๊ถํ๋ง ๋ถ์ฌํจ์ผ๋ก์จ '์ต์ ๊ถํ ์์น(Principle of Least Privilege)'์ ์ฝ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค.
- ์ ์ฑ ์ ์ผ๊ด์ฑ: ์ญํ ๊ธฐ๋ฐ์ผ๋ก ๊ถํ์ด ๊ด๋ฆฌ๋๋ฏ๋ก ์กฐ์ง์ ์ ์ฑ ์ ์ผ๊ด๋๊ฒ ์ ์ฉํ๊ธฐ ์ข์ต๋๋ค.
-
๋จ์ :
- ์ด๊ธฐ ์ค๊ณ์ ๋ณต์ก์ฑ: ์กฐ์ง์ ์ง๋ฌด์ ์ฑ ์์ ๋ถ์ํ์ฌ ์ ์ ํ ์ญํ ์ ์ค๊ณํ๋ ๋ฐ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ด ํ์ํฉ๋๋ค.
- ์ญํ ํญ๋ฐ(Role Explosion): ์ญํ ์ด ๋๋ฌด ์ธ๋ถํ๋๊ฑฐ๋ ๋ง์์ง๋ฉด ์คํ๋ ค ๊ด๋ฆฌ๊ฐ ๋ณต์กํด์ง ์ ์์ต๋๋ค.
๐ ์ ์ฒ๊ธฐ ์ค๊ธฐ ๋๋น ๋ฌธ์
๋ฌธ์ | ์์คํ ๊ฐ์ฒด์ ์ ๊ทผ์ ๊ฐ์ธ ๋๋ ๊ทธ๋ฃน์ ์๋ณ์์ ๊ธฐ๋ฐ์ ๋ ๋ฐฉ๋ฒ, ์ด๋ค ์ข ๋ฅ์ ์ ๊ทผ์ ๊ฐ์ง ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ์์ ์ ํ๋จ์ ๋ฐ๋ผ ๊ถํ์ ํ์ฉํ๋ ์ ๊ทผ ์ ์ด ๋ฐฉ์์? |
๋ต | |
์ ๋ต | ์ ๋ต ํ์ธํ๊ธฐ |
๋ฌธ์ | ๊ท์น ๊ธฐ๋ฐ ์ ๊ทผ ํต์ ์ ์ฑ ์ผ๋ก ๊ฐ์ฒด์ ํฌํจ๋ ์ ๋ณด์ ํ์ฉ ๋ฑ๊ธ๊ณผ ์ ๊ทผ ์ ๋ณด์ ๋ํ์ฌ ์ฃผ์ฒด๊ฐ ๊ฐ๋ ์ ๊ทผ ํ๊ฐ ๊ถํ์ ๊ทผ๊ฑฐํ์ฌ ๊ฐ์ฒด์ ๋ํ ์ ๊ทผ์ ์ ํํ๋ ๋ฐฉ๋ฒ์? |
๋ต | |
์ ๋ต | ์ ๋ต ํ์ธํ๊ธฐ |
๋ฌธ์ | ์ค์ ๊ด๋ฆฌ์๊ฐ ์ฌ์ฉ์์ ์์คํ ์ ์ํธ๊ด๊ณ๋ฅผ ํต์ ํ๋ฉฐ ์กฐ์ง ๋ด ๋งก์ ์ญํ ์ ๊ธฐ์ดํ์ฌ ์์์ ๋ํ ์ ๊ทผ์ ์ ํํ๋ ๋ฐฉ๋ฒ์? |
๋ต | |
์ ๋ต | ์ ๋ต ํ์ธํ๊ธฐ |
๋ฌธ์ | ์ ๋ถ ๊ธฐ๋ฐ ์ ๊ทผ ํต์ ์ ์ฑ ์ผ๋ก, ์ฃผ์ฒด๋ ๊ทธ๋ฃน์ ์ ๋ถ์ ๊ทผ๊ฑฐํ์ฌ ๊ฐ์ฒด์ ๋ํ ์ ๊ทผ์ ์ ํํ๋ ๋ฐฉ๋ฒ์? |
๋ต | |
์ ๋ต | ์ ๋ต ํ์ธํ๊ธฐ |