◇ 공부 기록용으로 작성하였으니 틀린점, 피드백 주시면 감사하겠습니다 ◇
AWS의 Policy
Policy는 AWS 리소스에 대한 접근 권한을 정의한 것이다.
Policy은 JSON 형식으로 정의되며, IAM User, IAM Group, IAM Role, AWS 리소스에 대해 필요한 접근 권한을 부여하거나 제한할 수 있다.
Policy을 적절히 설정하면 AWS 리소스에 대한 안전한 접근 제어를 실현할 수 있다.
주요 Policy 유형
- Identity-Based Policies (ID 기반 정책, IAM Policy): IAM User, IAM Group, IAM Role에 연결하는 정책
- Resource-Based Policies (리소스 기반 정책): AWS 리소스에 연결하는 정책
ID 기반 정책 (IAM Policy)
ID 기반 정책은 IAM User, IAM Group, IAM Role에 연결하는 정책이다.
- Managed policies (관리형 정책):
AWS 계정에 속한 다수의 User, Group, Role에 독립적으로 연결할 수 있는 Policy이다. 2가지 유형의 Policy이 있다.- AWS managed policies (AWS 관리형 정책) - AWS 측에서 관리하는 Policy.
- Customer managed policies (고객 관리형 정책) - 사용자가 관리하는 Policy.
- Inline policies (인라인 정책) - 단일 User, Group, Role에 직접 추가하는 정책입니다.
AWS Managed policies으로 필요한 권한을 부여할 수 없는 경우, Customer managed policies을 생성하여 사용해야한다.
Inline policies은 특정 대상에 한정된 정책이므로 관리가 복잡해질 수 있으며, AWS Best Practice에서는 권장되지 않는다.
리소스 기반 정책 (Resource Based Policy)
리소스 기반 정책은 일부 AWS 리소스(S3 버킷 등)에 대해 연결하는 인라인 정책이다.
예를 들어, S3의 Bucket Policy은 리소스 기반 정책에 해당하며, S3 버킷에 대한 접근을 특정 사용자나 특정 IP 주소에게만 허용하는 경우 등에 사용된다
리소스 기반 정책 예시)
- S3 Bucket Policy
- SNS Topic Policy
- SQS Queue Policy
🤔 문제
개발자는 여러 AWS 리소스에 접근하는 EC2 인스턴스 상의 애플리케이션을 만들고 있습니다. 애플리케이션이 AWS 리소스에 접근할 때 인증이 안전하게 이루어져야 합니다. 요구 사항을 충족하기 위해 필요한 작업은 무엇입니까?
- 필요한 권한을 부여한 리소스 기반 정책을 작성하여 EC2 인스턴스에 연결합니다.
- 필요한 권한을 부여한 SCP를 작성하여 EC2 인스턴스에 연결합니다.
- 애플리케이션에 액세스 키와 시크릿 액세스 키 정보를 내장합니다.
- 필요한 권한을 부여한 IAM Policy을 작성하고 IAM Role에 연결한 다음, 해당 IAM Role을 EC2 인스턴스에 연결합니다.
정답
정답. 4번
필요한 권한을 부여한 IAM 정책을 작성하고 IAM 역할에 연결한 다음, 해당 IAM Role을 EC2 인스턴스에 연결합니다.
[AWS 리소스 인증 방법]
AWS 리소스는 직접적으로 사용자뿐만 아니라 AWS 서비스나 애플리케이션에서도 접근할 수 있다.
예시) EC2 → S3
예를 들어, EC2 인스턴스에서 실행되는 애플리케이션에서 S3 버킷에 접근하는 경우, 일반적으로 액세스 키와 시크릿 액세스 키를 사용하여 인증해서 접근 할 수 있다.
⚠️ 그러나 애플리케이션 코드에 인증 정보를 직접 내장하는 것은 보안 위험이 높기 때문에 권장되지 않는다.
[IAM Role]
IAM Role을 사용하면 이러한 위험을 줄일 수 있다.
IAM Role은 일시적인 액세스 키를 생성하여 인증에 사용하며, 애플리케이션은 이 일시적인 키를 사용하여 AWS 리소스에 접근한다. 생성된 액세스 키는 유효 기간이 설정되어 있어, 유출되더라도 위험을 비교적 낮게 유지할 수 있다.
IAM 역할을 생성할 때는 필요한 권한을 허용하는 IAM Policy을 미리 작성해야 한다.
작성한 IAM Policy을 IAM Role에 연결하고, 해당 역할을 EC2 인스턴스에 연결한다
오답
1번. 필요한 권한을 부여한 리소스 기반 정책을 작성하여 EC2 인스턴스에 연결합니다.
리소스 기반 정책(Resource Based Policy)은 접근받는 쪽에 연결하는 정책이므로 오답이다.
또한, EC2 인스턴스에는 리소스 기반 정책이 제공되지 않는다.
2번. 필요한 권한을 부여한 SCP를 작성하여 EC2 인스턴스에 연결합니다.
SCP(서비스 제어 정책)는 조직에 속한 OU(조직 단위) 또는 AWS 계정에 대해 AWS 서비스에 대한 접근 권한과 사용할 수 있는 리소스를 제한할 수 있는 기능이다.
AWS 리소스에 접근 권한을 부여하는 기능이 아니므로 오답이다.
3번. 애플리케이션에 액세스 키와 시크릿 액세스 키 정보를 내장합니다.
인증 정보(액세스 키 및 시크릿 액세스 키)를 애플리케이션에 내장하는 것은 보안 위험이 높은 방법이므로 권장되지 않는다.
'클라우드(AWS)' 카테고리의 다른 글
[AWS] CloudFront와 Global Accelerator의 차이점 정리 (0) | 2024.08.11 |
---|---|
[AWS] IAM Instance Profile (인스턴스 프로파일)란? 쉽게 정리: (EC2의 IAM Role 작성시 자동으로 Instance Profile이 생성된다) (0) | 2024.08.10 |
[AWS] ELB의 Access Logs(액세스 로그)란? (S3에 저장) (0) | 2024.08.09 |
[AWS] IAM Permissions Boundary (권한 경계)란? 쉽게 개념 정리 (0) | 2024.08.04 |
[AWS] Amazon Aurora Global Database란? 쉽게 개녕 설명 (여러 리전에 복제 및 재해 복구: DR) (0) | 2024.08.02 |