1. 개요
클라우드 보안에서 역할(Role)과 정책(Policy)은 리소스에 대한 액세스 제어를 구현하는 핵심 구성 요소입니다.
AWS와 Microsoft Azure 모두 사용자 및 서비스 간 권한을 제어하는 메커니즘을 제공하지만, 그 구조와 개념적 접근은 다소 차이가 있습니다.
2. AWS의 역할과 정책
2.1 역할 (IAM Role)
AWS IAM 역할은 특정 권한을 가진 임시 자격 증명 세트입니다. 역할은 사람이나 서비스가 AWS 리소스에 접근할 수 있게 하며, 보통 EC2, Lambda, ECS 등에서 사용됩니다.
사용자는 직접 로그인하지 않고, 서비스 또는 사용자에게 위임되어 사용됩니다.
- 주체(Principal)가 역할을 Assume함
- 자격 증명은 일시적
- Cross-account 액세스에 활용 가능
- 보통 서비스 간의 연동 또는 외부 접근 허용 시 사용
주체(Principal)가 역할을 Assume함이란?
“주체(Principal)가 역할을 Assume한다”는 것은
👉 어떤 사용자나 서비스가 역할(Role)의 권한을 잠시 빌려서 쓰는 것입니다.
- 역할은 권한을 담고 있는 그릇
- 주체는 그 역할을 잠시 입어서 권한을 갖게 됨
- 예: EC2가 S3에 접근하려면, S3 권한이 담긴 역할을 Assume(수행) 해야 함
2.2 정책 (IAM Policy)
정책은 AWS 리소스에 대한 접근을 허용 또는 거부하는 JSON 형식의 문서입니다. 사용자, 그룹, 역할에 연결되어 권한을 정의합니다.
- 명시적 허용 또는 거부 설정
- 리소스, 작업, 조건 등을 세밀하게 정의 가능
- 정책은 역할, 사용자, 그룹에 연결됨
2.3 역할과 정책의 관계
역할은 권한을 가질 수 있는 ‘컨테이너’이고, 정책은 그 권한을 실제로 ‘정의’하는 구성 요소입니다.
역할이 정책을 포함함으로써 최종적으로 어떤 작업이 가능한지를 결정합니다.
3. Azure와의 비교
항목 | AWS | Azure |
역할 | IAM Role 임시 자격 증명 기반 서비스나 사용자에 위임 | Azure Role Assignment RBAC(Role-Based Access Control)의 핵심 구성요소 |
정책 | IAM Policy JSON 문서로 권한 정의 | Azure Policy 거버넌스 및 규정 준수 중심의 접근 제어(예: VM 크기 제한) |
권한 제어 모델 | RBAC + 정책 기반 접근 제어(ABAC) 혼합 가능 | RBAC 중심 + 정책은 주로 제약 조건 용도 |
서비스 간 접근 제어 | AssumeRole로 위임 STS를 통한 교차 계정 권한 위임 | Managed Identity 사용 Azure AD 기반 토큰 발급 |
정책 적용 범위 | 사용자, 그룹, 역할 등과 연결 가능 | 관리 그룹, 구독, 리소스 그룹, 리소스 수준에서 /정책 적용 가능 |
ABAC 이란?
사용자, 리소스, 환경의 “속성(attribute)”을 기반으로 접근을 제어하는 방식입니다.
- 누가 (사용자 속성)
- 무엇에 (리소스 속성)
- 어떤 조건일 때 (환경 속성) 접근할 수 있는지를 정의합니다.
예시
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"StringEquals": {
"aws:PrincipalTag/department": "marketing"
}
}
}
}
이 정책은 👉 department라는 태그가 “marketing”인 사용자만
S3 버킷 객체를 읽을 수 있도록 허용합니다.
ABAC 특징 요약
- IAM 사용자, 역할, 리소스 등에 **태그(Tag)**를 붙여 사용
- 역할/정책 개수 없이도 유연하게 권한 관리 가능
- 특히 대규모 조직이나 다수의 리소스를 관리할 때 유리
비고
AWS는 IAM 역할 및 정책을 통해 매우 유연한 접근 제어가 가능하며, Azure는 RBAC 기반의 직관적인 권한 위임과 거버넌스 중심 정책을 제공합니다. Azure Policy는 리소스 생성 제한 및 구성 기준 유지를 위한 기능이며, AWS의 SCP(Service Control Policy) 또는 Config Rule과 유사한 역할을 수행합니다.
4. 결론
AWS의 IAM 역할은 자격 증명을 위임하기 위한 컨테이너이며, 정책은 실제 권한을 설정하는 문서입니다. 이 둘은 보완적으로 사용되며, 세밀한 권한 제어가 가능합니다. 반면, Azure는 RBAC 모델을 중심으로 직관적인 권한 할당을 지원하며, 정책은 조직의 규정 준수를 위한 수단으로 활용됩니다. 각 플랫폼은 서로 다른 보안 모델을 취하고 있으므로, 멀티 클라우드 환경에서는 이러한 차이를 이해하고 설계하는 것이 중요합니다.