1강. IAM 소개
- IAM은 사용자, 그룹으로 구분할 수 있다.
- 그룹 내에서는 다른 그룹을 포함할 수 없다.
- 사용자는 여러 그룹 안에 속할 수 있다.
- RBAC(Role Base Access Control) 기반이고, 최소 접근 권한만 부여할 것을 권장한다.
- JSON을 통해서 권한을 제어할 수 있다.
2강. IAM 사용자 및 그룹 실습
- Root 유저는 가급적으로 사용하지 않고 IAM 사용자를 생성 후 최소 접근 권한만 부여하는 게 Best Practice 이다.
- 그룹에 권한을 부여하고, 그룹에 속한 사용자가 그룹으로부터 권한을 상속받는 방식으로 사용하는 것이 Best Practice 이다.
- 계정 별칭을 활용해 로그인 URL을 변경할 수 있다.
3강. IAM 정책
- 그룹 별로 정책을 할당해 관리하는 것이 일반적이고, 특정 IAM 객체에 바로 정책을 할당하는 경우 인라인 정책이라고 부른다.
- Inline 정책의 경우 객체에 종속적이어서 관리하기 어렵다.
- JSON으로 구조화된 IAM 정책은 아래와 같다.
- Effect : Allow / Deny 중 택1
- Principal : 정책이 적용될 사용자, 계정, 역할
- Action : Effect에 기반해 정책이 적용될 APIs
- Resource : 적용될 Action의 AWS 리소스 목록
4강. IAM 실습
- IAM 권한 정책을 사용자 정의해서 사용할 수 있다. 이때 사용되는 JSON은 Visual 편집기를 통해 간단하게 편집할 수 있다.
- 모든 권한은 API 호출과 관련이 있다. 권한의 범위는 결국 API 호출 범위이다.
5강. IAM MFA 개요 - 6강. IAM MFA 실습
- AWS에서는 IAM 객체들을 보호하기 위해서 크게 2가지의 정책을 제공한다.
- 암호 정책 : 암호 만료 기간, 암호 복잡도 설정, 최초 로그인 후 암호 변경 정책 등
- MFA 정책 : MFA 하드웨어, 앱을 활용한 Virtual MFA 디바이스 등을 통해서 다중 인증을 수행
- 개념 : 내가 알고 있는 것(암호)과 내가 가지고 있는 것(디바이스) → 이중 인증
7강. AWS 액세스 키 CLI 및 SDK - 9강. AWS CLI 설치
- AWS에 접근할 수 있는 방법은 총 3가지가 있다. → AWS 관리 콘솔, AWS CLI, AWS SDK이다.
- AWS 사용자들은 AWS 액세스 키를 사용해 AWS에 접근한다.
- Access Key의 ID는 유저 이름에 해당하고, Secret Access Key는 암호에 해당한다.
- AWS CLI를 통해 CLI 환경에서 AWS(Public API)를 제어할 수 있다.
- AWS SDK는 애플리케이션에 내장돼 프로그래밍 시 AWS API 호출을 단순화해 개발자의 부담을 줄여준다.
10강. AWS CLI 실습
- AWS CLI 프로그램을 설치하면
aws configure
명령어를 통해 AWS CLI를 사용할 IAM 객체를 등록할 수 있다.
11강. AWS Cloudshell 실습
- AWS Cloudshell은 AWS CLI 프로그램 없이 브라우저에서 AWS에서 무료로 제공하는 가상화된 터미널이다.
- 하지만 글로벌 서비스가 아니므로 특정 리전들에서만 동작한다.
- Cloudshell를 활용하여 파일 업로드/다운로드가 가능하고 재접속 해도 홈 디렉터리의 파일들이 보존된다.
12강. AWS 서비스에 대한 IAM Role - 13강. IAM Role 실습
- 특정 AWS 서비스에 IAM Role를 부여해 서비스가 AWS API에 접근할 수 있도록 구현할 수 있다.
14강. IAM 보안도구
- IAM 보안도구는 크게 2가지로 구분할 수 있다.
- Credentials Report (Account-Level) : 계정에 생성되어 있는 사용자와 다양한 자격 증명 유형에 대한 상태를 리포트로 제공한다.
- Access Advisor (User-Level) : 액세스 어드바이저는 특정 서비스에 대한 유저의 마지막 접근 시간을 알려준다. 이를 활용해 사용자에게 최소 권한만 부여할 수 있다.
15강. IAM 보안도구 실습
- Credentials Report : 암호 정책, 액세스 키, MFA 등 계정 내에 사용자에 대한 리포트이다.
- IAM Access Advisor : 사용자가 많이 사용하지 않는 서비스들을 확인할 수 있다.
- 요약
- 사용자가 정상적인 암호 정책, 액세스 키, MFA 관리 확인 → Credentials Report
- 서비스 접근에 대한 사용자의 권한 제어 → Access Advisor
16강. IAM 모범 사례
- AWS 계정 설정 이외에는 루트 계정으로 접속 금지
- 물리적 사용자 1명당 1명의 AWS 사용자를 생성
- 권한은 사용자가 아니라 그룹에 부여하고, 필요에 따라 사용자를 그룹에 할당하는 방식으로 구성
- 강력한 암호 정책(암호 만료 기간, 암호 복잡도 등) 사용
- MFA 암호 사용 권장
- Roles를 사용해 AWS 서비스에 권한 부여
- 프로그래밍적 접근(CLI/SDK)을 위해 액세스 키 사용
- 최소 권한 부여를 위해 IAM Access Advisor를 사용 및 Credentials Report를 활용해 사용자 계정 관리
- IAM User의 계정 정보나 액세스 키는 절대 공유 금지
17강. IAM 요약
- Users: mapped to a physical user, has a password for AWS Console
- Groups: contains users only
- Policies: JSON document that outlines permissions for users or groups
- Roles: for EC2 instances or AWS services
- Security: MFA + Password Policy
- AWS CLI: manage your AWS services using the command-line
- AWS SDK: manage your AWS services using a programming language(application)
- Access Keys: access AWS using the CLI or SDK
- Audit: IAM Credential Reports & IAM Access Advisor
'Dev > AWS' 카테고리의 다른 글
[AWS-SAA] 03. EC2 SAA Level 요약 (0) | 2025.02.21 |
---|---|
[AWS-SAA] 02. EC2 요약 (0) | 2025.02.21 |
[AWS TechCamp] 기초부터 배우는 AWS 핵심 서비스로 웹 애플리케이션 구축하기 후기 및 요약 (1) | 2024.09.03 |
[AWS-SAA] 00. AWS 글로벌 인프라 구조 (압축 요약) (0) | 2024.08.29 |
AWS 한 번에 초기화 할 때 aws-nuke를 사용하자 (0) | 2024.05.28 |