IAM(Identity and Access Management)
사용자를 생성하고 그룹에 배치하기에 글로벌 서비스에 해당한다.
* Root account : 기본적으로 생성되며, 생성 후에는 루트 계정을 사용해서도 공유해서도 안 됨
IAM의 4가지 구성 요소
1. Users
실제 사람 또는 애플리케이션을 위한 계정
2. Groups
: 여러 사용자를 묶어 권한 관리
: 그룹에는 사용자만 배치할 수 있음
3. Roles
임시 자격 증명
4. Policies
사용자나 그룹에게 JSON 형식으로 권한을 정의할 수 있음
-> AWS에서는 최소 권한의 원칙을 사용(꼭 필요로 하는 것 이상의 권한을 주지 않음)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*",
},
{
"Effect": "Allow",
"Action": "elasticloadbalancing:Describe*",
"Resource": "*",
},
{
"Effect": "Allow",
"Action": [
"cloudwatch:ListMetrics",
"cloudwatch:GetMetricStatistics",
"cloudwatch:Describe*"
],
"Resource": "*",
},
]
}Policies Structure
Consists of
- Version
- Id
- Statement
Statements consist of
- Sid : Statement ID, Statement 식별자
- Effect : Statement가 특정 API에 접근하는걸 허용할지 & 거부할지 = Allow & Deny
- Principal : 특정 정책이 적용될 사용자 / 계정 / 역할
- Action : effect에 기반해 허용 및 거부되는 API 목록
- Resource : 적용될 action의 리소스 목록
- Condition : Statement가 언제 적용될지
IAM 암호 정책
IAM 사용자들의 비밀번호 보안 수준을 강제하는 설정
Password Policy
다양한 옵션을 이용해 비밀번호 정책 생성 가능
ex) 최소 길이 설정, 특정 유형 글자 사용 요구, 비밀번호 재사용 금지 등
MFA(Multi Factor Authentication)
사용자들은 계정에 접근 권한이 있고, 많은 작업을 할 수 있음. 특히 관리자는 구성을 변경하거나 리소스를 삭제하는 작업이 가능
따라서 루트 계정은 반드시 보호해야 하고, IAM 사용자들도 보호를 해야 함
> 루트 계정은 필수 설정
> IAM 사용자들은 선택이지만 권장
MFA 디바이스 종류
- Virtual MFA device : 하나의 장치에서도 토큰을 여러개 지원
- Universal 2nd Factor Security Key : 하나의 보안 키에서 여러 루트 계정과 IAM 사용자 지원
- Hardware Key Fob MFA Device
- Hardware Key Fob MFA Device for AWS GovCloud
AWS CLI(Command Line Interface)
Command line shell에서 명령어를 사용해 AWS 서비스들과 상호작용할 수 있도록 하는 도구
AWS SDK(Software Development Kit)
특정 언어로 된 라이브러리 집합 -> 프로그래밍 언어에 따라 개별 SDK 존재
터미널 내에서 사용하는 것이 아닌 코딩을 통해 애플리케이션 내에 심어두는 것
IAM Role
AWS 서비스에 권한을 부여하는 것
IAM Role은 사용자와 비슷하지만 실제 사람이 사용하도록 만들어진 것이 아니고, AWS 서비스에 의해 사용되도록 만들어짐
ex) EC2 Instance Roles, Lambda Function Roles
IAM Security Tools
IAM 보안을 모니터링하고 개선하는 도구들
1) IAM Credentials Report
: 계정에 있는 사용자와 다양한 자격 증명의 상태 포함
: 계정 레벨의 보고서
2) IAM Access Advisor
: 사용자에게 부여된 서비스의 권한과 해당 서비스에 마지막으로 액세스한 시간을 볼 수 있음
: 어떤 권한이 사용되는지 볼 수 있고, 이를 통해 사용자의 권한을 줄여 최소 권한의 원칙을 지킬 수 있음
: 사용자 레벨의 보고서
IAM Guidlines
1. 루트 계정은 AWS 계정을 설정할 때를 제외하고 사용
2. One physical user = One AWS user
3. 사용자를 그룹에 넣어 해당 그룹에 권한을 부여할 수 있음
4. 비밀번호 정책은 강력하게
5. MFA를 사용할 수 있다면 꼭 사용하기
6. AWS 서비스에서 권한을 부여할 때마다 Role을 만들고 사용해야 함
7. CLI 혹은 SDK를 사용할 경우 Access Key를 만들고 사용할 것. Access Key는 비밀번호와 같음
8. 계정의 권한을 감사할 때는 IAM Credential Report를 사용할 수 있음
출처 : https://velog.io/@gagaeun/AWS-IAM
'AWS' 카테고리의 다른 글
| [AWS] RDS & Aurora & ElastiCache (0) | 2025.11.10 |
|---|---|
| [AWS] Load balancing & Auto Scaling Group (0) | 2025.11.09 |
| [AWS] EC2 Instance Storage Section (0) | 2025.11.05 |
| [AWS] EC2(2) (0) | 2025.11.05 |
| [AWS] EC2 (0) | 2025.11.04 |