๐ก๏ธ AWS Organizations์์ Service Control Policies (SCPs) ์ดํดํ๊ธฐ
Source: Dev.to
์๊ฐ
SCP๊ฐ ํด๊ฒฐํ๋ ๋ฌธ์ ๋ ๋ฌด์์ธ๊ฐ์?
Service Control Policies (SCP)๋ IAM ๊ถํ๊ณผ ๋ฌ๋ฆฌ ๊ถํ์ ๋ถ์ฌํ์ง ์๊ณ , ์ ํํฉ๋๋ค. ํํ ๊ฐ๋๋ ์ผ ๋๋ ๋ฐ๋ฆฌ์ผ์ด๋๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ, AWS ๊ฑฐ๋ฒ๋์ค์ ๊ธฐ์ ์ ๋ณด์ยท์ปดํ๋ผ์ด์ธ์ค ์ง์นจ์ ์ค์ ํ๋ ํต์ฌ ๋๊ตฌ์ ๋๋ค.
์งํํ๊ธฐ ์ ์ ๋ช ๊ฐ์ง ์ฌ์ ๊ฐ๋ ์ ์ดํดํด์ผ ํฉ๋๋ค:
IAM ์ ์ฑ
IAM ์ ์ฑ ์ ํ ์ข ๋ฅ๋ก, AWS ์ฌ์ฉ์์ ์ญํ ์ ๊ถํ์ ๋ถ์ฌํ ์ ์์ต๋๋ค.
AWS Organizations
AWS Organizations๋ ์ฌ๋ฌ AWS ๊ณ์ ์ ์ค์์์ ๊ด๋ฆฌยท์ด์ํ ์ ์๊ฒ ํด์ฃผ๋ ์๋น์ค์ ๋๋ค. Organizations๋ฅผ ์ฌ์ฉํ๋ฉด:
- AWS ๊ณ์ ์์ฑ ๋ฐ ๊ด๋ฆฌ (Account Management)
- AWS ๊ณ์ ๋น์ฉ ํตํฉ (Billing)
- IAM Identity Center์ ํจ๊ป AWS ๊ณ์ ๊ถํ ๊ด๋ฆฌ (Identity and Access Management)
- AWS ๊ณ์ ์ ๋ณด์ ์ ์ฑ ์ ์ฉ (SCPs)
- ๋ค์ค ๊ณ์ ์๋น์ค ํ์ฑํ (Multiโaccount)
- ์กฐ์ง ๋จ์(Organizational Units)๋ก ๊ณ์ ๊ทธ๋ฃนํ (์กฐ์ง ๊ณ์ธต)
- ๋ค์ค ๊ณ์ ํ๊ฒฝ ๊ฐ์ฌ (Audit)
- ์ฌ๋ฌ ๊ณ์ ๊ฐ ๋ฆฌ์์ค ๊ณต์ (Resource sharing)
- CloudFormation์ ํตํ ๋ค์ค ๊ณ์ ํ๋ก๋น์ ๋ ์๋ํ (Multiโaccount)
Service Control Policies (SCPs)
AWS Organizations์ ์ ์ฑ ์ ํ์ผ๋ก, ์กฐ์ง์ ์ํ AWS ๊ณ์ ์ ๊ถํ์ ์ ํํฉ๋๋ค.
SCP ๊ตฌ์กฐ

