티스토리 뷰

728x90
반응형

권한관리

AWS IAM

IAM(AWS Identity and Access Management)은 AWS의 권한을 관리하는 서비스. 처음 AWS에 계정을 이메일로 생성하면 모든 서비스에 접근할 수 있는 SSO(Single Sign-ON) ID가 생성되고 이를 루트 권한이라고 한다.

사내에서 AWS를 이용하고자 하는 경우에 각자의 부서/팀별로 계정을 생성하여 부여한다. 이때 IAM을 이용하여 필요한 권한을 세분화하여 Role을 부여함으로써 불필요한 접근을 막을 수 있다.

IAM에서는 AWS 계정 인증에 MFA(Multi Factor Authentication)를 지원한다. 여기서 펙터란 사용자의 신원을 확인하는 방법에 따라서 지식 기반, 소유 기반, 속성 기반의 인증으로 총 3가지 방법으로 나누어 지는데, 이를 인증 펙터라고 한다.

  • 지식 기반 - ID/PW와 같이 알고 있는 인증 정보 이용
  • 소유 기반 - 휴대폰 SMS인증 등 사용자가 소유한 것을 이용
  • 속성 기반 - 고유의 속성을 이용하는 것으로 지문 인식, 홍체 인식 등을 이용

AWS계정 인증이 지원하는 MFA란 보안을 강화하기 위해 사용자들에게 위의 싱글 펙터가 아닌 멀티 펙터를 지원한다는 것이다. 이를 2Factor 인증이라고 하고, 2Factor인증은 두가지의 펙터를 사용해서 인증하는 방식이다.

IAM 에서는 크게 네가지를 구분해야 한다.

  1. IAM User - 사용자
  2. IAM Group - 사용자 그룹
  3. IAM Role - 권한
  4. IAM Policy - 정책

권한이랑 정책을 구분할 필요가 있는데 권한이 어떤 열쇠라고 하면 정책은 열쇠가 어떤 열쇠인지 설명한거라고 생각하면된다.

IAM Policy는 JSON 형식으로 작성한다.

{
    "Version": "2021-01-01",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::test/*", 
            "Principal": { "AWS": "arn:aws:iam::AWS-account-ID:user/user0name" }
        }
    ]
}

↑설명
Principal은 리소스에 접근 허용, 불허용 되는 보안 주체를 지정하는 것이며 이는 User, Group, Role을 넣는다. Resource는 ARN이 들어가는데 이 때 ARN이란 'Amazon Resource Name'의 약자이다.

arn:partition:service:region:account-id:resource-id
arn:partition:service:region:account-id:resource-type/resource-id
arn:partition:service:region:account-id:resource-type:resource-id
  • partition : 지역(aws → 전체, aws-cn → 중국)
  • service : 서비스명(s3)
  • region : 리전(ap-northeast-2)
  • account-id : AWS ID
  • resource-id : 리소스 식별자



사용자 계정 생성 및 권한 부여

IAM 서비스로 들어가서 사용자를 추가한다.





그룹이 없다면 그룹 추가.



AdministratorAccess 정책 추가





쭉쭉 다음으로 넘어가 완성하면 된다. 루트에서 계정 별칭을 생성한다. 아이디와 IAM URL 앞부분이 별칭으로 바뀌어서 접근이 쉬워진다.



사용자 → 보안 자격 증명으로 가서 요약쪽에 있는 url로 접속하면 루트가 아닌 사용자로 로그인할 수 있다.









출처
AWS Lambda로 시작하는 서버리스(김민준 저, 비제이퍼블릭)
example

728x90
반응형
댓글
반응형
250x250
글 보관함
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday
링크