πŸ“… 12일 μ°¨ | AWS IAM β€” AWS λ³΄μ•ˆμ˜ 핡심

λ°œν–‰: (2025λ…„ 12μ›” 12일 μ˜€μ „ 01:39 GMT+9)
4 min read
원문: Dev.to

Source: Dev.to

IAMμ΄λž€?

IAM (Identity and Access Management) 은 AWS의 λ³΄μ•ˆ μ‹œμŠ€ν…œμž…λ‹ˆλ‹€.
AWS κ³„μ •μ—μ„œ λˆ„κ°€ 무엇에 μ ‘κ·Όν•  수 μžˆλŠ”μ§€λ₯Ό κ²°μ •ν•©λ‹ˆλ‹€.

IAM을 λ³΄μ•ˆ μš”μ›μ— λΉ„μœ ν•˜λ©΄:

  • Users – 접근이 ν•„μš”ν•œ μ‚¬λžŒλ“€
  • Roles – AWS μ„œλΉ„μŠ€(EC2, Lambda, GitHub Actions, Terraform)λ₯Ό μœ„ν•œ κΆŒν•œ
  • Policies – μ–΄λ–€ 행동이 ν—ˆμš©λ˜λŠ”μ§€ μ •μ˜ν•˜λŠ” κ·œμΉ™
  • Groups – νŒ€ λ‹¨μœ„ κΆŒν•œ

IAM μ‚¬μš© 방법 (단계별 κ°€μ΄λ“œ)

1. IAM μ‚¬μš©μž 생성 (μ‚¬λžŒμš©)

μ‚¬μš©μžλŠ” μ‚¬λžŒμ˜ 접근을 μœ„ν•΄ μ‚¬μš©ν•˜κ³ , μžλ™ν™”μ—λŠ” μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

절차

  1. AWS Console β†’ IAM β†’ Users 둜 이동
  2. Create user 클릭
  3. 이름 μž…λ ₯ (예: devops-user)
  4. κΆŒν•œ λΆ€μ—¬ (Admin λ˜λŠ” μ»€μŠ€ν…€)
  5. 둜그인 자격 증λͺ… 생성
  6. MFA ν™œμ„±ν™” (맀우 μ€‘μš”!)

λͺ©μ : μ‚¬λžŒμœΌλ‘œμ„œ AWS에 λ‘œκ·ΈμΈν•˜κΈ° μœ„ν•¨.

2. κ·Έλ£Ή 생성 (νŒ€μš©)

그룹을 μ‚¬μš©ν•˜λ©΄ μ—¬λŸ¬ μ‚¬μš©μžμ—κ²Œ λ™μΌν•œ κΆŒν•œμ„ λΆ€μ—¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ˜ˆμ‹œ

  • DevOps‑Team
  • Developers
  • Admin‑Team

절차

  1. IAM β†’ User groups β†’ Create group
  2. 곡톡 정책을 μ—°κ²°
  3. μ‚¬μš©μžλ₯Ό 그룹에 μΆ”κ°€

3. IAM μ—­ν•  생성 (AWS μ„œλΉ„μŠ€μš©)

역할은 머신이 μ‚¬μš©ν•˜λ©°, μ‚¬λžŒμ€ μ‚¬μš©ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ˜ˆμ‹œ

  • EC2 μΈμŠ€ν„΄μŠ€ μ—­ν• 
  • Lambda μ‹€ν–‰ μ—­ν• 
  • GitHub Actions OIDC μ—­ν• 
  • Jenkins μ—­ν• 
  • Terraform μ—­ν• 

절차

  1. IAM β†’ Roles β†’ Create role
  2. μ„œλΉ„μŠ€ 선택 (EC2, Lambda λ“±)
  3. μ •μ±… μ—°κ²° (S3, EC2, CloudWatch λ“±)
  4. 역할을 ν•΄λ‹Ή μ„œλΉ„μŠ€μ— μ—°κ²°

