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

최종 업데이트 날짜: 2019년 4월 18일

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

간략한 설명

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

​해결 방법

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

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

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

"AROAEXAMPLEID"

각 Amazon QuickSight 계정 ID는 고유합니다. 이 고유 ID는 7단계에서 사용합니다.

3.    Amazon S3 콘솔을 엽니다.

4.    Amazon QuickSight로 액세스하려는 버킷을 선택합니다.

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

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

7.    다음 예와 비슷한 버킷 정책을 입력합니다. AROAEXAMPLEID를 2단계에서 가져온 고유 ID로 바꿉니다. IAM 사용자에 대한 예외도 추가하려는 경우 AIDAEXAMPLEUSERIDIAM 사용자의 고유 ID로 바꿉니다. IAM 사용자 정책은 S3 버킷에 대한 Allow 문도 포함해야 합니다. 자세한 내용은 예제: 버킷 중 하나에 대한 IAM 사용자 액세스 허용을 참조하십시오.

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


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

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?