IAM이 뭘까? 몬스타엑스 아이엠?
IAM은 User(사용자), Group(그룹)에 대한 역할 및 권한을 관리하여 AWS 리소스에 대한 접근을 제어하는 기능이다.
말 그대로, Identity and Access Management의 약자. 용어 및 개념을 살펴보고 간단하게 실습해보자.
용어 및 개념
1. User(사용자)
: 조직 내의 사람들로 그룹에 포함될 수 있다. (반드시 어떤 그룹에 포함돼야 하는건 아니며, 여러 개의 그룹에 포함될 수도 있다.)
2. Group(그룹)
: 그룹은 User만 포함할 수 있고, 다른 그룹을 포함할 수 없다. 여러 User를 Group으로 묶어 공통된 권한을 부여할 수 있다.
3. Role(역할)
: 특정 AWS 서비스나 애플리케이션이 다른 AWS 리소스에 접근할 수 있도록 하는 권한을 정의한 엔터티를 의미한다. 역할은 사용자, 그룹과는 달리 특정 엔터티에 직접 속하지 않으며, 필요에 따라 임시로 권한을 부여받아 AWS 리소스에 접근할 수도 있다.
4. Policy(정책)
: AWS 리소스에 대한 접근 권한을 정의하는 문서이다. 정책은 JSON 형식으로 작성되며, 사용자가 수행할 수 있는 작업(액션)과 접근할 수 있는 리소스, 조건을 명시한다. 정책은 크게 관리형 정책(Managed Policies)과 인라인 정책(Inline Policies)으로 나눌 수 있다.
- 관리형 정책: AWS에서 제공하거나 사용자가 생성한 독립적인 정책으로 여러 엔터티에 적용할 수 있다.
- 인라인 정책: 특정 엔터티에 직접 연결된 정책으로, 해당 엔터티에만 적용된다.
AWS에서는 새로운 사용자가 너무 많은 서비스를 실행하여 큰 비용이 발생하거나, 보안 문제를 야기할 수 있기 때문에 필요로 하는 최소한의 권한만 주는 것을 원칙으로 한다.
+ IAM Policy 구조
- Version, Id, Statement로 구성되며, 사실상 Statement의 내용이 중요하다.
- Sid: statement의 식별자(optional)
- Effect: statement가 접근을 allow하는지 deny하는지
- Principal: 이 정책이 적용되는 account, user, role
- Action: 정책이 allow 또는 deny하는 actions의 목록
- Resource: action을 적용하는 resource의 목록
- Condition: 정책이 영향을 주는 조건(optional)
5. MFA(Multi Factor Authentication)
: 보안 절차의 일환으로, 사용자 인증 시 두 가지 이상의 인증 요소를 요구하는 방식이다. 계정의 보안 수준을 높이고, 단순한 비밀번호만으로는 방어하기 어려운 다양한 공격을 예방할 수 있다. 보통 MFA = password + security device로 이루어진다.
(여기서 device로는 Google Authenticator, Authy, Yubikey 등이 있다.)
간단한 실습
IAM 서비스 검색 및 시작하기
왼쪽의 '액세스 관리'에서 사용자 선택
사용자를 생성하는 이유는 '루트 사용자'의 경우, AWS 모든 리소스에 대한 무제한 액세스 권한을 가지고 있기 때문에 보안 문제 및 액세스 제어에 어려움이 있기 때문이다. 따라서, 루트 사용자 계정은 초기 설정 및 필수적인 관리 작업에만 사용하고 평소에는 비활성화하거나 멀티 팩터 인증(MFA)을 설정하여 보호하는 것이 좋다.
사용자 생성을 클릭 후 다음과 같이 사용자 만들기
2. 권한 설정
권한 설정 단계에서 '그룹에 사용자 추가'를 눌러 AdministratorAccess 다음과 같이 정책을 추가하기
3. 검토 및 생성
검토 및 생성 단계에서 이전 단계에서 추가한 admin 권한을 확인할 수 있고, 태그를 다음과 같이 추가할 수도 있다.
4. 암호 검색
이 단계에서 해당 사용자에 대한 정보 파일 꼭 다운로드 받기!
마지막으로 해당 사용자 계정으로 잘 로그인 되는지 확인해보기
- 대시보드 탭에서 '계정 별칭' 생성하기
- 바로 밑에 생성된 IAM 사용자를 위한 로그인 URL을 통해 로그인
만약 동일한 브라우저에서 해당 URL로 접속하게 되면, 기존에 로그인돼있던 창은 로그아웃되며 다음과 같은 로그인 화면을 확인할 수 있다. (로그아웃 되지 않으려면 시크릿 모드로 실행하거나 edge, firefox 같은 다른 브라우저를 실행해야 한다.) 여기서는 별칭을 aws-sumin-v3로 설정했기 때문에 다음과 같이 계정 ID가 적혀있다.
사용자 이름과 암호에는 방금 전에 생성한 사용자의 이름과 암호를 적어주면 해당 IAM 사용자로 로그인되는 것을 확인할 수 있다.
'Cloud > AWS' 카테고리의 다른 글
Amazon EMR architecture Overview (0) | 2024.09.09 |
---|---|
Amazon EMR Overview (0) | 2024.09.09 |
AWSome Day 정리 (0) | 2024.07.19 |
AWS VPC (0) | 2024.06.09 |
AWS EC2 기초 (0) | 2024.06.01 |