AWS/Cloud Security

[AWS] IAM

Ate1es 2022. 6. 3. 14:12

IAM(AWS Identity and Access Management)은 AWS의 권한을 관리하는 서비스이다.

 

유저 각각의 권한을 부여하고 통제할 수 있다.

 

처음 AWS 가입 시 생성되는 ROOT 유저로 서비스를 운영하는 것은 매우 위험하다. 해당 계정이 노출되었을 때 공격자는 곧바로 모든 서비스에 접근이 가능한 계정을 손에 넣는 것이기 때문이다.

 

이런 상황을 대비해 IAM을 이용해 필요한 권한을 세분화하여 Role을 부여함으로써 불필요한 접근을 막을 수 있다.

 

IAM에서는 AWS 계정 인증에 MFA(Multi Factor Authentication)을 지원한다. 

한마디로 ID/PW 방식 1개의 인증 외에 여러개의 인증 방식을 통해 접근을 허용하겠다는 뜻이다.

 

 

IAM 에는 크게 네가지가 존재한다.

 

1. IAM User - 사용자

2. IAM Group - 사용자 그룹

3. IAM Role - 권한

4. IAM Policy - 정책

 

IAM Policy는 JSON 형태로 작성된다. 밑의 예시를 보자.

{
"Version": "2012-10-17",
"Statement":[
	{
    "Effect" : "Allow",
    "Action" : "s3:GetObject",
    "Resource" : "arn:aws:s3:::test/*",
    "Principal" : { "AWS" : "arn:aws:iam::AWS-account-ID:user/user-name" }
    }
  ]
}

Statement - IAM Policy 를 부여하는 요소들을 나열한 배열.

Effect - Allow or Deny

Action - Allow or Deny 될 특정 작업 ( 위 예시에선 s3 버킷에 대한 GetObject 작업)

Principal - 리소스에 Allow or Deny 될 보안주체

 

AWS 계정 생성 및 권한 부여

 

우선, AWS 루트 계정으로 로그인 후 IAM 대시보드에서 [사용자 추가] 한다.

사용자 생성

사용자 이름 입력 후, 그룹 선택으로 넘어가는데 초기에는 사용자 그룹이 존재하지 않으므로 새로 생성해주어야한다.

 

그룹 생성 클릭 후 가장 상단의 Administrator Access 를 체크하여 그룹을 생성하자.

해당 권한 그룹은 관리자에게 준하는 권한을 부여한다.

그룹 생성

그룹까지 생성하면 사용자의 IAM 계정이 생성된다. 성공 후 링크를 통해 IAM 계정으로 로그인할 수 있다.

IAM 계정 생성 성공 후 링크

해당 링크를 들어가 로그인을 하면 IAM 계정으로 AWS에 접속 되는데, 초기에 계정의 별칭이 임의의 숫자 값이기 때문에 외우기 힘들다(로그인할 때 별칭 입력해야함)

 

임의의 숫자가 부여된 별칭

따라서 자신이 알아볼 수 있는 별칭으로 바꿔야한다.

다시 ROOT 계정으로 접속 후 IAM 대시보드에서 IAM 계정에 대한 별칭을 바꿔야한다.

IAM 계정 별칭 변경

이제 바뀐 별칭과 패스워드 ID로 IAM 계정을 통해 권한별로 AWS 서비스를 관리할 수 있다.