IAM이란
<aside>
<img src="/icons/circle-three-eighths_gray.svg" alt="/icons/circle-three-eighths_gray.svg" width="40px" />
설명

- AWS 리소스에 대한 액세스를 안전하게 제어할 수 있는 서비스
- 루트 사용자로는 모든 AWS 서비스 및 리소스에 대한 완전한 액세스를 갖지만 보안에 대해서는 취약함, 이 때문에 IAM을 통해 리소스를 사용할 수 있는 인증 및 권한이 부여된 대상을 제어
</aside>
<aside>
<img src="/icons/circle-three-eighths_brown.svg" alt="/icons/circle-three-eighths_brown.svg" width="40px" />
IAM 구성요소

-
사용자(users)
- AWS를 사용하는 개인이나 서비스
- 생성 후 자격 증명 생성
- 관리 콘솔에 로그인하기 위한 비밀번호
- 자격 증명(액세스 키 ID, 비밀 엑세스 키)
-
그룹(groups)

- 한 그룹에 여러 명의 사용자를 지정해서 공통으로 권한을 부여할 때 유용
- 여러 사용자의 권한을 지정하고 관리하는 작업을 간소화 가능
- IAM 그룹은 IAM 사용자 또는 역할과는 달리 자격 증명 존재 X
-
정책(Policy)

- AWS에서 권한을 정의하는 JSON 문서
- 특정 리소스에 대한 액세스를 허용하거나 거부하는 규칙을 정의
- 이는 사용자, 그룹, 역할에 연결
- 주요 정책
- Effect
- 허용, 거부 값만 존재 → 해당 명령문이 특정 작업을 허용할지 거부할지 결정
- Action
- 수행할 수 있는 작업을 정의
- 와일드카드(*)를 사용해 여러 작업을 한 번에 지정 가능
- Resource
- 작업이 적용되는 특정 AWS 리소스를 지정
- Amazon Resource Name(ARN)을 사용하여 리소스를 식별
-
역할(Role)
- 특정 권한을 가진 사용자나 서비스 등에 임시 권한을 부여하는 기능
- 장기 자격 증명(액세스 키 등)을 사용하지 않아 보안상 유용
</aside>
<aside>
<img src="/icons/circle-three-eighths_blue.svg" alt="/icons/circle-three-eighths_blue.svg" width="40px" />
IAM 역할과 정책 비교

</aside>
<aside>
<img src="/icons/circle-three-eighths_yellow.svg" alt="/icons/circle-three-eighths_yellow.svg" width="40px" />
IAM 사용자 관리
-
IAM 사용자 생성 시 고려 사항
- 접근 유형
- AWS Management Console 접근, 프로그래밍 방식 접근, 또는 둘 다
- 권한 범위
- 사용자가 수행해야 하는 작업에 필요한 최소한의 권한
- 그룹 멤버십
- 암호 정책
-
액세스 키와 시크릿 액세스 키
- 액세스 키와 시크릿 액세스 키를 이용하여 사용자가 프로그래밍 방식으로 AWS에 접근할 수 있도록 하는 자격 증명
-
사용자 권한 설정 방법
- 직접 정책 연결
- 그룹을 통한 정책 연결
- 비슷한 역할을 하는 다수의 사용자에게 일괄 적용 가능
</aside>