내용으로 건너뛰기

태그 기반 액세스 제어와 함께 IAM 정책을 사용하여 Amazon S3 버킷의 객체에 대한 액세스를 제한하려면 어떻게 해야 하나요?

3분 분량
0

태그 기반 액세스 제어와 함께 AWS Identity and Access Management(IAM) 정책을 사용하여 Amazon Simple Storage Service(Amazon S3) 버킷의 객체에 대한 액세스를 제한하려고 합니다.

해결 방법

다음 정책은 객체 태그를 사용하여 Amazon S3 버킷 객체에 대한 액세스를 제어하는 방법의 예입니다.

참고:

  • 다음 예제 정책에서 awexamplebucket을 S3 버킷 이름으로 바꾸세요. 또한 CreationDate, Owner, securityenvironment 태그 키를 해당 태그 키로 교체하세요.
  • CreateBucket API는 태그를 지원하지 않습니다.
  • PutBucketTagging API를 사용하여 생성한 버킷에 태그를 추가할 수 있습니다.
  • Amazon S3는 객체 리소스에 대해서만 태그 기반 인증을 지원합니다.

ID 기반 정책을 사용하여 사용자가 특정 태그와 키 값을 가진 객체만 읽을 수 있도록 허용합니다.

다음 ID 기반 정책은 awsexamplebucket1 버킷과 버킷에 있는 모든 개체에 대해 s3:GetObject 권한을 부여합니다. 이 정책은 s3:ExistingObjectTag 조건을 사용하여 security: public 키-값 쌍이 있는 개체에 대해서만 액세스를 제한합니다.

{  
    "Version": "2012-10-17",  
    "Statement": [  
        {  
            "Effect": "Allow",  
            "Action": "s3:GetObject",  
            "Resource": "arn:aws:s3:::awsexamplebucket1/*",  
            "Condition": {  
                "StringEquals": {  
                    "s3:ExistingObjectTag/security": "public"  
                }  
            }  
        }  
    ]  
}

ID 기반 정책을 사용하여 사용자가 추가할 수 있는 객체 태그 키를 제한합니다.

다음 ID 기반 정책은 사용자가 awexamplebucket 버킷의 객체에 추가할 수 있는 태그 키를 제한합니다. 사용자는 Owner 또는 CreationDate 키가 있는 태그만 추가할 수 있습니다. 사용자가 객체에 추가할 수 있는 태그 키를 제어하면 버킷 객체에 대해 일관된 태깅 체계를 유지할 수 있습니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "s3:PutObjectTagging",
            "Resource": "arn:aws:s3:::awsexamplebucket1/*",
            "Condition": {
                "ForAllValues:StringLike": {
                    "s3:RequestObjectTagKeys": [
                        "Owner",
                        "CreationDate"
                    ]
                }
            }
        }
    ]
}

버킷 정책을 사용하여 사용자가 특정 태그와 키가 있는 객체만 읽을 수 있도록 허용합니다.

다음 버킷 정책은 사용자가 environment: production 키-값 쌍만 읽을 수 있도록 허용합니다. 정책은 s3:ExistingObjectTag 조건 키를 사용하여 키-값 쌍을 지정합니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/JohnDoe"
                ]
            },
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::awsexamplebucket/*",
            "Condition": {
                "StringEquals": {
                    "s3:ExistingObjectTag/environment": "production"
                }
            }
        }
    ]
}

버킷 정책을 사용하여 사용자가 객체에 추가할 수 있는 객체 태그 키를 제한합니다.

다음 버킷 정책은 사용자가 awexamplebucket 버킷의 객체에 추가할 수 있는 태그 키를 제한합니다. 사용자는 Owner 또는 CreationDate 키가 있는 태그만 추가할 수 있습니다. 사용자가 객체에 추가할 수 있는 태그 키를 제어하면 버킷 객체에 대해 일관된 태깅 체계를 유지할 수 있습니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/JohnDoe"
                ]
            },
            "Effect": "Allow",
            "Action": [
                "s3:PutObjectTagging"
            ],
            "Resource": [
                "arn:aws:s3:::awsexamplebucket*"
            ],
            "Condition": {
                "ForAllValues:StringEquals": {
                    "s3:RequestObjectTagKeys": [
                        "Owner",
                        "CreationDate"
                    ]
                }
            }
        }
    ]
}
AWS 공식업데이트됨 2년 전