거부 정책을 사용하여 Amazon QuickSight가 S3 버킷에 액세스할 수 있도록 허용하려면 어떻게 해야 하나요?

2분 분량
0

Amazon Simple Storage Service(S3) 버킷 정책이 Amazon QuickSight에서의 액세스를 허용하는지 확인하고 싶습니다.

간략한 설명

Amazon S3 버킷이 거부 정책을 적용하는 경우, 해당 정책은 Amazon QuickSight 콘솔에서 지정하는 모든 S3 권한에 우선합니다. Amazon QuickSight가 S3 버킷에 액세스할 수 있도록 설정하려면 거부 정책에서 Amazon QuickSight 서비스 역할(aws-quicksight-service-role-v0)을 예외로 추가하세요.

해결 방법

1.    Amazon QuickSight이 S3 버킷으로의 액세스 권한이 있는지 확인하세요.

2.    AWS Command Line Interface(AWS CLI) 또는 AWS Identity and Access Management(IAM) API를 사용하여 aws-quicksight-service-role-v0 역할에 대한 고유 ID를 발급합니다. 각 Amazon QuickSight 계정은 고유한 ID를 사용합니다. 예를 들면 다음과 같습니다.

aws iam get-role --role-name aws-quicksight-service-role-v0 --query 'Role.RoleId' --output json
"AROAEXAMPLEID"

참고: AWS CLI 명령을 실행하는 경우 오류가 발생하면 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.

3.    Amazon S3 콘솔을 엽니다.

4.    Amazon QuickSight를 사용하여 액세스하려는 버킷을 선택합니다.

5.    권한 보기를 선택합니다.

6.    버킷 정책을 선택합니다.

7.    이 예제와 비슷한 버킷 정책을 입력합니다. AROAEXAMPLEID를 고유 ID로 바꾸세요. IAM 사용자에 예외를 추가하려면 AIDAEXAMPLEUSERIDIAM 사용자 고유 ID로 바꾸세요. IAM 사용자 정책에는 S3 버킷에 대한 허용문이 포함되어야 합니다. 예를 들면 다음과 같습니다.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Deny",
      "Principal": "*",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::examplebucketname",
        "arn:aws:s3:::examplebucketname/*"
      ],
      "Condition": {
        "StringNotLike": {
          "aws:userid": [
            "AROAEXAMPLEID:*",
            "AIDAEXAMPLEUSERID"
          ]
        }
      }
    }
  ]
}

거부 정책은 Amazon QuickSight 서비스 역할 및 IAM 사용자에 대한 예외를 추가합니다.

**참고:**Amazon QuickSight 서비스 역할과 IAM 사용자를 삭제하면 버킷에서 잠기게 됩니다. 이 문제를 해결하려면 AWS 계정 루트 사용자로 로그인 한 후 delete-bucket-policy 명령을 통해 버킷 정책을 삭제합니다.

관련 정보

Amazon S3 버킷 액세스를 지정 IAM 역할로 제한하는 방법

AWS 공식
AWS 공식업데이트됨 일 년 전