본문으로 바로가기

[IAM policy] s3 download 차단 정책 설정 하기

category IT/AWS 2024. 1. 4. 23:33
반응형

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 인경우를 차단하여. 사용자의 웹브라우저가 크롬일 경우에만 차단 하는 정책을 넣었다.
반응형