π 12μΌ μ°¨ | AWS IAM β AWS 보μμ ν΅μ¬
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 μ¬μ©μ μμ± (μ¬λμ©)
μ¬μ©μλ μ¬λμ μ κ·Όμ μν΄ μ¬μ©νκ³ , μλνμλ μ¬μ©νμ§ μμ΅λλ€.
μ μ°¨
- AWS Console β IAM β Users λ‘ μ΄λ
- Create user ν΄λ¦
- μ΄λ¦ μ
λ ₯ (μ:
devops-user) - κΆν λΆμ¬ (Admin λλ 컀μ€ν )
- λ‘κ·ΈμΈ μ격 μ¦λͺ μμ±
- MFA νμ±ν (λ§€μ° μ€μ!)
λͺ©μ : μ¬λμΌλ‘μ AWSμ λ‘κ·ΈμΈνκΈ° μν¨.
2. κ·Έλ£Ή μμ± (νμ©)
κ·Έλ£Ήμ μ¬μ©νλ©΄ μ¬λ¬ μ¬μ©μμκ² λμΌν κΆνμ λΆμ¬ν μ μμ΅λλ€.
μμ
- DevOpsβTeam
- Developers
- AdminβTeam
μ μ°¨
- IAM β User groups β Create group
- κ³΅ν΅ μ μ± μ μ°κ²°
- μ¬μ©μλ₯Ό κ·Έλ£Ήμ μΆκ°
3. IAM μν μμ± (AWS μλΉμ€μ©)
μν μ λ¨Έμ μ΄ μ¬μ©νλ©°, μ¬λμ μ¬μ©νμ§ μμ΅λλ€.
μμ
- EC2 μΈμ€ν΄μ€ μν
- Lambda μ€ν μν
- GitHub Actions OIDC μν
- Jenkins μν
- Terraform μν
μ μ°¨
- IAM β Roles β Create role
- μλΉμ€ μ ν (EC2, Lambda λ±)
- μ μ± μ°κ²° (S3, EC2, CloudWatch λ±)
- μν μ ν΄λΉ μλΉμ€μ μ°κ²°
μ¬μ© μ¬λ‘
- EC2κ° μν μ ν΅ν΄ S3 κ°μ²΄λ₯Ό μ½μ μ μμ
- GitHub Actionsκ° μν μ μ¬μ©ν΄ AWSμ λ°°ν¬ (μ‘μΈμ€ ν€ μμ)
4. μ μ± μ°κ²° (κΆν)
μ μ± μ νμ©λ νλμ μ μνλ JSON λ¬Έμμ λλ€.
μμ μ μ±
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::mybucket/*"
}
]
}
μ μ°¨
- IAM β Policies β Create policy
- μ μ± μ user, group, νΉμ roleμ μ°κ²°
5. MFA νμ±ν (보μ κ°ν)
MFAλ λ‘κ·ΈμΈ μ κ°λ ₯ν 보νΈλ₯Ό μ 곡ν©λλ€.
μ μ°¨
- IAM β Users β Your user β Security credentials
- Assign MFA device ν΄λ¦
- Google Authenticator / Authy λ‘ QR μ½λ μ€μΊ
- μ€μ μλ£
6. IAM Access Analyzer μ¬μ©
IAM Access Analyzerλ κ³΅κ° S3 λ²ν·μ΄λ κ³Όλν κΆν μ μ± κ³Ό κ°μ 보μ μνμ μλ³ν©λλ€.
μ μ°¨
- IAM β Access Analyzer
- Analyzer νμ±ν
- κ²°κ³Ό κ²ν
- κ³Όλν κΆν μ μ± μμ
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):