Devops/AWS

[AWS] IAM 및 AWS CLI λž€?

yuri lee 2023. 5. 18. 23:51
λ°˜μ‘ν˜•

11. IMA μ†Œκ°œ : μ‚¬μš©μž, κ·Έλ£Ή, μ •μ±…

μ™œ μ‚¬μš©ν•˜λŠ”κ°€?

- permissions

 

12. IMA μ‚¬μš©μž 및 κ·Έλ£Ή μ‹€μŠ΅

- IMAλŠ” κΈ€λ‘œλ²Œ μ„œλΉ„μŠ€μž…λ‹ˆλ‹€.

- 루트 μ‚¬μš©μžλŠ” 계정에 λŒ€ν•œ λͺ¨λ“  κΆŒν•œμ„ κ°–κ³  μžˆμŠ΅λ‹ˆλ‹€. 무엇이든 ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ λ³„λ„μ˜ κ΄€λ¦¬μž 계정을 λ§Œλ“œλŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€ . νƒœκ·ΈλŠ” μ‚¬μš©μžμ˜ 접근을 좔적, 쑰직, μ œμ–΄ν•  수 μžˆλ„λ‘ λ„μ™€μ£ΌλŠ” μ •λ³΄μž…λ‹ˆλ‹€.

IAM λŒ€μ‹œλ³΄λ“œ > 우츑 AWS 계정 > 이 계정에 μžˆλŠ” IAM μ‚¬μš©μžμ˜ 둜그인 URL을 ν†΅ν•΄μ„œ λ§Œλ“  계정에 접속할 수 μžˆμŠ΅λ‹ˆλ‹€. 

 

13. IAM μ •μ±…

μ •μ±… ꡬ쑰와 μ •μ±… λͺ…λͺ…법에 λŒ€ν•΄μ„œ 잘 μ΄ν•΄ν•˜κ³  μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. 

{
"Version": "2012-10-17",
  "Statement":[{
    "Effect":"Allow",
    "Action": [
       "ec2:AuthorizeSecurityGroupIngress",
       "ec2:AuthorizeSecurityGroupEgress",
       "ec2:RevokeSecurityGroupIngress",
       "ec2:RevokeSecurityGroupEgress"],
     "Resource": "arn:aws:ec2:region:account:security-group/*",
      "Condition": {
        "StringEquals": {
          "ec2:Vpc": "arn:aws:ec2:region:account:vpc/vpc-11223344556677889"
        }
      }
    }
  ]
}

 

14. IAMμ •μ±… μ‹€μŠ΅

총 376개의 μ„œλΉ„μŠ€κ°€ μžˆμŠ΅λ‹ˆλ‹€. μ„œλΉ„μŠ€μ˜ μˆ˜λŠ” 계속 λŠ˜μ–΄λ‚©λ‹ˆλ‹€. 

 

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}

 

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:GenerateCredentialReport",
                "iam:GenerateServiceLastAccessedDetails",
                "iam:Get*",
                "iam:List*",
                "iam:SimulateCustomPolicy",
                "iam:SimulatePrincipalPolicy"
            ],
            "Resource": "*"
        }
    ]
}

 

정책은 2가지 방법을 톡해 직접 λ§Œλ“€μ–΄λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€. 

1. Visual editor

2. Json

15. IAM MFA κ°œμš”

 

16. IAM MFA μ‹€μŠ΅

MFAλ₯Ό μ‚¬μš©ν•  μˆ˜λ„ μžˆλ‹€. μž₯치λ₯Ό μžƒμ–΄λ²„λ¦¬λ©΄ μ ˆλŒ€ μ•ˆλ©λ‹ˆλ‹€. 

 

17. AWS μ•‘μ„ΈμŠ€ ν‚€, CLI λ° SDK

- μ—‘μ„ΈμŠ€ ν‚€λ₯Ό μ ˆλŒ€ κ³΅μœ ν•΄μ„  μ•ˆλ©λ‹ˆλ‹€.

- κ°•μ˜μ—μ„œ μ‚¬μš©ν•˜κ²Œ 될 AWS CLIλŠ” 사싀상 BotoλΌλŠ” Python용 AWS SDK(Softeware Development Kit)에 κ΅¬μΆ•λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. 

 

19. MAC OS Xμ—μ„œ AWS CLI μ„€μ •

install aws cli mac

https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html

➜  ~ aws --version
aws-cli/2.11.20 Python/3.11.3 Darwin/21.6.0 exe/x86_64 prompt/off

 

21. AWS CLI μ‹€μŠ΅

λ³΄μ•ˆ 자격 증λͺ…μ˜ 생성에 루트 계정을 μ‚¬μš©ν•˜λ©΄ μ•ˆλ©λ‹ˆλ‹€. 

μ‹€μŠ΅μ΄ λλ‚˜λ©΄ μ—‘μ„ΈμŠ€ ν‚€λ₯Ό λ¬΄νš¨ν™” μ‹œν‚¬ μ˜ˆμ •μž…λ‹ˆλ‹€. μ ˆλŒ€ 곡유 X

