728x90
반응형
CloudFormation과 보안: 서비스 역할(Service Roles) 사용법
AWS CloudFormation을 사용하여 인프라를 관리할 때 보안 측면에서 중요한 개념 중 하나는 서비스 역할(Service Roles) 입니다. 이번 글에서는 서비스 역할의 정의와 사용 방법, 그리고 보안 사용 사례를 중심으로 알아보겠습니다.
1. 서비스 역할이란?
서비스 역할은 CloudFormation 전용으로 생성된 IAM 역할로, CloudFormation이 사용자를 대신하여 AWS 리소스를 생성, 업데이트, 삭제할 수 있도록 허용합니다.
이 역할을 사용하면, 사용자에게 직접 리소스에 대한 모든 권한을 부여하지 않고도 스택 작업을 수행할 수 있습니다.
2. 서비스 역할의 주요 사용 사례
서비스 역할은 다음과 같은 경우에 유용합니다:
- 최소 권한 원칙(Least Privileged Principle) 을 준수하고 싶을 때.
- 사용자가 직접 리소스를 생성하거나 삭제할 수 있는 권한을 부여하지 않고, CloudFormation을 통해서만 리소스를 관리하도록 제한하고 싶을 때.
3. IAM PassRole 권한
CloudFormation에서 서비스 역할을 사용하려면, 사용자는 반드시 IAM PassRole 권한을 가져야 합니다. 이 권한은 특정 AWS 서비스(이 경우 CloudFormation)에 역할을 전달하도록 허용하는 필수 권한입니다.
4. CloudFormation에서 서비스 역할 설정하기
다음은 서비스 역할을 생성하고 이를 CloudFormation에서 사용하는 단계입니다.
- IAM에서 역할 생성
- IAM 콘솔로 이동하여 Roles(역할) 섹션으로 들어갑니다.
- Create role(역할 만들기) 을 선택하고, AWS 서비스 → CloudFormation 을 선택합니다.
- 권한 정책으로 AmazonS3FullAccess와 같은 정책을 부여합니다.
- 역할 이름은 DemoRole for CFN with S3 capabilities로 지정합니다.
- 역할을 생성합니다.
- CloudFormation에서 역할 사용
- CloudFormation 콘솔로 이동하여 스택을 생성합니다.
- 기존 템플릿을 사용하고 스택 이름을 지정합니다(예: DemoRole).
- Permissions(권한) 섹션에서 IAM 역할 을 선택합니다.
- 생성한 DemoRole for CFN with S3 capabilities를 선택합니다.
- 이 역할이 모든 스택 작업에 사용됩니다.
5. 예제: S3 권한이 있는 서비스 역할
위에서 생성한 역할에는 S3 관련 작업만 수행할 수 있는 권한이 있습니다. 따라서 CloudFormation에서 EC2 인스턴스를 생성하려고 하면 권한 부족으로 스택 작업이 실패합니다. 이는 권한 제어를 통한 보안 강화를 보여주는 예입니다.
6. 요약
- 서비스 역할을 사용하면 CloudFormation이 사용자를 대신해 리소스를 관리할 수 있습니다.
- 최소 권한 원칙을 적용하여 보안 수준을 높일 수 있습니다.
- IAM PassRole 권한은 필수입니다.
- CloudFormation의 서비스 역할은 사용자 개인 권한 대신 지정된 역할의 권한만 사용하도록 설정할 수 있습니다.
CloudFormation에서 보안을 강화하는 방법 중 하나인 서비스 역할 활용법을 숙지하면 더욱 안전하고 체계적인 클라우드 인프라 관리를 실현할 수 있습니다.
728x90
반응형
'자격증 > AWS Certified Security - Specialty' 카테고리의 다른 글
[AWS SCS] CloudFormation - Dynamic References (0) | 2024.12.25 |
---|---|
[AWS SCS] CloudFormation - Stack Policy (0) | 2024.12.25 |
[AWS SCS] CloudFormation (0) | 2024.12.25 |
[AWS SCS] AWS Audit Manager (0) | 2024.12.25 |
[AWS SCS] AWS Well-Architected Framework & Well-Architected Tool (1) | 2024.12.25 |