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


๋ชฉ์ฐจ#

  1. AWS Organizations
  2. IAM Conditions (์ •์ฑ… ์กฐ๊ฑด)
  3. IAM Roles vs. Resource-Based Policies
  4. IAM Permission Boundaries (๊ถŒํ•œ ๊ฒฝ๊ณ„)
  5. AWS IAM Identity Center (๊ตฌ: AWS SSO)
  6. Microsoft Active Directory (AD) & AWS Directory Services
  7. AWS Control Tower
  8. ์ „์ฒด Identity ์„œ๋น„์Šค ์„ ํƒ ๊ฐ€์ด๋“œ
  9. ๐Ÿ“Œ ์‹œํ—˜ ์ž์ฃผ ์ถœ์ œ ํฌ์ธํŠธ

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:SourceIpAPI ํ˜ธ์ถœ ์ถœ์ฒ˜ IP ์ œํ•œํšŒ์‚ฌ IP์—์„œ๋งŒ ์ ‘๊ทผ ํ—ˆ์šฉ
aws:RequestedRegionAPI ํ˜ธ์ถœ ๋Œ€์ƒ ๋ฆฌ์ „ ์ œํ•œap-northeast-2๋งŒ ํ—ˆ์šฉ
ec2:ResourceTagํƒœ๊ทธ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ์ œํ•œEnvironment=prod ์ธ์Šคํ„ด์Šค๋งŒ
aws:MultiFactorAuthPresentMFA ์ ์šฉ ์—ฌ๋ถ€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 AssumeRole์„ Assumeํ•˜๋ฉด ์›๋ž˜ ๊ถŒํ•œ์„ ํฌ๊ธฐํ•˜๊ณ  Role ๊ถŒํ•œ๋งŒ ๊ฐ€์ง
Resource-based PolicyPrincipal์ด ์›๋ž˜ ๊ถŒํ•œ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ฆฌ์†Œ์Šค์— ์ ‘๊ทผ

์ค‘์š”ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค:

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 GatewayResource-based Policy
Kinesis Stream, EC2 ASG, SSM Run Command, ECS TaskIAM Role

IAM Permission Boundaries (๊ถŒํ•œ ๊ฒฝ๊ณ„)#

  • User์™€ Role์—๋งŒ ์ ์šฉ (Groups์—๋Š” ๋ถˆ๊ฐ€)
  • Managed Policy๋กœ IAM ์—”ํ‹ฐํ‹ฐ๊ฐ€ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๊ถŒํ•œ ์ƒํ•œ์„  ์„ค์ •
์‹ค์ œ ์œ ํšจ ๊ถŒํ•œ =
Permission Boundary AND Identity-based Policy

Organizations SCP์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ ์‹œ:

์œ ํšจ ๊ถŒํ•œ = Organizations SCP AND Permission Boundary AND IAM Policy

Permission 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-inIAM Identity Center ๋‚ด์žฅ Identity Store
3rd PartyActive 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 ADAWS์—์„œ ์ž์ฒด AD ์šด์˜, MFA ์ง€์›Trust ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ
AD ConnectorOn-premises AD๋กœ ์š”์ฒญ ํ”„๋ก์‹œ (Gateway ์—ญํ• )์‚ฌ์šฉ์ž๋Š” On-premises์—์„œ ๊ด€๋ฆฌ
Simple ADAD ํ˜ธํ™˜ ๊ด€๋ฆฌํ˜• ๋””๋ ‰ํ„ฐ๋ฆฌ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 Pools
AWS ๋ฆฌ์†Œ์Šค ์ง์ ‘ ์ ‘๊ทผ ๊ถŒํ•œ โ†’ Amazon Cognito Identity Pools
Windows AD ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ โ†’ AWS Managed Microsoft AD
On-premises AD ์—ฐ๋™ ํ”„๋ก์‹œ โ†’ AD Connector
AD ์—†๋Š” ๋‹จ์ˆœ ํ˜ธํ™˜ ๋””๋ ‰ํ„ฐ๋ฆฌ โ†’ Simple AD
Multi-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 PolicyRole: ์›๋ž˜ ๊ถŒํ•œ ํฌ๊ธฐ / 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 ๋ฉค๋ฒ„ ๊ณ„์ •์—์„œ ์˜ค๋Š” ์š”์ฒญ๋งŒ ํ—ˆ์šฉ