μ‚¬μš© 사둀

  • EC2κ°€ 역할을 톡해 S3 객체λ₯Ό 읽을 수 있음
  • GitHub Actionsκ°€ 역할을 μ‚¬μš©ν•΄ AWS에 배포 (μ•‘μ„ΈμŠ€ ν‚€ μ—†μŒ)

4. μ •μ±… μ—°κ²° (κΆŒν•œ)

정책은 ν—ˆμš©λœ 행동을 μ •μ˜ν•˜λŠ” JSON λ¬Έμ„œμž…λ‹ˆλ‹€.

μ˜ˆμ‹œ μ •μ±…

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::mybucket/*"
    }
  ]
}

절차

  1. IAM β†’ Policies β†’ Create policy
  2. 정책을 user, group, ν˜Ήμ€ role에 μ—°κ²°

5. MFA ν™œμ„±ν™” (λ³΄μ•ˆ κ°•ν™”)

MFAλŠ” 둜그인 μ‹œ κ°•λ ₯ν•œ 보호λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

절차

  1. IAM β†’ Users β†’ Your user β†’ Security credentials
  2. Assign MFA device 클릭
  3. Google Authenticator / Authy 둜 QR μ½”λ“œ μŠ€μΊ”
  4. μ„€μ • μ™„λ£Œ

6. IAM Access Analyzer μ‚¬μš©

IAM Access AnalyzerλŠ” 곡개 S3 λ²„ν‚·μ΄λ‚˜ κ³Όλ„ν•œ κΆŒν•œ μ •μ±…κ³Ό 같은 λ³΄μ•ˆ μœ„ν—˜μ„ μ‹λ³„ν•©λ‹ˆλ‹€.

절차

  1. IAM β†’ Access Analyzer
  2. Analyzer ν™œμ„±ν™”
  3. κ²°κ³Ό κ²€ν† 
  4. κ³Όλ„ν•œ κΆŒν•œ μ •μ±… μˆ˜μ •

DevOpsμ—μ„œ IAM이 μ‚¬μš©λ˜λŠ” 경우

μž‘μ—…IAM ν•„μš” μ—¬λΆ€μ˜ˆμ‹œ
CI/CD (GitHub Actions)예OIDC μ—­ν• 
Terraformμ˜ˆμ •μ±…μ΄ ν¬ν•¨λœ IAM μ—­ν• 
EC2 λ‘œκΉ…μ˜ˆCloudWatch μ—­ν• 
S3 μ•„ν‹°νŒ©νŠΈμ˜ˆS3 μ ‘κ·Ό μ •μ±…
EKS예Kubernetes용 IAM μ—­ν• 
Jenkins 배포예IAM μ‚¬μš©μž / μ—­ν• 
λͺ¨λ‹ˆν„°λ§μ˜ˆCloudWatch κΆŒν•œ

μœ μš©ν•œ 링크

  • GitHub:
  • Dev.to Blog:
  • LinkedIn:
  • Resume (Google Drive):
Back to Blog

κ΄€λ ¨ κΈ€

더 보기 Β»

IAM μ •μ±… vs λ¦¬μ†ŒμŠ€ μ •μ±…: ν”„λ‘œλ•μ…˜(및 μ²΄μœ‘κ΄€)μ—μ„œ 얻은 κ΅ν›ˆ

λ‚΄κ°€ AWS 여정을 μ‹œμž‘ν–ˆμ„ λ•Œ, λͺ‡ μ‹œκ°„ λ™μ•ˆ 머리λ₯Ό μ‹Έλ§€κ²Œ λ§Œλ“  λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. ν•œ frontend engineerκ°€ λ‚˜μ—κ²Œ 닀가와 λ§ν–ˆμŠ΅λ‹ˆλ‹€: > β€œTony, λ‚˜λŠ” μ‚¬μš©μžλ“€μ΄ μš°λ¦¬β€¦

Day 16. IAM μ‚¬μš©μž 생성

!Day 16 컀버 이미지. IAM μ‚¬μš©μž 생성 https://media2.dev.to/dynamic/image/width=1000,height=420,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads...