1. AWS Identity and Access Management
AWS Certified SAA-C02 μνμ€λΉ
Contents
Users & Groups
IAM
= Identity and Access Management β Global μλΉμ€- Root κ³μ μ κΈ°λ³ΈμΌλ‘ μμ±λλ©° μ¬μ©νκ±°λ 곡μ ν΄μλ μλλ€.
- Users λ μ‘°μ§μ μ¬μ©μμ΄λ©° κ·Έλ£ΉμΌλ‘ λ¬Άμ μ μλ€.
- Groupsλ userλ₯Ό ν¬ν¨ν μ μκ³ λ€λ₯Έ κ·Έλ£Ήμ ν¬ν¨ν μ μλ€.
- μ¬μ©μλ κ·Έλ£Ήμ μν νμλ μκ³ userλ μ¬λ¬ κ·Έλ£Ήμ μν μ μλ€.
Permissions
- μ¬μ©μλ κ·Έλ£Ήμ μ μ± μ JSON λ¬Έμλ₯Ό ν΅ν΄ ν λΉν μ μλ€.
- μ μ±
(
polices
)μ μ¬μ©μμ κΆν(permissions)μ μ μνλ€. - AWSμμλ μ΅μ κΆν μμΉμ μ μ©νλ€ β μ¬μ©μκ° νμλ‘ νλ κ²λ³΄λ€ λ λ§μ κΆνμ λΆμ¬νμ§ μλλ€.
IAM Policies inheritance
- μΈλΌμΈ μ μ± : κ·Έλ£Ήμ μν΄μμ§ μμλ μ μ± μ λ°λ‘ μ¬μ©μμκ² μ°κ²° κ°λ₯
IAM Policies Structure
|
|
μμ
Version
: μ μ± λ²μ Id
: μ μ± μ μλ³ν μ μλ μλ³μ (μ΅μ )Statement
: νλ νΉμ μ¬λ¬κ° (νμμ¬ν)
Statements μμ
Sid
: statement μ μλ³μ (μ΅μ )Effect
: νΉμ statementμ μ κ·Όμ νμ© μ¬λΆ (Allow λλ Deny)λ₯Ό λνλPrincipal
: μ μ± μ΄ μ μ© λ λμ (κ³μ , μ¬μ©μ, μν )Action
: μ μ± μ νμ© λλ κ±°λΆλλ νΈμΆ 리μ€νΈ λͺ©λ‘Resource
: μ μ± μ΄ μ μ©λ 리μμ€ λͺ©λ‘Condition
: statementκ° μΈμ μ μ©λ μ§ κ²°μ (μ΅μ )
IAM Password Policy
- κ°λ ₯ν λΉλ°λ²νΈ β κ³μ μ λν λμ 보μ
AWSμμ μ€μ κ°λ₯ν ν¨μ€μλ μ μ±
- ν¨μ€μλ μ΅μ κΈΈμ΄
- νΉμλ¬Έμ ν¬ν¨ νμ μ λ ₯ : λμλ¬Έμ, μ«μ, νΉμλ¬Έμ
- IAM κ³μ μ¬μ©μλ€μ ν¨μ€μλ λ³κ²½ νμ© λλ κΈμ§
- ν¨μ€μλ λ§λ£ μ§μ
- ν¨μ€μλ μ¬μ¬μ© κΈμ§
MFA - Multi Factor Authentication
- μ¬μ©μλ κ³μ μ μ‘μΈμ€ ν μ μμΌλ©° ꡬμ±μ λ³κ²½νκ±°λ AWS κ³μ μ 리μμ€λ₯Ό μμ ν μ μλ€.
- MFAλ λ£¨νΈ κ³μ λ° IAM μ¬μ©μλ₯Ό 보νΈνλ €λ κ²½μ° μ¬μ©ν μ μλ€.
- λΉλ°λ²νΈκ° λλλΉνκ±°λ ν΄νΉλΉν΄λ κ³μ μ μμμ μ μ§ μλλ€.
MFA = ν¨μ€μλ(μ¬μ©μλ§ μκ³ μλ) + 보μ μ₯λΉ(μ¬μ©μκ° μμ νκ³ μλ)
MFA devices options in AWS
MFA devices | |
---|---|
Virtual MFA device | - νλμ λλ°μ΄μ€μ λ©ν° ν ν°μ μ§μ - Google Authenticator(phone only) - Authy(multi-device) |
Universal 2nd Factor (U2F) Security Key | - λ¨μΌ 보μ ν€λ₯Ό μ¬μ©νμ¬ μ¬λ¬ λ£¨νΈ λ° IAM μ¬μ©μ μ§μ - YubiKey by Yubico (3rd party) |
Hardware Key Fob MFA Device | - Provided by Gemalto (3rd party) |
Hardware Key Fob MFA Device for AWS GovCloud (US) | - Provided by SurePassID (3rd party) |
AWSμ μ‘μΈμ€ νλ λ°©λ²
AWS μ‘μΈμ€νκΈ° μν μΈ κ°μ§ λ°©λ²
AWS Management Console
: λΉλ°λ²νΈ + MFAλ‘ λ³΄νΈAWS Command Line Interface (CLI)
: access keyλ‘ λ³΄νΈAWS Software Developer Kit (SDK)
: μ½λμ κ²½μ° access keyλ‘ λ³΄νΈ
- μ‘μΈμ€ν€λ AWS μ½μμ ν΅ν΄ μμ±ν μ μλ€.
- μ¬μ©μκ° μμ μ μ‘μΈμ€ν€λ₯Ό κ΄λ¦¬νλ€.
- μ‘μΈμ€ ν€λ ν¨μ€μλμ λ§μ°¬κ°μ§λ‘ κΈ°λ°μ΄λ―λ‘ κ³΅μ νμ§ μλλ€.
- Access Key ID ~= username
- Secret Access Key ~= password
AWS CLI
- 컀맨λλΌμΈ μμμ λͺ λ Ήμ΄λ₯Ό μ¬μ©νμ¬ AWS μλΉμ€μ μνΈμμ© ν μ μλλ‘ ν΄μ£Όλ λꡬ
- CLIλ₯Ό μ¬μ©νλ©΄ AWSμ κ³΅μ© APIλ‘ μ§μ μ‘μΈμ€ κ°λ₯
- 리μμλ₯Ό μλννμ¬ κ΄λ¦¬ν μ μλ€.
- μ€νμμ€μ΄λ€. https://github.com/aws/aws-cli
- AWS κ΄λ¦¬ μ½μ λμ μ¬μ© κ°λ₯
AWS SDK(AWS Software Development Kit)
-
νΉμ μΈμ΄λ‘ λ λΌμ΄λΈλ¬λ¦¬ μ§ν©
-
νλ‘κ·Έλλ°μΌλ‘ AWSμ μ‘μΈμ€λ₯Ό μ‘μΈμ€νκ³ κ΄λ¦¬
-
μμ© νλ‘κ·Έλ¨μ ν¬ν¨
Supports- SDKs (Javascript, Python, PHP, .NET, Ruby, Java, Go, Node.js, C++)
- Mobile SDKs (Android, iOSβ¦)
- IoT Device SDKs (Embedded C, Arduinoβ¦)
IAM Roles for Service
- μΌλΆ AWS μλΉμ€λ μ¬μ©μλ₯Ό λμ νμ¬ μμ μ μν
- IAM μν μ μ¬μ©νμ¬ AWS μλΉμ€μ μ¬μ© κΆνμ ν λΉ
κ³΅ν΅ μν
- EC2 μΈμ€ν΄μ€ Roles
- Lambda Function Roles
- Roles for CloudFormation
IAM Security Tools
IAM Security Tools | μ€λͺ |
---|---|
IAM Credentials Report (account-level) | κ³μ μ λͺ¨λ μ¬μ©μμ ν΄λΉ μ¬μ©μμ λ€μν μ격 μ¦λͺ μνλ₯Ό λμ΄νλ λ³΄κ³ μ |
IAM Access Advisor (user-level) | - μ¬μ©μμκ² λΆμ¬λ μλΉμ€ κΆνκ³Ό ν΄λΉ μλΉμ€μ λ§μ§λ§μΌλ‘ μ‘μΈμ€ν μκ°μ νμ - μ΄ μ 보λ₯Ό μ¬μ©νμ¬ μ μ± μ μμ |
IAM κ°μ΄λλΌμΈ & λͺ¨λ² μ¬λ‘
- λ£¨νΈ κ³μ μ AWS κ³μ μ μ€μ ν λλ₯Ό μ μΈνκ³ μ¬μ©νμ§ μλλ€.
- μ€μ μ μ νλͺ = νλμ AWS μ μ
- μ¬μ©μλ₯Ό κ·Έλ£Ήμ ν λΉνκ³ κ·Έλ£Ήμ κΆνμ ν λΉ
- κ°λ ₯ν ν¨μ€μλ μ μ± μ¬μ©
- MFA(Multi Factor Authentication) μΈμ¦ μ¬μ© λ° μ μ©
- AWS μλΉμ€μ λν μ¬μ© κΆνμ λΆμ¬νλ μν
Roles
μ μμ± λ° μ¬μ© - νλ‘κ·Έλλ° λ°©μμ μ‘μΈμ€ ν€ μ¬μ© (CLI / SDK)
- IAM μ격μ¦λͺ λ³΄κ³ μλ₯Ό μ¬μ©ν κ³μ κ°μ¬
- IAM μ μ μ μ‘μΈμ€ν€ 곡μ λ μ λ νμ§ μλλ€
Summary
μ€λͺ | |
---|---|
Users | AWS μ½μμ λν λΉλ°λ²νΈλ₯Ό κ°λ μ€μ μ¬μ©μμ 맀ν |
Groups | μ€μ§ μ¬μ©μλ§ κ·Έλ£Ήμ ν¬ν¨ν μ μλ€. λ€λ₯Έ κ·Έλ£Ήμ ν¬ν¨ν μ μλ€. |
Policies | μ¬μ©μλ κ·Έλ£Ήμ΄ ν μ μλ κΆνμ μλ €μ£Όλ λ¬Έμμ΄λ€.JSON ννλ‘ λμ΄μλ€. |
Roles | EC2μ κ°μ AWS μλΉμ€μμ 무μΈκ°λ₯Ό ν μ μκ² νλ κΆνμ μ£Όλ €κ³ ν λ IAM Roleμ λ§λ€μ΄μΌ νλ€. |
Security | MFA + Password |
Access Keys | AWSμ CLI, SDK μ κ·ΌνκΈ° μν΄ μ¬μ©νλ μ격μ¦λͺ κ°μ΄λ€. |
Audit(νκ³ κ°μ¬) | IAM Credential Reports(IAM μ격μ¦λͺ
λ³΄κ³ μ) : μ¬μ©μ μ격μ¦λͺ
λ΄μ νμΈ IAM Access Advisor(IAM μ‘μΈμ€ κ΄λ¦¬μ) : μ΅κ·Ό κΆν μ¬μ©λ΄μ νμΈ |