1715 ๋จ์ด
9 ๋ถ
๐๏ธ AWS Identity & Access Management โ Advanced
๐๏ธ AWS Identity & Access Management โ Advanced
AWS Organizations ยท IAM Conditions ยท Permission Boundaries
IAM Identity Center ยท Directory Services ยท Control Tower
๋ชฉ์ฐจ
- AWS Organizations
- IAM Conditions (์ ์ฑ ์กฐ๊ฑด)
- IAM Roles vs. Resource-Based Policies
- IAM Permission Boundaries (๊ถํ ๊ฒฝ๊ณ)
- AWS IAM Identity Center (๊ตฌ: AWS SSO)
- Microsoft Active Directory (AD) & AWS Directory Services
- AWS Control Tower
- ์ ์ฒด Identity ์๋น์ค ์ ํ ๊ฐ์ด๋
- ๐ ์ํ ์์ฃผ ์ถ์ ํฌ์ธํธ
AWS Organizations
- Global Service โ ์ฌ๋ฌ AWS ๊ณ์ ์ ์ค์ ๊ด๋ฆฌ
- Management Account: ์ต์์ ๊ณ์ (๊ฒฐ์ ๊ถํ ๋ณด์ )
- Member Accounts: ํ๋์ Organization์๋ง ์์ ๊ฐ๋ฅ
์ฃผ์ ์ฅ์
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| Consolidated Billing | ๋ชจ๋ ๊ณ์ ๋น์ฉ์ ๋จ์ผ ๊ฒฐ์ ์๋จ์ผ๋ก ํตํฉ |
| Volume Discount | ์ฌ์ฉ๋ ํฉ์ฐ์ผ๋ก EC2, S3 ๋ฑ ๋ณผ๋ฅจ ํ ์ธ |
| Reserved Instance ๊ณต์ | ๋ฏธ์ฌ์ฉ RI๋ฅผ ๋ค๋ฅธ ๊ณ์ ์์ ๊ณต์ |
| API ์๋ํ | API๋ก ๊ณ์ ์๋ ์์ฑ ๊ฐ๋ฅ |
OU (Organizational Units)
Rootโโโ Management Accountโโโ OU: Productionโ โโโ Account Aโ โโโ Account Bโโโ OU: Developmentโ โโโ Account Cโโโ OU: Security โโโ Account D (Log/Audit)SCP (Service Control Policies)
- OU ๋๋ ๊ณ์ ์ ์ ์ฉํ๋ IAM Policy ํํ์ ์ต๋ ๊ถํ ์ํ์
- Management Account์๋ ์ ์ฉ๋์ง ์์ (ํญ์ Full Admin)
- Allow/Deny ๋ชจ๋ ๋ช ์ ๊ฐ๋ฅ โ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฌด๊ฒ๋ ํ์ฉํ์ง ์์ (IAM๊ณผ ๋์ผ)
- Root์์ ๊ฐ OU๋ฅผ ๊ฑฐ์ณ Target Account๊น์ง ๋ช ์์ Allow๊ฐ ์์ด์ผ ํจ๊ณผ ๋ฐ์
์ค์ ์ ํจ ๊ถํ = SCP(Org ๋ ๋ฒจ) AND SCP(OU ๋ ๋ฒจ) AND IAM Identity Policy๐ก Use Case: ํน์ ๋ฆฌ์ ์ ๊ธ, ํน์ ์๋น์ค ์ฌ์ฉ ๊ธ์ง, ๋ฃจํธ ๊ณ์ ์์ ์ ํ
Tag Policies
- Organization ์ ์ฒด์์ ํ๊ทธ ํ์คํ ๊ฐ์
- ํน์ ์๋น์ค/๋ฆฌ์์ค์ ๋น์ค์ ํ๊น ์์ ๋ฐฉ์ง
- ํ๊ทธ๊ฐ ์๋ ๋ฆฌ์์ค์๋ ์ํฅ ์์
- AWS Cost Allocation Tags + ABAC(Attribute-based Access Control)์ ์ฐ๊ณ
- ๋น์ค์ ๋ฆฌ์์ค ๋ฆฌํฌํธ ์์ฑ + EventBridge๋ก ๋น์ค์ ํ๊ทธ ๋ชจ๋ํฐ๋ง
IAM Conditions (์ ์ฑ ์กฐ๊ฑด)
์ฃผ์ ์กฐ๊ฑด ํค:
| ์กฐ๊ฑด ํค | ์ค๋ช | ์์ |
|---|---|---|
aws:SourceIp | API ํธ์ถ ์ถ์ฒ IP ์ ํ | ํ์ฌ IP์์๋ง ์ ๊ทผ ํ์ฉ |
aws:RequestedRegion | API ํธ์ถ ๋์ ๋ฆฌ์ ์ ํ | ap-northeast-2๋ง ํ์ฉ |
ec2:ResourceTag | ํ๊ทธ ๊ธฐ๋ฐ ์ ๊ทผ ์ ํ | Environment=prod ์ธ์คํด์ค๋ง |
aws:MultiFactorAuthPresent | MFA ์ ์ฉ ์ฌ๋ถ | MFA ์์ผ๋ฉด ์ฐจ๋จ |
S3 ๋ฒํท vs. ๊ฐ์ฒด ๊ถํ ๋ ๋ฒจ
Bucket ๋ ๋ฒจ: arn:aws:s3:::test โ s3:ListBucket ์ ์ฉ
Object ๋ ๋ฒจ: arn:aws:s3:::test/* โ s3:GetObject, s3:PutObject, s3:DeleteObject ์ ์ฉaws
- ๋ชจ๋ Resource Policy์์ ์ฌ์ฉ ๊ฐ๋ฅ
- AWS Organization์ ๋ฉค๋ฒ ๊ณ์ ์์ ์ค๋ ์์ฒญ๋ง ํ์ฉ
"Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-xxxxxxxxxx" }}IAM Roles vs. Resource-Based Policies
Cross-Account ์ ๊ทผ ์ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ
| ๋ฐฉ๋ฒ | ํน์ง |
|---|---|
| IAM Role Assume | Role์ Assumeํ๋ฉด ์๋ ๊ถํ์ ํฌ๊ธฐํ๊ณ Role ๊ถํ๋ง ๊ฐ์ง |
| Resource-based Policy | Principal์ด ์๋ ๊ถํ์ ์ ์งํ๋ฉด์ ๋ฆฌ์์ค์ ์ ๊ทผ |
์ค์ํ ์๋๋ฆฌ์ค:
Account A์ User๊ฐ Account A์ DynamoDB๋ฅผ ์ค์บํ๊ณ Account B์ S3์ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํด์ผ ํ ๋:
โ IAM Role Assume ๋ถ๊ฐ (Account A DynamoDB ๊ถํ ํฌ๊ธฐํด์ผ ํด์)โ Account B S3์ Resource-based Policy๋ก Account A User ์ง์ ํ์ฉ โ ์ ๋ตEventBridge โ ์๋น์ค๋ณ ๊ถํ ๋ฐฉ์
| Target | ํ์ํ ๊ถํ ๋ฐฉ์ |
|---|---|
| Lambda, SNS, SQS, S3, API Gateway | Resource-based Policy |
| Kinesis Stream, EC2 ASG, SSM Run Command, ECS Task | IAM Role |
IAM Permission Boundaries (๊ถํ ๊ฒฝ๊ณ)
- User์ Role์๋ง ์ ์ฉ (Groups์๋ ๋ถ๊ฐ)
- Managed Policy๋ก IAM ์ํฐํฐ๊ฐ ๊ฐ์ง ์ ์๋ ์ต๋ ๊ถํ ์ํ์ ์ค์
์ค์ ์ ํจ ๊ถํ = Permission Boundary AND Identity-based PolicyOrganizations SCP์ ํจ๊ป ์ฌ์ฉ ์:
์ ํจ ๊ถํ = Organizations SCP AND Permission Boundary AND IAM PolicyPermission Boundary Use Cases
| Use Case | ์ค๋ช |
|---|---|
| ๋น๊ด๋ฆฌ์์๊ฒ ๊ถํ ์์ | ์ IAM User๋ฅผ ๋ง๋ค ์ ์๋ Permission Boundary ๋ด์์๋ง |
| ๊ฐ๋ฐ์ Self-service | ์์ ์ ์ ์ฑ ์ ์ง์ ๊ด๋ฆฌ ๊ฐ๋ฅ, ๋จ ๊ถํ ์์ค์ปฌ๋ ์ด์ (๊ด๋ฆฌ์ ๊ถํ ํ๋) ๋ฐฉ์ง |
| ํน์ User๋ง ์ ํ | Organizations/SCP ๋์ ๋จ์ผ User์๊ฒ๋ง ์ ์ฉ |
AWS IAM Identity Center (๊ตฌ: AWS SSO)
- Single Sign-On: ํ ๋ฒ ๋ก๊ทธ์ธ์ผ๋ก ๋ชจ๋ ๊ฒ์ ์ ๊ทผ
- ์ง์ ๋์:
- AWS Organizations์ ๋ชจ๋ ๊ณ์
- ๋น์ฆ๋์ค ํด๋ผ์ฐ๋ ์ฑ (Salesforce, Box, Microsoft 365)
- SAML 2.0 ์ง์ ์ฑ
- EC2 Windows Instance
Identity Providers (IdP)
| ์ ํ | ๋ด์ฉ |
|---|---|
| Built-in | IAM Identity Center ๋ด์ฅ Identity Store |
| 3rd Party | Active Directory (AD), Okta ๋ฑ |
Fine-grained ๊ถํ ๋ฐ ํ ๋น
Multi-Account Permissions:
- Permission Sets: IAM Policy ์ปฌ๋ ์ โ ์ฌ์ฉ์/๊ทธ๋ฃน์ ํ ๋น โ AWS ๊ณ์ ์ ๊ทผ ์ ์
Application Assignments:
- ๋ง์ SAML 2.0 ๋น์ฆ๋์ค ์ฑ์ SSO ์ ๊ทผ
- URL, ์ธ์ฆ์, ๋ฉํ๋ฐ์ดํฐ ์ ๊ณต
ABAC (Attribute-Based Access Control):
- ์ฌ์ฉ์ ์์ฑ(๋ถ์, ์ง์ฑ , ๋ก์ผ์ผ) ๊ธฐ๋ฐ ์ธ๋ฐํ ๊ถํ
- ๊ถํ์ ํ ๋ฒ ์ ์ โ ์์ฑ ๋ณ๊ฒฝ์ผ๋ก AWS ์ ๊ทผ ์์
Microsoft Active Directory (AD) & AWS Directory Services
Active Directory ๊ฐ๋
- Windows Server์์ ์ด์, AD Domain Services ํฌํจ
- ์ฌ์ฉ์ ๊ณ์ , ์ปดํจํฐ, ํ๋ฆฐํฐ, ํ์ผ ๊ณต์ , ๋ณด์ ๊ทธ๋ฃน์ ์ค์ ๊ด๋ฆฌ DB
- ๊ฐ์ฒด(Object)๋ Tree๋ก ๊ตฌ์ฑ, Tree ๊ทธ๋ฃน = Forest
AWS Directory Services 3๊ฐ์ง
| ์๋น์ค | ์ค๋ช | On-premises AD |
|---|---|---|
| AWS Managed Microsoft AD | AWS์์ ์์ฒด AD ์ด์, MFA ์ง์ | Trust ์ฐ๊ฒฐ ๊ฐ๋ฅ |
| AD Connector | On-premises AD๋ก ์์ฒญ ํ๋ก์ (Gateway ์ญํ ) | ์ฌ์ฉ์๋ On-premises์์ ๊ด๋ฆฌ |
| Simple AD | AD ํธํ ๊ด๋ฆฌํ ๋๋ ํฐ๋ฆฌ | On-premises AD์ ์ฐ๊ฒฐ ๋ถ๊ฐ |
IAM Identity Center + AD ํตํฉ ๋ฐฉ๋ฒ
๋ฐฉ๋ฒ 1: AWS Managed Microsoft AD ์ฌ์ฉ (๋ฐ๋ก ํตํฉ)
[IAM Identity Center] โ [AWS Managed Microsoft AD]โ Out-of-the-box ํตํฉ๋ฐฉ๋ฒ 2: Self-Managed (On-premises) AD ์ฌ์ฉ
๋ฐฉ๋ฒ A: Two-way Trust[IAM Identity Center] โ [AWS Managed AD] โ(Trust)โ [On-premises AD]
๋ฐฉ๋ฒ B: AD Connector (๋ ๋์ Latency)[IAM Identity Center] โ [AD Connector] โ(Proxy)โ [On-premises AD]AWS Control Tower
- ๋ณด์/๊ท์ ์ค์ Multi-Account AWS ํ๊ฒฝ์ ๋น ๋ฅด๊ฒ ์ค์ ๋ฐ ๊ด๋ฆฌ
- AWS Organizations๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ ์์ฑ
์ฃผ์ ์ฅ์
| ํญ๋ชฉ | ๋ด์ฉ |
|---|---|
| ์๋ํ | ํ๊ฒฝ ์ค์ ํด๋ฆญ ๋ช ๋ฒ์ผ๋ก ์๋ ์๋ฃ |
| Policy ๊ด๋ฆฌ | Guardrail๋ก ์ง์์ ์ ์ฑ ๊ด๋ฆฌ |
| ๊ท์ ์ค์ ๋ชจ๋ํฐ๋ง | ์ธํฐ๋ํฐ๋ธ ๋์๋ณด๋ |
| ์๋ฐ ์๋ ์์ | ์ ์ฑ ์๋ฐ ๊ฐ์ง ๋ฐ remediation |
Guardrails
| ์ ํ | ์๋จ | ์์ |
|---|---|---|
| Preventive (์๋ฐฉ) | SCP | ํน์ ๋ฆฌ์ ์ธ ๋ฆฌ์์ค ์์ฑ ๊ธ์ง |
| Detective (ํ์ง) | AWS Config | ํ๊ทธ ์๋ ๋ฆฌ์์ค ์๋ณ |
์ ์ฒด Identity ์๋น์ค ์ ํ ๊ฐ์ด๋
AWS ๊ณ์ ๋ค์ ๊ด๋ฆฌ โ AWS Organizations + SCPํ ๋ฒ ๋ก๊ทธ์ธ์ผ๋ก ์ ์ฒด ์ ๊ทผ โ IAM Identity Center (SSO)์ธ๋ถ ์ฌ์ฉ์ ์ฑ ์ธ์ฆ โ Amazon Cognito User PoolsAWS ๋ฆฌ์์ค ์ง์ ์ ๊ทผ ๊ถํ โ Amazon Cognito Identity PoolsWindows AD ๋ง์ด๊ทธ๋ ์ด์
โ AWS Managed Microsoft ADOn-premises AD ์ฐ๋ ํ๋ก์ โ AD ConnectorAD ์๋ ๋จ์ ํธํ ๋๋ ํฐ๋ฆฌ โ Simple ADMulti-Account ๊ฑฐ๋ฒ๋์ค โ AWS Control Tower๐ ์ํ ์์ฃผ ์ถ์ ํฌ์ธํธ
| ํฌ์ธํธ | ๋ด์ฉ |
|---|---|
| SCP ์ ์ฉ ๋์ | Management Account ์ ์ธ ๋ชจ๋ ๊ณ์ /OU |
| SCP ๊ธฐ๋ณธ ๋์ | ์๋ฌด๊ฒ๋ ํ์ฉํ์ง ์์ (๋ช ์์ Allow ํ์) |
| Tag Policy ์ํฅ | ํ๊ทธ ์๋ ๋ฆฌ์์ค์๋ ์ํฅ ์์ |
| Permission Boundary ์ ์ฉ | User์ Role๋ง (Groups ๋ถ๊ฐ) |
| ์ ํจ ๊ถํ ๊ณต์ | SCP AND Boundary AND IAM Policy |
| Cross-Account: Role vs Resource Policy | Role: ์๋ ๊ถํ ํฌ๊ธฐ / Resource Policy: ์๋ ๊ถํ ์ ์ง |
| EventBridge Lambda/SNS/SQS ๊ถํ | Resource-based Policy |
| EventBridge Kinesis/ECS ๊ถํ | IAM Role |
| IAM Identity Center ๊ตฌ ์ด๋ฆ | AWS Single Sign-On (SSO) |
| IAM Identity Center + AD ๋ฐ๋ก ํตํฉ | AWS Managed Microsoft AD |
| AD Connector ์ญํ | ํ๋ก์ (์ฌ์ฉ์๋ On-premises์์ ๊ด๋ฆฌ) |
| Simple AD ์ ํ | On-premises AD์ ์ฐ๊ฒฐ ๋ถ๊ฐ |
| Control Tower ๊ณ์ ์์ฑ ๋ฐฉ๋ฒ | AWS Organizations ์ฌ์ฉ |
| Preventive Guardrail ์๋จ | SCP |
| Detective Guardrail ์๋จ | AWS Config |
| aws | Organization ๋ฉค๋ฒ ๊ณ์ ์์ ์ค๋ ์์ฒญ๋ง ํ์ฉ |