본문 바로가기
Infra, Cloud/AWS

[AWS] IAM으로 사용자 관리하기

by J4J 2023. 8. 3.
300x250
반응형

안녕하세요. J4J입니다.

 

이번 포스팅은 IAM으로 사용자 관리하는 방법에 대해 적어보는 시간을 가져보려고 합니다.

 

 

 

IAM이란?

 

IAM은 Identity and Access Management의 약자로 AWS에서 제공해 주는 여러 리소스들에 안전하게 액세스 할 수 있는 기능을 제공해 줍니다.

 

IAM에서 액세스 관리를 하기 위해 사용되는 것들은 다음과 같이 있습니다.

 

  • 사용자 (USER)
  • 사용자 그룹 (GROUP)
  • 정책 (POLICY)
  • 역할 (ROLE)

 

 

 

먼저 사용자는 AWS 내부에서 특정 리소스에 접근하여 기능 처리를 할 수 있는 사용자를 의미합니다.

 

상황에 따라 AWS 콘솔에 직접 로그인하여 AWS에서 제공해 주는 리소스 설정들을 해볼 수 있고, Git과 같은 곳에서 AWS에 액세스 하기 위해 사용될 수도 있습니다.

 

 

 

사용자 그룹은 동일한 권한을 부여해야 하는 다수의 사용자들을 보다 편리하게 관리할 수 있도록 도와줍니다.

 

하나의 그룹에 권한들을 부여해 두고 생성해 둔 사용자들을 매핑해 두면 매번 사용자를 만들 때마다 권한을 부여하지 않아도 되는 환경을 제공해 줍니다.

 

 

 

정책은 특정 사용자가 AWS 리소스에 접근할 수 있는지 없는지에 대한 권한을 부여하는 것이라고 생각할 수 있습니다.

 

정책은 한번 더 다음과 같이 세부적으로 나눠볼 수 있습니다.

 

  • Effect → 리소스 접근을 허용(Allow)할지 거부(Deny)할지에 대한 속성 값
  • Principal → 특정 사용자를 지정할 때 사용되는 속성 값
  • Action → 정책이 적용되는 작업 목록 (ex, EC2 전체 기능이나 S3 전체 기능)
  • Resource → 정책이 적용되는 리소스 정보 (ex, 특정 EC2 인스턴스 아이디)

 

 

 

역할은 특정 사용자가 가지고 있지 않은 권한을 임시로 부여할 때 활용해 볼 수 있습니다.

 

만료 시간도 설정하여 일정 기간 동안만 권한을 부여해 볼 수 있고 다른 AWS 계정의 IAM 사용자들에게도 권한을 부여할 수도 있습니다.

 

하지만 한 가지 알아야 될 점은 역할이 부여된 사용자는 기존에 부여된 권한을 모두 사용할 수 없는 상태가 되며 무조건 역할에 할당된 권한만 사용할 수 있게 됩니다.

 

 

반응형

 

 

IAM 사용자를 통해 권한 관리하는 이유

 

AWS 계정을 혼자서만 사용하는 경우에는 IAM 사용자를 생성해야 되는 이유에 대해 찾을 수 없습니다.

 

왜냐하면 동일한 AWS 계정 내부에 존재하는 여러 리소스들에 대해 권한 분리를 할 이유가 없기 때문입니다.

 

 

 

IAM 사용자를 생성하여 권한 분리를 하게 되는 경우는 다수의 사용자가 동일한 AWS 계정 내부에 있는 리소스들을 관리할 때 필요합니다.

 

예를 들면 A 담당자와 B 담당자가 있는데 A 담당자는 EC2 관련된 작업만 처리해야 하고 B 담당자는 S3 관련된 작업만 처리해야 된다고 가정해 보겠습니다.

 

A 담당자 입장에서는 S3와 관련된 기능이 필요가 없기도 하고 명확히 담당하는 분야를 나누어 일을 해야 한다고 하면 A 담당자가 S3에 절대적으로 접근하지 못하게 막아야 되는 상황도 있습니다.

 

그래서 A 담당자를 위한 IAM 사용자, B 담당자를 위한 IAM 사용자를 하나씩 생성한 뒤 각각의 사용자 계정에 EC2와 S3 권한만을 따로 부여하여 담당자들이 처리해야 되는 서비스들만 접근할 수 있도록 도와줄 수 있습니다.

 

 

 

 

IAM 사용자 생성하는 방법

 

[ 1. IAM 접속 ]

 

IAM 접속

 

 

 

[ 2. 사용자 생성 ]

 

왼쪽에서 "사용자" 메뉴를 선택한 뒤 오른쪽에서 "사용자 추가" 버튼을 클릭합니다.

 

사용자 추가

 

 

 

그리고 상세 정보를 원하는 대로 입력해 주시면 됩니다.

 

AWS 콘솔에 접근할 때 사용되는 사용자이기 때문에 저는 다음과 같이 입력해 줬습니다.

 

사용자 세부 정보

 

 

 

다음은 정책 설정입니다.

 

저는 해당 IAM 사용자에게 EC2에 접근할 수 있는 모든 권한을 부여할 것이기 때문에 다음과 같이 입력해 줬습니다.

 

권한 정책 설정

 

 

 

[ 3. 생성된 사용자 정보 확인 ]

 

모든 정보를 입력하고 사용자를 생성하면 다음과 같이 로그인 URL과 계정 정보를 확인해 볼 수 있습니다.

 

생성된 사용자 세부 정보

 

 

 

 

[ 4. IAM 사용자 로그인 ]

 

위에 있는 "콘솔 로그인 URL"을 복사하여 접속해 보면 다음과 같이 로그인 화면을 볼 수 있고 해당 화면에서 사용자 이름과 암호를 입력하여 로그인할 수 있습니다.

 

IAM 사용자 로그인

 

 

 

[ 5. 정책 적용된 리소스 접근 확인 ]

 

해당 IAM 사용자는 EC2의 모든 권한이 부여된 상태입니다.

 

그렇기 때문에 다음과 같이 EC2에 들어가 보면 EC2를 사용하는데 전혀 지장이 없는 것을 확인해 볼 수 있습니다.

 

EC2 권한 부여 확인

 

 

 

[ 6. 정책 적용되지 않은 리소스 접근 불가 확인 ]

 

반대로 권한이 부여되지 않은 리소스를 확인해 보겠습니다.

 

사용 권한이 없는 S3에 들어가 보면 다음과 같이 정상적으로 사용할 수 없는 것을 확인해볼 수 있습니다.

 

S3 접근 불가 확인

 

 

 

 

 

 

 

 

이상으로 IAM으로 사용자 관리하는 방법에 대해 간단하게 알아보는 시간이었습니다.

 

읽어주셔서 감사합니다.

 

 

 

728x90
반응형

댓글