반응형
Intro
AWS를 운영하다보면 다양한 유저에 대한 권한을 제어 해야할때가 있다. 그 중 AWS 콘솔을 사용해서 무언가 하려고 할때 그 동작에 대한 권한을 IAM 정책으로 제어할 수 있다. AWS콘솔에서 클릭하는 행위 하나하나가 모두 AWS리소스에대한 API 호출이며 IAM 정책은 어떤 행위(Action)를 어떤 자원(Resource)에 할것인지 대해 API레벨에서 제한을 할 수 있기 때문이다.
그 중 오늘은 AWS콘솔을 통해서 S3 다운로드를 차단 하는 정책을 알아 보도록 하겠다.
s3 download deny 정책
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DenyDownload",
"Effect": "Deny",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::*",
"Condition": {
"StringLike": {
"aws:UserAgent": "Chrome*"
}
}
}
]
}
- Sid는 해당 정책에 대한 설명 정도로 이해하면되며, 하이픈은 허용하지 않기 때문에 일반적으로 파스칼 케이스 또는 카멜케이스를 사용한다.
- Effect는 Deny 또는 Allow를 사용할 수 있으며 행위를 거절하거나 허용함을 정의 한다.
- Action은 해당 리소스에 어떤 행위를 할것인 지 정의 하는데 s3:GetObject 라고 정의하여 Object를 다운로드 하는 행위를 정의 했다
- Resource 는 AWS의 arn을 적어주는데 arn은 Amazon Resource Number의 약어로 AWS에서 생성하는 모든 리소스에 arn이 있다
- Condition 을 사용해서 디테일한 조건을 걸 수 있는데 StringLike 문법을 사용하여 aws:UserAgent가 Chrome 인경우를 차단하여. 사용자의 웹브라우저가 크롬일 경우에만 차단 하는 정책을 넣었다.
반응형
'IT > AWS' 카테고리의 다른 글
[AWS] S3 멀티 파트 업로드란? (0) | 2024.01.10 |
---|---|
[AWS] s3 버킷에 Object를 완전히 삭제하는 3가지 방법 (1) | 2024.01.08 |
[AWS] ALB의 SNI 기능 (다중 ssl인증서 등록) (1) | 2024.01.03 |
[AWS] Instance scheduler 적용하기 (자동 stop/start) (0) | 2023.12.22 |
[AWS] VPC 피어링간 s3 endpoint 통신 방법 (2) | 2023.11.09 |