π AWS IAM μ΄λ?
AWS IAM(Identity and Access Management)μ AWS 리μμ€μ λν μ‘μΈμ€λ₯Ό μμ νκ² μ μ΄ν μ μλλ‘ νλ μΉ μλΉμ€μ΄λ€. IAMμ μ΄μ©νλ©΄ μ¬μ©μκ° μ‘μΈμ€ν μ μλ AWS 리μμ€ μ μ΄ κΆνμ κ΄λ¦¬ν μ μλ€.
λ³΄ν΅ μ²μ νμκ°μ ν λ μμ±λ λ£¨νΈ κ³μ μ μ΅λν μ¬μ©νμ§ μλ κ²μ΄ κΆμ₯λλ€. λ°λΌμ κ΄λ¦¬μμ κ²½μ° AdministratorAccess κΆνμ κ°μ§ IAMμ μ΄μ©νκ³ , λ€λ₯Έ μ¬λλ€μ κΌ νμν κΆνλ§ μ΅μνμΌλ‘ λΆμ¬λ°μ IAMμ μ΄μ©νλ κ²μ΄ μΌλ°μ μ΄λ€.
μλ μ¬μ§μ IAMμ μλ λ°©μμΈλ°, κ°λ¨ν μ€λͺ νλ©΄
1) μ¬μ©μκ° AWS 리μμ€μ λν μμ μ μμ²νμ λ
2) λ‘κ·ΈμΈμ ν΅ν΄ μΈμ¦(Authentication)μ λ°μ νμ
3) μμ²μ μλ£ν μ μλ κΆν(Authorization)μ΄ μλμ§ νμΈνκ³
4) μμ² μμ μ μλ£νλ€λ λ΄μ©μ΄λ€.
π IAM μ격 μ¦λͺ (IAM Identities)
IAM μ격 μ¦λͺ μ ν΅ν΄ AWS κ³μ μ μ‘μΈμ€ν μ μμΌλ©°, AWS κ³μ λ£¨νΈ μ¬μ©μ λλ κ³μ κ΄λ¦¬ κΆνμ λ°μ μ¬μ©μκ° IAM μ격 μ¦λͺ μ μμ±ν μ μλ€.
AWS κ³μ λ£¨νΈ μ¬μ©μ
AWS κ³μ μ μμ±ν λλ ν΄λΉ κ³μ μ λͺ¨λ AWS μλΉμ€ λ° λ¦¬μμ€μ λν μμ ν μ‘μΈμ€ κΆνμ΄ μλ λ¨μΌ λ‘κ·ΈμΈ IDλ‘ μμνκ² λλ€. μ΄ μ격 μ¦λͺ μ AWS κ³μ λ£¨νΈ μ¬μ©μλΌκ³ νλ©°, κ³μ μ μμ±ν λ μ¬μ©ν μ΄λ©μΌ μ£Όμμ μνΈλ‘ λ‘κ·ΈμΈνμ¬ μ‘μΈμ€νλ€.
IAM μ¬μ©μ (IAM User)
IAM μ¬μ©μλ λ¨μΌ κ°μΈ λλ μ ν리μΌμ΄μ μ λν νΉμ κΆνμ κ°μ§κ³ μλ AWS κ³μ λ΄ μ격 μ¦λͺ μ΄λ€.
μλ₯Ό λ€μ΄, λ΄κ° Aνμ¬μμ νΉμ EC2μ κ΄λ ¨ν μ λ¬΄λ§ νλ μ§μμ΄λΌλ©΄ ν΄λΉ EC2μ λν κΆνλ§μ κ°μ§ IAM User μ격 μ¦λͺ μ μ΄μ©ν΄ λ€λ₯Έ 리μμ€μλ μ κ·Όν μ μλλ‘ μ€μ ν μ μλ€.
νμ§λ§ κ°λ₯νλ©΄ μνΈ λ° μ‘μΈμ€ ν€μ κ°μ μ₯κΈ° 보μ μΈμ¦ μ λ³΄κ° μλ IAM μ¬μ©μλ₯Ό μμ±νλ λμ μμ 보μ μΈμ¦μ μ¬μ©νλ κ²μ΄ μ’λ€. IAM μ¬μ©μμ μ₯κΈ° 보μ μΈμ¦μ΄ νμν κ²½μ°μλ μ‘μΈμ€ν€λ₯Ό μ κΈ°μ μΌλ‘ κ΅μ²΄νλ κ²μ΄ μ’λ€.
IAM μ¬μ©μ κ·Έλ£Ή (IAM Group)
IAM κ·Έλ£Ήμ IAM μ¬μ©μ 컬λ μ μ μ§μ νλ μ격 μ¦λͺ μ΄λ€. λ€μ λ§νλ©΄, λμΌν κΆνμ΄ νμν μ¬μ©μκ° μ¬λ¬ λͺ μλ κ²½μ° ν΄λΉ κΆνμ κ°μ§λ κ·Έλ£Ήμ μμ±ν λ€, κ·Έλ£Ήμ μ¬μ©μλ₯Ό μΆκ°νλ λ°©μμΌλ‘ μ¬μ©μ μ§ν©μ κΆνμ λ μ½κ² κ΄λ¦¬ν μ μλ€.
λν μλ μμ κ·Έλ¦Όμμλ ν μ¬μ©μκ° ν κ·Έλ£Ήμλ§ μν΄ μμ§λ§, μ¬μ©μλ μ¬λ¬ κ°μ κ·Έλ£Ήμ μν μ μλ€.
IAM μν (IAM Role)
IAM μν μ νΉμ κΆνμ κ°μ§κ³ μλ IAM μ격 μ¦λͺ μ΄λ€. IAM μ¬μ©μμ μ μ¬νμ§λ§, μν μ ν μ¬λκ³Όλ§ μ°κ΄λμ§ μκ³ ν΄λΉ μν μ΄ νμν μ¬λμ΄λΌλ©΄ λꡬλ μ§ λ§‘μ μ μμ΄μΌ νλ€. λν μν μλ μνΈ λλ μ‘μΈμ€ ν€μ κ°μ νμ€ μ₯κΈ° μ격 μ¦λͺ μ΄ μλ€. λμ μν μ 맑μ μ¬λμκ²λ ν΄λΉ μν μΈμ μ μν μμ 보μ μ격 μ¦λͺ μ΄ μ 곡λλ€.
κ°λ¨ν λ§νλ©΄, μ΄λ€ μν μ λ§κ² νμν IAM μ μ± λ€μ λ¬Άμ΄λμ κ±°λΌκ³ μκ°νλ©΄ λ κ² κ°λ€.
λ³΄ν΅ IAM Userλ μ¬λμ΄λ applicationμ΄ μ¬μ©νκ³ , IAM Roleμ AWS μλΉμ€(리μμ€)μ μ¬μ©νλ κ² κ°λ€.
(ex. EC2μ μν λΆμ¬, CodeDeployμ μν λΆμ¬ λ±)
μμ 보μ μ격 μ¦λͺ
AWS Security Token Service(AWS STS)λ₯Ό μ¬μ©νλ©΄ AWS 리μμ€μ λν μ‘μΈμ€λ₯Ό μ μ΄ν μ μλ μμ 보μ μ격 μ¦λͺ μ μμ±νμ¬ μ λ’°λ°λ μ¬μ©μμκ² μ 곡ν μ μλ€. μμ 보μ μ격 μ¦λͺ μ μ΄λ¦μμ μ μ μλ―μ΄ λ¨κΈ°μ μ΄λ©°, λͺ λΆμμ λͺ μκ°κΉμ§ μ§μλλλ‘ κ΅¬μ±ν μ μλ€. μμ 보μ μ격 μ¦λͺ μ΄ λ§λ£λμμ λ(νΉμ λ§λ£ μ μ΄λΌλ) μ¬μ©μλ μ μ격 μ¦λͺ μ μμ²ν μ μλ€.
π IAM μ μ± (IAM Policy)
IAM μ μ± μ μ격 μ¦λͺ μ΄λ 리μμ€μ μ°κ²°λ λ ν΄λΉ κΆνμ μ μνλ AWSμ κ°μ²΄μ΄λ€.
(ex. EC2FullAccess, S3ReadOnly λ±)
μ΄ 6κ°μ§μ μ μ± μ νμ΄ μμ§λ§ κ·Έ μ€ κ°μ₯ λ§μ΄ μ¬μ©νλ μ μ± μ ν 3κ°μ§λ§ κ°λ¨ν μμ보λλ‘ νμ.
(μ격 μ¦λͺ κΈ°λ° μ μ± , 리μμ€ κΈ°λ° μ μ± , κΆν κ²½κ³, Organizations SCP, ACL, μΈμ μ μ± )
μ격 μ¦λͺ κΈ°λ° μ μ±
μ격 μ¦λͺ κΈ°λ° μ μ± μ μ격 μ¦λͺ (μ¬μ©μ, κ·Έλ£Ή, μν )μ΄ λ¬΄μ¨ μμ μ μ΄λ 리μμ€μμ μ΄λ€ 쑰건μμ μνν μ μλμ§λ₯Ό μ μ΄νλ JSON κΆν μ μ± λ¬Έμμ΄λ€. κ΄λ¦¬ν μ μ± κ³Ό μΈλΌμΈ μ μ± μΌλ‘ λΆλ₯λλ€.
리μμ€ κΈ°λ° μ μ±
리μμ€ κΈ°λ° μ μ± μ Amazon S3 λ²ν·κ³Ό κ°μ 리μμ€μ μ°κ²°νλ JSON μ μ± λ¬Έμμ΄λ€. μ΄λ¬ν μ μ± μ μ§μ λ 보μ 주체μ ν΄λΉ 리μμ€μ λν νΉμ μμ μ μνν μ μλ κΆνμ λΆμ¬νκ³ , μ΄λ¬ν κΆνμ΄ μ μ©λλ 쑰건μ μ μνλ€. 리μμ€ κΈ°λ° μ μ± μ μΈλΌμΈ μ μ± μ΄λ€.
IAM κΆν κ²½κ³
κΆν κ²½κ³λ κ΄λ¦¬ν μ μ± μ μ¬μ©νμ¬ μ격 μ¦λͺ κΈ°λ° μ μ± μ ν΅ν΄ IAM μν°ν°μ λΆμ¬ν μ μλ μ΅λ κΆνμ μ€μ νλ κ³ κΈ κΈ°λ₯μ΄λ€. μν°ν°μ κΆν κ²½κ³λ μ격 μ¦λͺ κΈ°λ° μ μ± λ° κ΄λ ¨ κΆν κ²½κ³ λͺ¨λμμ νμ©λλ μμ λ§ μννλλ‘ νμ©νλ€.
μλ₯Ό λ€μ΄, ShirlyλΌλ μ΄λ¦μ IAM μ¬μ©μκ° λ€μκ³Ό κ°μ κΆν κ²½κ³λ₯Ό κ°μ§κ³ μλ€κ³ ν΄λ³΄μ.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:*",
"cloudwatch:*",
"ec2:*"
],
"Resource": "*"
}
]
}
Shirlyλ S3, CloudWatch, EC2μ λν λͺ¨λ κΆνμ κ°μ§λ€.
μ΄ μνμμ μλμ κΆνμ Shirly IAM μ¬μ©μ κΆνμ μΆκ°νλ€κ³ ν΄λ³΄μ.
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "iam:CreateUser",
"Resource": "*"
}
}
μ΄ κ²½μ°, Shirleyλ IAM κ΄λ ¨ μμ μ ν μ μλ€. κΆν κ²½κ³μ IAMμ΄ ν¬ν¨λμ΄ μμ§ μμ ν΄λΉ μμ μ νμ©νμ§ μκΈ° λλ¬Έμ΄λ€.
μ€λμ IAMκ³Ό κ΄λ ¨λ κ°λ μ κ°λ¨νκ² μ λ¦¬ν΄ λ³΄μλ€.
μμΈν μμλ λ΄μ©μ AWS Docsλ₯Ό 보면μ 곡λΆν΄λ³΄λ©΄ μ’μ κ² κ°λ€.
π μ°Έκ³ μλ£