거부 정책이 있는 Amazon QuickSight에서 S3 버킷에 액세스하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 9월 18일

Amazon Simple Storage Service(Amazon S3) 버킷 정책에서 Amazon QuickSight의 액세스를 허용하려면 어떻게 해야 합니까?

간략한 설명

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

​해결 방법

1.    Amazon QuickSight에 S3 버킷에 액세스할 수 있는 권한이 있는 확인합니다.

2.    AWS CLI(명령줄 인터페이스) 또는 AWS Identity and Access Management(IAM) API를 사용하여 aws-quicksight-service-role-v0에 대한 고유 ID를 가져옵니다. ID는 각 Amazon QuickSight 계정에 대해 고유합니다. 예:

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.    권한(Permissions) 보기를 선택합니다.

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

7.    다음 예제와 비슷한 버킷 정책을 입력합니다. AROAEXAMPLEID를 고유 ID로 바꿉니다. IAM 사용자에 대한 예외를 추가하려는 경우 AIDAEXAMPLEUSERIDIAM 사용자의 고유 ID로 대체합니다. IAM 사용자 정책은 S3 버킷에 대한 Allow 문도 포함해야 합니다. 예:

{
  "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 명령을 사용하여 버킷 정책을 삭제합니다.


이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?