SCP์ ์ฃผ์ ์์
| ์์ | ์ญํ |
|---|---|
| Statement | ์ ์ฑ ์ ์ต์์ ์ปจํ ์ด๋. ํ๋์ SCP์ ์ฌ๋ฌ statement๋ฅผ ํฌํจํ ์ ์์(์ฃผ์: ๋ฌธ์ ์ ์ ํ ์กด์ฌ). |
| Effect | ํด๋น statement๊ฐ ๋์์ ํ์ฉ(Allow)ํ ์ง ๊ฑฐ๋ถ(Deny)ํ ์ง ์ ์. ์ฐธ๊ณ : Allow๋ ์กฐ๊ฑด๋ถ๋ฅผ ์ง์ํ์ง ์์. |
| Action | ํ์ฉํ๊ฑฐ๋ ์ฐจ๋จํ AWS ์์
์ ์ง์ (e.g., s3:PutObject). |
| Resource | ์ ์ฑ ์ด ์ ์ฉ๋ AWS ๋ฆฌ์์ค๋ฅผ ์ง์ (e.g., ํน์ ๋ฒํท). |
| Condition (์ต์ ) | ํน์ ์ํฉ์์๋ง statement๊ฐ ์ ์ฉ๋๋๋ก ์กฐ๊ฑด์ ์ถ๊ฐ. |
| NotAction | Action์ ๋ฐ๋: SCP์์ ์ ์ธํ ์์
์ ์ง์ . |
| NotResource | Resource์ ๋ฐ๋: SCP์์ ์ ์ธํ ๋ฆฌ์์ค๋ฅผ ์ง์ . |
| Sid (์ต์ ) | statement๋ฅผ ์๋ณํ๊ธฐ ์ํ ์น์ํ ์ด๋ฆ. |
| Version | ์ ์ฑ
์ธ์ด ๋ฒ์ ์ ์(ํญ์ "2012-10-17" ์ฌ์ฉ). |
SCP ๋์ ๋ฐฉ์
SCP๊ฐ ์ด๋ป๊ฒ ์๋ํ๋์ง ์ดํดํ๊ธฐ ์ํด ๋ค ๊ฐ์ง ํต์ฌ ์นดํ ๊ณ ๋ฆฌ๋ก ์ ๋ฆฌํ ์ ์์ต๋๋ค:
1. ๊ธฐ๋ณธ ์์น
- ์ฑ๊ฒฉ: ๊ถํ์ ๋ถ์ฌํ์ง ์์ผ๋ฉฐ, ์ค์ง ์ ํ๋ง ํจ.
- ํ๊ฐ: ๊ถํ์ IAM ์ ์ฑ ์์ ํ์ฉ๋๊ณ SCP์์ ํ์ฉ๋๊ฑฐ๋ ๊ฑฐ๋ถ๋์ง ์์ ๋๋ง ์คํ๋ฉ๋๋ค. ์ต์ข ํ๊ฐ๋ AWS ๊ณต์ ๋ฌธ์์ ์ค๋ช ๋์ด ์์ต๋๋ค.
2. ์ ์ฉ ๋ฒ์: ๋๊ตฌ์๊ฒ ์ํฅ์ ๋ฏธ์น๋๊ฐ?
- ํ์ ๊ณ์ : SCP๋ ๋ชจ๋ ์ฌ์ฉ์์ ์ญํ , ๋ฃจํธ ์ฌ์ฉ์ ํฌํจ์ ๊ถํ์ ์ ํํฉ๋๋ค.
- ์์๋ ๊ด๋ฆฌ์: ํ์ ๊ณ์ ์ ์ํ๋ฏ๋ก ๋์ผํ๊ฒ ์ํฅ์ ๋ฐ์ต๋๋ค.
- ํต์ฌ ์์ธ: ๊ด๋ฆฌ ๊ณ์ (Management Account) ์ SCP์ ์ํฅ์ ๋ฐ์ง ์์.
3. ๋ค๋ฅธ ์ ์ฑ ๊ณผ์ ์ํธ ์์ฉ
- IAM Deny: ๋ชจ๋ SCP๋ณด๋ค ์ฐ์ ํฉ๋๋ค.
- SCP Deny:
AdministratorAccess์ ๊ฐ์ IAM ํ์ฉ์ด ์๋๋ผ๋ ๋ช ์์ ์ผ๋ก ์ฐจ๋จํฉ๋๋ค. - Permission Boundaries: ์ต์ข ํ๊ฐ๋ IAM Allow + SCP Allow + Boundary Allow๊ฐ ๋ชจ๋ ์ถฉ์กฑ๋์ด์ผ ํจ์ ์๋ฏธํฉ๋๋ค.
4. ๊ธฐ์ ์ ์์ธ
- ServiceโLinked Roles: AWS ์๋น์ค๊ฐ ์ ์ ์๋ํ๋๋ก ํ์ํ๊ธฐ ๋๋ฌธ์ SCP๋ก ์ ํํ ์ ์์ต๋๋ค.
- ResourceโBased Policies: SCP์ ์ํฅ์ ๋ฐ์ง ์์ผ๋ฉฐ, ๋ฆฌ์์ค ์ ์ฑ ์ด ํ์ฉํ๋ฉด ์ธ๋ถ ์ ๊ทผ์ด ๊ณ์ ๊ฐ๋ฅํฉ๋๋ค(์: S3 ๋ฒํท).
- ์ธ๋ถ ์ฌ์ฉ์: ์ ํ๋ ๊ณ์ ๋ด ๋ฆฌ์์ค์ ์ ๊ทผํ๋๋ผ๋ SCP์ ์ํด ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
SCP๋ ์ด๋์ ์ ์ฉ๋๋๊ฐ?
AWS Organizations์์ SCP๋ ์กฐ์ง์ ์ํ AWS ๊ณ์ ๋ฐ ์กฐ์ง ๋จ์(OU) ์ ์ ์ฉ๋ฉ๋๋ค. OU๋ ๊ณ์ ์ ๊ทธ๋ฃนํํ ์ ์๋ ํด๋์ ๊ฐ์ต๋๋ค.
๋ค์์ AWS Organizations์ ์กฐ์ง ๊ณ์ธต ๊ตฌ์กฐ ์์์ ๋๋ค:

