1. IAM 이란,
- AWS에서 유저들의 AWS 콘솔에 대한 접근 권한 및 수준을 관리하는 방법
- AWS 계정을 팀별로 공유하고, 접근 권한을 중앙에서 제공 / 관리 할 수 있도록 한다.
- 필요한 경우 유저 및 장치에 대해 임시 접근 가능하도록 설정 가능하다.
- Centralised control of your AWS account
- Shared Access to your AWS account
- Granular Permissions
- Identity Federation (including Facebook, Linkedin etc)
- Multifactor Authentication(MFA)
- Provide temprorary access for users/devices and services where necessary
- Allows you to set up your own password rotation policy
- Integrates with many different AWS services
2. IAM Key Term
2.1 Users
- AWS 시스템에 접근 가능한 유저 객체
- 하나의 AWS계정에 여러 개의 프로젝트가 존재한다고 가정했을 때, 특정 프로젝트에 접근 가능한 다양한 유저들이 존재할 수 있다.
- 따라서 AWS계정 아래에 유저 별로 프로젝트에 Access 한다고 이해하기위해 존재하는 개념이다.
- AWS 이메일 및 암호로 콘솔 로그인 시엔 root account, 계정 ID혹은 사용자 별칭으로 로그인 시엔 IAM 유저.
- 사용자 별 패스워드가 존재하게 설정할 수 있고, 해당 패스워드 정책을 변경할 수 있다.
- 유저(엑세스 키) 별로 활성화 여부를 변경할 수 있다.
2.2 Groups
- 각 유저별로 어떤 그룹에 속할 것인지 지정( Developer, DevOps, DBA etc)
2.3 Policies
- AWS 서비스에 엑세스 가능한 권한 관리 (Json으로 구성)
- RBAC(역할 기반 엑세스 제어) + ABAC(속성 기반 엑세스 제어 / 태그) 제공
*ABAC 란?*
- 그룹(팀) 뿐만 아니라 프로젝트 별로도 권한을 관리하여, 서로 다른 프로젝트 간의 접근 권한 공유를 용이하게 하는 방법
- 예: 동일한 프로젝트 및 팀 태그로 지정될 경우 CRUD 권한을, 동일한 팀이되 다른 프로젝트 태그로 지정될 경우 R 권한만 부여
* ABAC 이점*
1. 확장성이 좋고, 필요한 정책의 수가 줄어든다
2. 새로운 프로젝트 추가 시 정책관리가 용이하다.
3. 정책을 최소 권한만 부여하여 세분화하여 관리하기 쉽다.
2.4 Roles
- AWS 서비스 별 정책들을 모아놓아 역할을 부여
3. Review
- IAM은 region에 영향을 받지 않으며(universal),
- root account는 AWS계정에서 처음 셋업할 때 생성되는 계정이다.
- 새로운 유저는 그 어떠한 권한도 없는 상태이며,
- Access Key ID와 Secret Access Key가 생성된다. (이를 통해 시스템에 접근 가능, root account에서 접근 활성화 여부 변경 가능)
- Access Key ID와 Secret Access Key는 API나 Command Line등에서 활용될 수 있으며 오직 한 번만 볼 수 있어, 분실 시 재생성 해야한다.
'PROGRAMING > BACKEND DEV' 카테고리의 다른 글
AWS SAA-C02 - S3(AWS Storage) 추가 특징 및 기능 (0) | 2021.07.08 |
---|---|
AWS SAA-C02 - S3(AWS Storage) (0) | 2021.07.03 |
AWS SAA-C02 - Overview (region, AZ 등 기본 개념) (0) | 2021.06.27 |
MSA와 DevOps (0) | 2021.04.07 |
성능향상을 위한 개발 1 - Batch Job, Quartz Scheduler (0) | 2021.01.23 |