1. IAM의 주요 개념
사용자 (User)
AWS 계정 내의 개별 사용자입니다. 각 사용자는 특정한 권한을 가지며, AWS Management Console, AWS CLI, AWS API 등에 접근할 수 있습니다. 각 사용자는 고유한 로그인 자격 증명(예: 비밀번호, 액세스 키)을 가집니다.
• 그룹 (Group)
여러 사용자를 하나의 그룹으로 묶어 관리할 수 있습니다. 그룹에 정책을 할당하면, 그룹 내 모든 사용자에게 해당 정책이 적용됩니다. 예를 들어, “개발자” 그룹에 EC2와 S3에 대한 읽기/쓰기 권한을 부여할 수 있습니다.
• 역할 (Role)
IAM 역할은 특정 사용자나 서비스에 임시로 권한을 부여할 때 사용됩니다. 역할을 맡는 사용자나 서비스는 해당 역할에 정의된 권한을 일시적으로 사용할 수 있습니다. 주로 EC2 인스턴스나 Lambda 함수 등 AWS 서비스가 다른 AWS 서비스에 접근할 때 사용됩니다.
• 정책 (Policy)
정책은 JSON 형식으로 작성된 권한의 집합입니다. 정책은 사용자, 그룹, 역할에 부여되어 어떤 행동이 허용되거나 금지되는지를 정의합니다. 정책에는 관리형 정책(AWS에서 제공하거나 사용자가 만든 정책)과 인라인 정책(직접 특정 사용자, 그룹, 역할에 연결된 정책)이 있습니다.
2. IAM의 핵심 기능
1. 정교한 접근 제어
- IAM은 리소스 기반 정책과 ID 기반 정책을 통해 매우 세밀한 접근 제어를 제공합니다.
- 조건부 정책을 사용하여 특정 조건(예: 특정 시간대, IP 주소 등)에 따라 접근을 제어할 수 있습니다.
2. 다중 인증(Multi-Factor Authentication, MFA)
- IAM 사용자는 MFA를 설정하여 추가적인 보안 레이어를 적용할 수 있습니다. 이는 비밀번호 외에도 OTP(일회용 비밀번호) 등을 요구하는 방식입니다.
3. 역할 전환(Role Switching)
- 하나의 AWS 계정 내에서, 또는 계정 간에 역할을 전환하여 다른 권한을 사용하는 것이 가능합니다. 이를 통해 사용자는 최소 권한 원칙을 준수하면서도 필요한 권한을 임시로 사용할 수 있습니다.
4. 액세스 분석기 (Access Analyzer)
- AWS IAM Access Analyzer를 사용하여 리소스가 외부 엔터티에 잘못된 접근 권한을 갖고 있는지 확인하고, 그 결과를 검토하여 보안을 강화할 수 있습니다.
4. IAM 결합 역할
- IAM 역할과 SAML 2.0과 같은 인증 프로토콜을 결합하여 기업의 싱글 사인온(SSO) 솔루션과 AWS를 통합할 수 있습니다.
3. 최소 권한 원칙(Principle of Least Privilege)
IAM에서 중요한 보안 모범 사례로, 사용자, 그룹, 역할이 AWS 리소스에 대해 필요한 최소한의 권한만 갖도록 설정하는 것이 중요합니다. 이를 통해 의도치 않은 보안 위험을 줄일 수 있습니다.
4. 정책 예시
- 읽기 전용 접근
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": "arn:aws:s3:::example-bucket/*"
}
]
}
- 모든 S3 작업 허용
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": "*"
}
]
}
5. IAM 모범사례
• 루트 사용자 최소 사용: AWS 계정의 루트 사용자는 무제한 권한을 가지므로, IAM 사용자 계정을 생성하여 일상적인 작업에 사용하고, 루트 사용자 계정은 필요할 때만 사용합니다.
• MFA 활성화: 중요한 계정이나 역할에 대해 MFA를 활성화하여 보안을 강화합니다.
• 정기적인 액세스 리뷰: 사용하지 않는 사용자 계정, 권한, 정책 등을 주기적으로 검토하고 삭제하여 보안을 유지합니다.
'AWS' 카테고리의 다른 글
AWS DVA-C02 EC2 (0) | 2024.09.15 |
---|---|
AWS Certified Cloud Practitioner - ETC (1) | 2024.08.11 |
AWS Certified Cloud Practitioner - 관리, 모니터링 및 거버넌스 (0) | 2024.08.04 |
AWS Certified Cloud Practitioner - 보안, 자격증명 및 규정 준수 (0) | 2024.07.28 |
AWS Certified Cloud Practitioner - 애플리케이션 통합 (0) | 2024.07.21 |