IAM은 사용자가 AWS 리소스에 접근할 수 있는 권한을 관리하고 제어하는 도구다.
이를 통해 다양한 사용자 및 서비스가 안전하게 AWS 리소스를 사용할 수 있게 된다.
IAM을 사용하면 다음과 같은 기능을 수행할 수 있다:
- 사용자 생성 및 관리: 각 사용자에게 고유한 자격 증명을 부여하고, 이를 통해 AWS 리소스에 접근할 수 있게 한다.
- 그룹 관리: 여러 사용자를 하나의 그룹으로 묶어 관리할 수 있다. 그룹에 속한 모든 사용자에게 동일한 권한을 부여할 수 있어 관리가 편리하다.
- 정책 설정: JSON 형식의 정책 문서를 사용하여 사용자나 그룹이 어떤 작업을 수행할 수 있는지 정의할 수 있다.
- 다중 인증(MFA): 사용자 계정의 보안을 강화하기 위해 다중 인증을 설정할 수 있다.
- 연결된 계정 관리: AWS Organizations와 통합하여 여러 AWS 계정을 중앙에서 관리할 수 있다.
사용자 및 그룹 생성
IAM에서 사용자를 생성할 때, 하나의 사용자는 조직 내의 한 사람을 나타낸다. 필요한 경우, 사용자들을 그룹으로 묶을 수도 있다. 예를 들어, 여섯 명의 조직이 있다고 가정해보자: A, B, C, D, E, 그리고 F.
- Engineers 그룹: A, B, C
- Support 팀: D, E
- 그룹에 속하지 않은 사용자: F
그룹에는 사용자만 배치할 수 있으며, 다른 그룹을 포함시킬 수 없다. 이는 IAM에서 중요한 개념이다. 또한, 한 사용자가 여러 그룹에 속할 수도 있다. 예를 들어, C와 D가 감사 팀에서도 일한다면, 이들을 위한 세 번째 그룹을 만들 수 있다.
권한 부여
사용자와 그룹을 생성하는 이유는 이들이 AWS 계정을 사용하도록 허용하기 위해서다. 이를 위해 사용자 또는 그룹에게 IAM 정책이라고 불리는 JSON 문서를 지정할 수 있다. 이 문서에는 특정 사용자나 그룹이 어떤 작업을 할 수 있는지 명시되어 있다.
예를 들어, 특정 사용자에게 EC2, CloudWatch의 사용 권한을 부여할 수 있다. 아래는 이러한 권한을 정의하는 JSON 정책의 예시다:
{
"Version": "2012-10-17",
"Id": "ExamplePolicyID",
"Statement": [
{
"Sid": "1",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:user/A"
},
"Action": [
"ec2:DescribeInstances",
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "*",
"Condition": {
"IpAddress": {
"aws:SourceIp": "192.168.0.1/32"
}
}
},
{
"Sid": "2",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::123456789012:user/A"
},
"Action": [
"cloudwatch:PutMetricData",
"cloudwatch:GetMetricData"
],
"Resource": "*"
}
]
}
이와 같은 형태의 JSON 문서를 통해 사용자들이 AWS 서비스를 이용하도록 허용할 수 있다.
최소 권한의 원칙
AWS에서는 모든 사용자에게 모든 권한을 부여하지 않는다. 이렇게 하면 큰 비용이 발생하거나 보안 문제가 생길 수 있기 때문이다. 따라서 AWS에서는 최소 권한의 원칙을 적용한다. 즉, 사용자가 꼭 필요로 하는 권한만 부여하는 것이다.
'AWS > SAA' 카테고리의 다른 글
[AWS/IAM] MFA 개요 (0) | 2024.05.20 |
---|---|
[AWS/IAM] IAM 정책 실습 (0) | 2024.05.20 |
[AWS/IAM] IAM 정책 (0) | 2024.05.20 |
[AWS/IAM] 사용자 및 그룹 실습 (0) | 2024.05.20 |
[AWS] AWS 클라우드 개요 (0) | 2024.05.20 |