์กฐ์ง ๊ณ์ธต์ ๊ตฌ์ฑ ์์
- ๋ฃจํธ ๊ณ์ (Root): ์กฐ์ง์ ์ต์์ ๊ณ์ . ์ค์: ๋ฃจํธ์ SCP๋ฅผ ์ ์ฉํ๋ฉด ์กฐ์ง ๋ด ๋ชจ๋ ๊ณ์ ์ ์์ธ ์์ด ์ ์ฉ๋ฉ๋๋ค.
- ์กฐ์ง ๋จ์ (OUs): ๊ณ์ ์ ๊ทธ๋ฃนํํ๋ ํด๋. OU์ SCP๋ฅผ ์ ์ฉํ๋ฉด ํด๋น OU์ ์ํ ๋ชจ๋ ๊ณ์ ์ ์ ์ฉ๋ฉ๋๋ค.
- ๊ณ์ : ์กฐ์ง ๋ด ๊ฐ๋ณ AWS ๊ณ์ . ํน์ ๊ณ์ ์ SCP๋ฅผ ์ ์ฉํ๋ฉด ๊ทธ ๊ณ์ ์๋ง ์ ์ฉ๋ฉ๋๋ค.
์ฐธ๊ณ : ์ ์ฑ ์์์ ํตํด ํ๋์ SCP๋ฅผ ์ฌ๋ฌ ๊ณ์ ์ ๋์์ ์ ์ฉํ ์ ์์ต๋๋ค.
์ค์ต: SCP ๋ง๋ค๊ธฐ
์ค์ต ๋น์ฉ: $0
โ ๏ธ ์ฃผ์: ํ๋ก๋์ ๊ณ์ ์ด๋ ํ๋ก๋์ ๊ณ์ ์ด ํฌํจ๋ ํ๊ฒฝ์ ์ ๋ SCP๋ฅผ ์ ์ฉํ์ง ๋ง์ธ์. ๋ฐ๋์ ํ ์คํธ ๊ณ์ ์์ SCP ๋์์ ๊ฒ์ฆํ ํ ๋ค์ ๊ณ์ ์ ์ ์ฉํ์ญ์์ค.
A. SCP ํ ์คํธ๋ฅผ ์ํ ์คํ์ค ๊ตฌ์ฑ
๐ ์ฌ์ ์๊ตฌ ์ฌํญ
- ์กฐ์ง์ ๋ง๋ค ์ฃผ ๊ณ์ (payer) ์ด ํ์ํฉ๋๋ค.
- ํด๋น ๊ณ์ ์ ๋ํ ๊ด๋ฆฌ์ ๊ถํ์ด ์์ด์ผ ํฉ๋๋ค.
- ๋ ๋ฒ์งธ ๊ณ์ ์ ๋ณ๋์ ๊ฒฐ์ ์๋จ์ ํ์ํ์ง ์์ต๋๋ค.
โ ๋จ๊ณ 1: AWS์์ ์กฐ์ง ์์ฑ (์์ง ์์ ๊ฒฝ์ฐ)
- ๊ด๋ฆฌ์( payer/root) ๊ณ์ ์ ๋ก๊ทธ์ธํฉ๋๋ค.
- AWS Organizations ์๋น์ค๋ก ์ด๋ํฉ๋๋ค.
- ์กฐ์ง์ด ์์ง ์์ผ๋ฉด Create Organization ๋ฒํผ์ ํด๋ฆญํ๊ณ ์์ฑ์ ํ์ธํฉ๋๋ค.
๐ ์ด์ SCP๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
โ ๋จ๊ณ 2: ํ ์คํธ์ฉ ์กฐ์ง ๋จ์(OU) ์์ฑ
- AWS Organizations์์ AWS accounts ๋ก ์ด๋ํฉ๋๋ค.
- ๋ฃจํธ OU๋ฅผ ์ ํํ๊ณ Actions ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- Create new organizational unit (OU) ๋ฅผ ์ ํํฉ๋๋ค.
- ๋ช
ํํ ์ด๋ฆ์ ์ง์ (e.g.,
lab-scp-test)ํ๊ณ ํ์ธํฉ๋๋ค.
โ ๋จ๊ณ 3: OU ์์ ํ์ ๊ณ์ ์์ฑ
- AWS Organizations์์ AWS Accounts โ Add an AWS account โ Create an AWS account ๋ก ์ด๋ํฉ๋๋ค.
- ๋ค์ ํญ๋ชฉ์ ์
๋ ฅํฉ๋๋ค:
- Account name:
lab-scp-member(๋๋ ์ํ๋ ์ด๋ฆ) - Email address: ๊ด๋ฆฌ์ ๊ณ์ ์ ๋ง๋ค ๋ ์ฌ์ฉํ ์ด๋ฉ์ผ ๋ณ์นญ์ ์ฌ์ฉํฉ๋๋ค.
- Account name:
- ์์ฑ ์ ์ฐจ๋ฅผ ์๋ฃํฉ๋๋ค. ์ด ๊ณ์ ์ด SCP๋ฅผ ๊ฒ์ฆํ โํ ์คํธ ๊ณ์ โ์ด ๋ฉ๋๋ค.
(ํ์์ ๋ฐ๋ผ ์ ์ฑ ์ค์ ๋ฐ ํ ์คํธ๋ฅผ ๊ณ์ ์งํํ์ธ์.)