Amazon S3 리소스에 액세스할 수 있는 IAM 정책 생성 - Amazon Aurora

Amazon S3 리소스에 액세스할 수 있는 IAM 정책 생성

Aurora는 Aurora DB 클러스터로 데이터를 로드하거나 Aurora DB 클러스터로부터 데이터를 저장하기 위해 Amazon S3 리소스에 액세스할 수 있습니다. 하지만 Aurora가 Amazon S3에 액세스하도록 허용하는 버킷 및 객체 권한을 제공하는 IAM 정책을 먼저 생성해야 합니다.

다음 표에는 사용자 대신 Amazon S3 버킷에 액세스할 수 있는 Aurora 기능과 각 기능에 요구되는 최소 필요 버킷 및 객체 권한이 나와 있습니다.

기능 버킷 권한 객체 권한

LOAD DATA FROM S3

ListBucket

GetObject

GetObjectVersion

LOAD XML FROM S3

ListBucket

GetObject

GetObjectVersion

SELECT INTO OUTFILE S3

ListBucket

AbortMultipartUpload

DeleteObject

GetObject

ListMultipartUploadParts

PutObject

다음 정책은 Aurora에서 사용자를 대신하여 Amazon S3 버킷에 액세스하는 데 필요할 수 있는 권한을 추가합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAuroraToExampleBucket", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:AbortMultipartUpload", "s3:ListBucket", "s3:DeleteObject", "s3:GetObjectVersion", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/*", "arn:aws:s3:::amzn-s3-demo-bucket" ] } ] }
참고

Resource 값에 두 항목을 모두 포함해야 합니다. Aurora에는 버킷 자체와 버킷 내부의 모든 객체에 대한 권한이 필요합니다.

사용 사례에 따라 샘플 정책에 모든 권한을 추가하지 않아도 됩니다. 또한 다른 권한이 필요할 수 있습니다. 예를 들어 Amazon S3 버킷이 암호화된 경우에는 kms:Decrypt 권한을 추가해야 합니다.

다음 단계를 사용하여 사용자를 대신하여 Amazon S3 버킷에 액세스하는 데 필요한 최소 권한을 Aurora에 제공하는 IAM 정책을 생성할 수 있습니다. Aurora이 모든 Amazon S3 버킷에 액세스할 수 있도록 허용하려면 이러한 단계를 건너뛰고 직접 생성하지 않고 AmazonS3ReadOnlyAccess 또는 AmazonS3FullAccess 미리 정의된 IAM 정책을 사용하십시오.

Amazon S3 리소스에 대한 액세스 권한을 부여하는 IAM 정책 생성 방법
  1. IAM 관리 콘솔을 엽니다.

  2. 탐색 창에서 정책을 선택합니다.

  3. [Create policy]를 선택합니다.

  4. [Visual editor] 탭에서 [Choose a service]를 선택한 다음 [S3]을 선택합니다.

  5. 작업에서 Expand all(모두 확장)을 선택한 다음 IAM 정책에 필요한 버킷 권한 및 객체 권한을 선택합니다.

    객체 권한은 Amazon S3의 객체 작업에 대한 권한으로, 버킷 자체가 아닌 버킷의 객체에 대해 부여해야 합니다. Amazon S3의 객체 작업의 권한에 대한 자세한 내용은 객체 작업에 대한 권한을 참조하십시오.

  6. 리소스를 선택하고 bucket(버킷)에 대해 Add ARN(ARN 추가)을 선택합니다.

  7. [Add ARN(s)] 대화 상자에서 리소스에 대한 세부 정보를 제공하고 [Add]를 선택합니다.

    액세스를 허용할 Amazon S3 버킷을 지정하십시오. 예를 들어, Aurora가 amzn-s3-demo-bucket이라는 Amazon S3 버킷에 액세스할 수 있게 허용하려면 Amazon 리소스 이름(ARN) 값을 arn:aws:s3:::amzn-s3-demo-bucket으로 설정하세요.

  8. [object] 리소스가 나열되면 객체에 대해 [Add ARN]을 선택합니다.

  9. [Add ARN(s)] 대화 상자에서 리소스에 대한 세부 정보를 제공합니다.

    Amazon S3 버킷의 경우 액세스를 허용할 Amazon S3 버킷을 지정하십시오. 객체의 경우 [Any]를 선택하여 버킷의 모든 객체에 권한을 허용할 수 있습니다.

    참고

    Amazon Resource Name(ARN)(Amazon 리소스 이름(ARN))을 더 구체적인 ARN 값으로 설정하여 Aurora에서 Amazon S3 버킷의 특정 파일 또는 폴더에만 액세스하도록 허용할 수 있습니다. Amazon S3에 대한 액세스 정책을 정의하는 방법에 대한 자세한 내용은 Amazon S3 리소스에 대한 액세스 권한 관리 단원을 참조하십시오.

  10. (선택 사항) 버킷에 대해 Add ARN(ARN 추가)를 선택하여 다른 Amazon S3 버킷을 정책에 추가하고 버킷에 대해 이전 단계를 반복합니다.

    참고

    이 단계를 반복하여 Aurora에서 액세스할 각 Amazon S3 버킷의 정책에 해당 버킷 권한 설명문을 추가할 수 있습니다. 또는 Amazon S3의 모든 버킷 및 객체에 대한 액세스 권한을 부여할 수도 있습니다.

  11. 정책 검토를 선택합니다.

  12. 이름에서 IAM 정책의 이름을 입력합니다(예: AllowAuroraToExampleBucket). IAM 역할을 만들어 Aurora DB 클러스터와 연결할 때 이 이름을 사용합니다. Description 값(선택 사항)을 추가할 수도 있습니다.

  13. [Create policy]를 선택합니다.

  14. Amazon Aurora에서 AWS 서비스에 액세스하도록 허용하는 IAM 역할 생성의 단계를 수행합니다.