➜  ~ aws configure
AWS Access Key ID [****************AP73]: Access Key ID
AWS Secret Access Key [****************OrxS]: Secret Access Key 
Default region name [ap-northeast-2]:
Default output format [None]:

 

➜  ~ aws iam list-users
{
    "Users": [
        {
            "Path": "/",
            "UserName": UserName,
            "UserId": UserId,
            "Arn": Arn,
            "CreateDate": "2023-05-17T14:42:22+00:00",
            "PasswordLastUsed": "2023-05-18T01:37:29+00:00"
        }
    ]
}

 

23. AWS ν΄λΌμš°λ“œμ‰˜

CloudShell은 AWS ν΄λΌμš°λ“œμ—μ„œ 무료둜 μ‚¬μš© κ°€λŠ₯ν•œ 터미널 같은 κ°œλ…μž…λ‹ˆλ‹€.

[cloudshell-user@ip-10-2-31-208 ~]$ aws iam list-users

- ν•΄λ‹Ή λͺ…λ Ήμ–΄ μž…λ ₯ μ‹œ API ν˜ΈμΆœμ„ λ°˜ν™˜ν•΄μ€λ‹ˆλ‹€.

- CloudShellμ—μ„œλŠ” κΈ°λ³Έ 리전이 ν˜„μž¬ 둜그인된 λ¦¬μ „μœΌλ‘œ λ‚˜μ˜€κ²Œ λ©λ‹ˆλ‹€.

- CloudShellμ—λŠ” 전체 μ €μž₯μ†Œκ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€. 

 

μ—…λ‘œλ“œ/λ‹€μš΄λ‘œλ“œ λ“± λ‹€μ–‘ν•œ κΈ°λŠ₯을 ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 

 

24. AWS μ„œλΉ„μŠ€μ— λŒ€ν•œ IAM Role

 

25. IAM Role μ‹€μŠ΅

AWS μ„œλΉ„μŠ€μ— λŒ€ν•œ Role을 생성할 수 μžˆλ‹€λŠ” κ²ƒλ§Œ μ•Œκ³  있으면 λ©λ‹ˆλ‹€.

EC2 μΈμŠ€ν„΄μŠ€κ°€ IAMμ—μ„œ 읽을 수 있게 λ©λ‹ˆλ‹€. 

 

26. IAM λ³΄μ•ˆ 도ꡬ

 

27. IAM λ³΄μ•ˆ λ„ꡬ μ‹€μŠ΅

 

λ³΄κ³ μ„œλ₯Ό λ‹€μš΄ν•˜λ©΄ 루트 계정과 제 계정이 λ‚˜μ˜΅λ‹ˆλ‹€. (총 2개의 ν–‰) μ‚¬μš©μžκ°€ μ–Έμ œ μƒμ„±λ˜μ—ˆλŠ”μ§€, λΉ„λ°€λ²ˆν˜Έκ°€ ν™œμ„±ν™” λ˜μ—ˆλŠ”μ§€ λΉ„λ°€λ²ˆν˜Έλ₯Ό λ§ˆμ§€λ§‰μœΌλ‘œ μ–Έμ œ μ‚¬μš©ν–ˆλŠ”μ§€ λ“±μ˜ 정보가 λ‹΄κ²¨μžˆμŠ΅λ‹ˆλ‹€. 

 

이 λ³΄κ³ μ„œλŠ” μ–΄λ–€ μ‚¬μš©μžκ°€ λΉ„λ°€λ²ˆν˜Έλ₯Ό 바꾸지 μ•Šμ•˜λŠ”μ§€, 계정을 μ‚¬μš©ν•˜λŠ”μ§€λ₯Ό νŒŒμ•…ν•  λ•Œ 맀우 μœ μš©ν•©λ‹ˆλ‹€. λ³΄μ•ˆ μΈ‘λ©΄μ—μ„œ μ–΄λ–€ μ‚¬μš©μžλ₯Ό μ£Όλͺ©ν•΄μ•Ό ν•˜λŠ”μ§€λ₯Ό λ°œκ²¬ν•˜λŠ” 데 도움을 μ€λ‹ˆλ‹€. 

 

IAM μ•‘μ„ΈμŠ€ κ΄€λ¦¬μž

 

28. IAM λͺ¨λ²” μ‚¬λ‘€

 

29. IAM μš”μ•½

 

Quiz

IAM μ •μ±…μ˜ λ¬Έμž₯은 μ‹œλ“œ, νš¨κ³Ό, μ›μΉ™, μ‘°μΉ˜, λ¦¬μ†ŒμŠ€, κ·Έλ¦¬κ³  μ‘°κ±΄μœΌλ‘œ κ΅¬μ„±λ©λ‹ˆλ‹€. λ²„전은 IAM μ •μ±… μžμ²΄μ˜ μΌλΆ€μ΄μ§€, λ¬Έμž₯의 μΌλΆ€κ°€ μ•„λ‹™λ‹ˆλ‹€.

 


Reference: https://www.udemy.com/course/best-aws-certified-solutions-architect-associate/

λ°˜μ‘ν˜•