AWS(Amazon Web Services)μ ν΅μ¬ κ°λ μ€ νλμΈ λ£¨νΈ μ μ (Root User)μ IAM μ μ (IAM User), κ·Έλ¦¬κ³ μ μ± (Policy)μ λν΄ μμλ³΄κ² μ΅λλ€. ν΄λΌμ°λ μ»΄ν¨ν μ ν¨κ³Όμ μΌλ‘ νμ©νκΈ° μν΄μλ μ΄λ¬ν κ°λ λ€μ λͺ νν μ΄ν΄νλ κ²μ΄ μ€μν©λλ€. μ΄ κΈμμλ ν΄λΌμ°λμ κΈ°λ³Έ κ°λ λΆν° μμνμ¬ AWSμ μ¬μ©μ κ΄λ¦¬μ μ μ± μ€μ λ°©λ²κΉμ§ λ¨κ³λ³λ‘ μ€λͺ λλ¦¬κ² μ΅λλ€.
ν΄λΌμ°λμ μ¨νλ λ―Έμ€
ν΄λΌμ°λ
ν΄λΌμ°λ(Cloud)λ μ½κ² μ¬μ©νκ³ λ°λ©ν μ μλ μ»΄ν¨ν° μμμ μλ―Έν©λλ€. μ¬μ©μλ νμν λ μμμ λΉλ € μ¬μ©νκ³ , λ μ΄μ νμνμ§ μμ λλ λ°νν μ μμ΅λλ€. ν΄λΌμ°λλ μ μ°μ±κ³Ό νμ₯μ±μ΄ λ°μ΄λλ©°, μ΄κΈ° ν¬μ λΉμ©μ μ€μΌ μ μλ μ₯μ μ΄ μμ΅λλ€.
ν΄λΌμ°λ μ»΄ν¨ν
ν΄λΌμ°λ μ»΄ν¨ν (Cloud Computing)μ ν΄λΌμ°λμ μ΄λμλ νΈλ¦¬νκ² μ κ·Όν μ μκ² ν΄μ£Όλ κΈ°μ μ λλ€. μΈν°λ·μ ν΅ν΄ μλ², μ€ν 리μ§, λ°μ΄ν°λ² μ΄μ€, λ€νΈμνΉ λ± λ€μν μ»΄ν¨ν μμμ μ 곡λ°μ μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ κΈ°μ μ μ체μ μΌλ‘ 물리μ μλ²λ₯Ό ꡬμΆνκ³ κ΄λ¦¬νλ λΆλ΄μμ λ²μ΄λ μ μμ΅λλ€.
μ¨νλ λ―Έμ€(On-Premises)
μ¨νλ λ―Έμ€(On-Premises)λ κΈ°μ μ΄ μ체μ μΌλ‘ μλ²λ₯Ό ꡬμΆνκ³ μ΄μνλ λ°©μμ λ§ν©λλ€. μ¨νλ λ―Έμ€ νκ²½μμλ κΈ°μ μ΄ λͺ¨λ νλμ¨μ΄μ μννΈμ¨μ΄λ₯Ό μ§μ κ΄λ¦¬νλ©°, 보μκ³Ό λ°μ΄ν° κ΄λ¦¬μ λν μ± μμ μ§λλ€. λ°λ©΄, ν΄λΌμ°λ μ»΄ν¨ν μ μ΄λ¬ν λΆλ΄μ μ€μ΄κ³ μ μ°μ±μ μ 곡νλ λμμ λλ€.
λ£¨νΈ μ μ (Root User)
λ£¨νΈ μ μ (Root User)λ AWS κ³μ μ λͺ¨λ κΆνμ κ°μ§ κ³μ μ λλ€. μ΄ κ³μ μ AWS κ³μ μ μμ±ν λ μ¬μ©λ μ΄λ©μΌ μ£Όμμ λΉλ°λ²νΈλ‘ λ‘κ·ΈμΈν©λλ€. λ£¨νΈ μ μ λ κ²°μ μ 보 λ³κ²½, κ³μ μ€μ μμ λ± κ³μ μ κ΄ν λͺ¨λ κΆνμ κ°μ§κ³ μκΈ° λλ¬Έμ, 보μμ λ£¨νΈ μ μ κ³μ μ μ΅λν μ¬μ©μ μμ νκ³ , κΌ νμν μμ μλ§ μ¬μ©ν΄μΌ ν©λλ€.
λ£¨νΈ μ μ μ νΉμ§
- λͺ¨λ κΆν 보μ : AWSμ λͺ¨λ μλΉμ€μ 리μμ€μ μ κ·Ό κ°λ₯.
- λ¨μΌ κ³μ : νλμ λ£¨νΈ μ μ κ³μ λ§ μ‘΄μ¬.
- 보μ μν: λ£¨νΈ μ μ μ κΆνμ΄ λ§€μ° λκΈ° λλ¬Έμ, 보μμ κ°λ³ν μ κ²½ μ¨μΌ ν¨.
IAM μ μ (IAM User)
IAM μ μ (IAM User)λ AWSμ Identity and Access Management(IAM) μλΉμ€λ₯Ό ν΅ν΄ μμ±λλ μ¬μ©μ κ³μ μ λλ€.
IAM μ μ λ νΉμ κΆνλ§μ λΆμ¬λ°μ μ¬μ©ν μ μμΌλ©°, λ£¨νΈ μ μ μ λ¬λ¦¬ κΆνμ μΈλΆννμ¬ κ΄λ¦¬ν μ μμ΅λλ€.
IAM μ μ μ νΉμ§
- μ νλ κΆν: νμμ λ°λΌ μ΅μνμ κΆνλ§ λΆμ¬νμ¬ λ³΄μ κ°ν.
- μ¬λ¬ μ μ μμ± κ°λ₯: νμλ³λ‘ κ°λ³ IAM μ μ λ₯Ό μμ±νμ¬ κ΄λ¦¬.
- μ μ± μ ν΅ν κΆν κ΄λ¦¬: μ μ± (Policy)μ ν΅ν΄ κ° μ μ μκ² νμν κΆνμ μΈλΆμ μΌλ‘ μ€μ .
IAM μ μ μ λ£¨νΈ μ μ μ μ°¨μ΄μ
- κΆν λ²μ: λ£¨νΈ μ μ λ λͺ¨λ κΆνμ 보μ νμ§λ§, IAM μ μ λ λΆμ¬λ μ μ± μ λ°λΌ μ νλ κΆνλ§μ κ°μ§.
- 보μ κ΄λ¦¬: IAM μ μ λ νΉμ μμ μ νμν κΆνλ§ λΆμ¬νμ¬ λ³΄μ μνμ μ€μΌ μ μμ.
- μ μ°μ±: IAM μ μ λ ν λ¨μλ‘ κ΄λ¦¬ν μ μμ΄ νμ μ μ 리.
μ μ± (Policy)μ μ΄ν΄
μ μ± (Policy)μ AWSμμ IAM μ μ λλ 리μμ€μ κΆνμ μ μνλ JSON νμμ λ¬Έμμ λλ€.
μ μ± μ ν΅ν΄ μ μ κ° νΉμ 리μμ€μ μ κ·Όν μ μλμ§, μ΄λ€ μμ μ μνν μ μλμ§λ₯Ό μΈλΆμ μΌλ‘ μ€μ ν μ μμ΅λλ€.
μ μ± μ ꡬ쑰
μ μ± μ λ²μ (Version)κ³Ό μ€ν μ΄νΈλ¨ΌνΈ(Statement)λ‘ κ΅¬μ±λ©λλ€. μ€ν μ΄νΈλ¨ΌνΈλ μ¬λ¬ κ°μ κΆν μ μλ₯Ό ν¬ν¨ν μ μμΌλ©°, κ° κΆν μ μλ 리μμ€(Resource), νλ(Action), ν¨κ³Ό(Effect) λ±μ λͺ μν©λλ€.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::example-bucket/*"
},
{
"Effect": "Deny",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::example-bucket/*"
}
]
}
- Version: μ μ± μ λ¬Έλ² λ²μ .
- Statement: κΆνμ μ΅μ λ¨μλ‘, μ¬λ¬ κ°μ Statementλ₯Ό ν¬ν¨ν μ μμ.
- Effect: Allow λλ Denyλ‘ μ κ·Όμ νμ©ν μ§, μ°¨λ¨ν μ§ κ²°μ .
- Action: νμ© λλ μ°¨λ¨ν AWS μλΉμ€μ νΉμ μμ (s3:GetObject, s3:PutObject λ±).
- Resource: μ μ± μ΄ μ μ©λ AWS 리μμ€μ ARN(Amazon Resource Name).
μ μ± μ μ μ© λ°©λ²
- μ μ μ μ μ± μ°κ²°: IAM μ μ μκ² μ μ± μ μ°κ²°νμ¬ ν΄λΉ μ μ κ° νΉμ 리μμ€μ μ κ·Όν μ μλμ§ μ μ.
- 리μμ€μ μ μ± μ°κ²°: AWS 리μμ€(S3 λ²ν·, EC2 μΈμ€ν΄μ€ λ±)μ μ§μ μ μ± μ μ°κ²°νμ¬ μ΄λ€ μ μ κ° μ κ·Όν μ μλμ§ μ μ.
μ μ μ μ μ± μ°κ²°
IAM μ μ μκ² μ μ± μ μ°κ²°νλ©΄, ν΄λΉ μ μ λ μ μ± μ μ μλ κΆνμ κ°μ§κ² λ©λλ€. μ΄λ μ μ κ° νΉμ AWS 리μμ€μ μ κ·Όνκ±°λ νΉμ μμ μ μνν μ μλλ‘ νμ©νκ±°λ μ νν©λλ€.
μμ
- μ μ Aμκ² S3 λ²ν· example-bucketμμ κ°μ²΄λ₯Ό μ½κΈ°(GetObject)λ§ νμ©.
- μ μ Bμκ² EC2 μΈμ€ν΄μ€λ₯Ό μμ(StartInstances)νκ³ μ€μ§(StopInstances)ν μ μλ κΆν λΆμ¬.
리μμ€μ μ μ± μ°κ²°
리μμ€μ μ μ± μ μ°κ²°νλ©΄, νΉμ μ μ λ μν μ΄ ν΄λΉ 리μμ€μ μ κ·Όν μ μλμ§ μ μν μ μμ΅λλ€. μ΄λ 리μμ€ μ€μ¬μ κΆν κ΄λ¦¬λ₯Ό κ°λ₯νκ² ν©λλ€.
μμ
- S3 λ²ν·μ μ μ± μ μ°κ²°νμ¬ νΉμ IAM μ μ λ§ λ²ν·μ κ°μ²΄λ₯Ό μ λ‘λ(PutObject)ν μ μλλ‘ μ ν.
- EC2 μΈμ€ν΄μ€μ μ μ± μ μ°κ²°νμ¬ νΉμ μ μ κ° μΈμ€ν΄μ€λ₯Ό μμνκ±°λ μ€μ§ν μ μλλ‘ μ€μ .
μ μ± μΆ©λκ³Ό μ°μ μμ
AWSμμλ νλμ μ μ λ 리μμ€μ μ¬λ¬ κ°μ μ μ± μ΄ μ°κ²°λ μ μμ΅λλ€.
μ΄λ μ μ± κ°μ μΆ©λμ΄ λ°μν μ μλλ°, AWSλ μ΄λ₯Ό 보μμ μΌλ‘ ν΄μνμ¬ μ κ·Όμ κ±°λΆν©λλ€.
μ μ± μΆ©λ μμ
- μ μ Aμκ² S3 λ²ν· example-bucketμ λν μ½κΈ°(GetObject) κΆνμ νμ©νλ μ μ± μ μ°κ²°.
- λμμ, S3 λ²ν· example-bucketμ λν μ°κΈ°(PutObject) κΆνμ μ°¨λ¨νλ μ μ± μ 리μμ€μ μ°κ²°.
μ΄ κ²½μ°, μ μ Aλ GetObjectλ νμ©λμ§λ§, PutObjectλ μ°¨λ¨λ©λλ€. λ§μ½ λ μ μ± μ΄ λμΌν μμ μ λν΄ μμΆ©λλ€λ©΄, Denyκ° μ°μ μ μ©λμ΄ μ κ·Όμ΄ κ±°λΆλ©λλ€.
μ μ± νκ° κ·μΉ
AWSλ λ€μκ³Ό κ°μ κ·μΉμ ν΅ν΄ μ μ± μ νκ°ν©λλ€:
- λͺ μμ μΈ Deny: νλλΌλ Denyκ° μμΌλ©΄ μ 체 μ κ·Όμ΄ κ±°λΆλ©λλ€.
- λͺ μμ μΈ Allow: Denyκ° μκ³ Allowκ° μμΌλ©΄ μ κ·Όμ΄ νμ©λ©λλ€.
- κΈ°λ³Έ Deny: λͺ μμ μΈ Allowκ° μμΌλ©΄ κΈ°λ³Έμ μΌλ‘ μ κ·Όμ΄ κ±°λΆλ©λλ€.
λ°λΌμ, 보μ κ°νλ₯Ό μν΄ μ μ± μ μ€κ³ν λ λͺ μμ μΈ Denyλ₯Ό νμ©νμ¬ λΆνμν μ κ·Όμ μ°¨λ¨νλ κ²μ΄ μ’μ΅λλ€.
μ μ± μμ± μμ
μλλ νΉμ S3 λ²ν·μ λν μ½κΈ°μ μ°κΈ° κΆνμ μ μ΄νλ μ μ± μ μμμ λλ€.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::example-bucket/*"
},
{
"Effect": "Deny",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::example-bucket/*"
}
]
}
μ€λͺ
- Version: μ μ± λ¬Έλ²μ λ²μ .
- Statement: λ κ°μ μ€ν
μ΄νΈλ¨ΌνΈλ‘ ꡬμ±.
- 첫 λ²μ§Έ μ€ν μ΄νΈλ¨ΌνΈλ example-bucketμμ κ°μ²΄λ₯Ό μ½κΈ°(s3:GetObject)λ₯Ό νμ©.
- λ λ²μ§Έ μ€ν μ΄νΈλ¨ΌνΈλ example-bucketμ κ°μ²΄λ₯Ό μ°κΈ°(s3:PutObject)λ₯Ό μ°¨λ¨.
μ΄ μ μ± μ ν΅ν΄ νΉμ μ μ λ example-bucketμ κ°μ²΄λ₯Ό μ½μ μ μμ§λ§, μλ‘μ΄ κ°μ²΄λ₯Ό μΆκ°νκ±°λ μμ ν μ μμ΅λλ€.
μ μ± κ΄λ¦¬ ν
- μ΅μ κΆν μμΉ(Principle of Least Privilege): μ μ λ μλΉμ€μκ² νμν μ΅μνμ κΆνλ§μ λΆμ¬νμ¬ λ³΄μμ κ°νν©λλ€.
- μ μ± μ΄λ¦ κ·μΉν: μ μ± μ λͺ ννκ² μλ³ν μ μλλ‘ μΌκ΄λ μ΄λ¦ κ·μΉμ μ¬μ©ν©λλ€.
- μ κΈ°μ μΈ κΆν κ²ν : μ£ΌκΈ°μ μΌλ‘ μ μ± κ³Ό κΆνμ κ²ν νμ¬ λΆνμν κΆνμ΄ λΆμ¬λμ§ μμλμ§ νμΈν©λλ€.
- μν (Role) νμ©: λΉμ·ν κΆνμ κ°μ§ μ μ κ·Έλ£Ήμ μν μ ν λΉνμ¬ μ μ± κ΄λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ μνν©λλ€.
- μ μ± λ²μ κ΄λ¦¬: μ μ± μ λ³κ²½ μ¬νμ μΆμ νκ³ , νμ μ μ΄μ λ²μ μΌλ‘ λ‘€λ°±ν μ μλλ‘ λ²μ κ΄λ¦¬λ₯Ό λμ ν©λλ€.
κ²°λ‘
AWSμμ λ£¨νΈ μ μ μ IAM μ μ μ μ°¨μ΄μ , κ·Έλ¦¬κ³ μ μ± μ ν΅ν κΆν κ΄λ¦¬λ ν΄λΌμ°λ 보μμ ν΅μ¬ μμμ λλ€. λ£¨νΈ μ μ λ λͺ¨λ κΆνμ 보μ νκ³ μμ΄ λ³΄μ μνμ΄ ν¬κΈ° λλ¬Έμ, IAM μ μ λ₯Ό μμ±νμ¬ νμν κΆνλ§μ λΆμ¬νλ κ²μ΄ κΆμ₯λ©λλ€. λν, μ μ± μ ν΅ν΄ μΈλΆμ μΈ κΆνμ κ΄λ¦¬ν¨μΌλ‘μ¨ λ³΄μμ κ°ννκ³ , ν΄λΌμ°λ 리μμ€μ λ¬΄λ¨ μ κ·Όμ λ°©μ§ν μ μμ΅λλ€.
μ°Έκ³ μλ£
- AWS 곡μ λ¬Έμ - IAM μ¬μ©μ λ° κ·Έλ£Ή: IAM User Guide
- AWS 곡μ λ¬Έμ - IAM μ μ± : IAM Policies
- AWS 곡μ λ¬Έμ - μ μ± νκ° λ‘μ§: IAM Policy Evaluation Logic
- AWS μ μ± μν: AWS Managed Policies
- JSON μ μ± μμ : IAM JSON Policy Examples
'βοΈ Cloud Native > π³οΈ AWS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[AWS] AWS μ΄ν΄νκΈ°: IP μ£Όμμ VPC κ΄λ¦¬ (0) | 2025.01.17 |
---|---|
[AWS] AWS EC2 μΈμ€ν΄μ€ μμ± κ°μ΄λ (0) | 2025.01.17 |
[AWS] AWS μ΄ν΄νκΈ°: IAM μ μ μμ± λ° Region & κ°μ© μμ κ΄λ¦¬ (0) | 2025.01.17 |