Amazon S3 Glacier에 대한 자격 증명 기반 정책(IAM 정책) 사용 - Amazon S3 Glacier

Amazon S3 Glacier에 대한 자격 증명 기반 정책(IAM 정책) 사용

이 단원에서는 계정 관리자가 IAM 자격 증명(즉 사용자, 그룹, 역할)에 권한 정책을 연결할 수 있는 자격 증명 기반 정책의 예를 제시합니다.

중요

Amazon S3 Glacier(S3 Glacier) 리소스에 대한 액세스 관리를 위해 제공되는 기본 개념과 옵션 설명에 대한 소개 주제 부분을 우선 읽어 보는 것이 좋습니다. 자세한 내용은 Amazon S3 Glacier 리소스에 대한 액세스 권한 관리 개요 단원을 참조하십시오.

이 주제의 단원에서는 다음 내용을 학습합니다.

다음은 권한 정책의 예입니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glacier:CreateVault", "glacier:DescribeVault", "glacier:ListVaults" ], "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/*" } ] }

위 정책은 us-west-2 AWS 리전에 속하는 볼트를 모두 식별할 수 있는 Amazon 리소스 이름(ARN)을 사용하여 리소스에 대한 3가지 S3 Glacier 볼트 작업(glacier:CreateVault, glacier:DescribeVault, glacier:ListVaults) 권한을 부여합니다.

ARN 끝에 있는 와일드카드 문자(*)는 이 문이 모든 볼트 이름과 일치할 수 있다는 것을 의미합니다. 즉, 지정한 AWS 리전인 glacier:DescribeVault에 속하는 볼트라면 모두 us-west-2 작업이 가능합니다. 이 작업 권한을 특정 볼트로 제한하고 싶다면 와일드카드 문자(*)를 원하는 볼트 이름으로 바꾸기만 하면 됩니다.

Amazon S3 Glacier 콘솔 사용에 필요한 권한

S3 Glacier 콘솔은 S3 Glacier 볼트를 생성하고 관리하기 위한 통합 환경을 제공합니다. 생성하는 IAM 사용자에게는 적어도 다음 예제와 같이 S3 Glacier 콘솔을 볼 수 있는 glacier:ListVaults 작업 권한이 부여되어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "glacier:ListVaults" ], "Effect": "Allow", "Resource": "*" } ] }

다음 단원에서 언급하는 S3 Glacier AWS 관리형 정책 두 가지가 glacier:ListVaults 작업 권한을 부여합니다.

Amazon S3 Glacier용 AWS 관리형 정책(사전 정의된 정책)

AWS는 AWS에서 생성하고 관리하는 독립형 IAM 정책을 제공하여 많은 일반 사용 사례를 처리합니다. 관리형 정책은 사용자가 필요한 권한을 조사할 필요가 없도록 일반 사용 사례에 필요한 권한을 부여합니다. 자세한 내용은 IAM 사용 설명서AWS 관리형 정책 단원을 참조하십시오.

계정의 사용자에게 연결할 수 있는 다음 AWS 관리형 정책은 S3 Glacier에 고유합니다.

  • AmazonGlacierReadOnlyAccess – AWS Management 콘솔을 통해 S3 Glacier에 대한 읽기 전용 액세스 권한을 부여합니다.

  • AmazonGlacierFullAccess – AWS Management 콘솔을 통해 S3 Glacier에 대한 모든 액세스 권한을 부여합니다.

참고

IAM 콘솔에 로그인하고 이 콘솔에서 특정 정책을 검색하여 이러한 권한 정책을 검토할 수 있습니다.

S3 Glacier API 작업 및 리소스에 대한 권한을 허용하는 고유의 사용자 지정 IAM 정책을 생성할 수도 있습니다. 이러한 사용자 지정 정책을 해당 권한이 필요한 IAM 사용자 또는 그룹에 연결하거나 S3 Glacier 볼트에 대해 생성하는 사용자 지정 실행 역할(IAM 역할)에 연결할 수 있습니다.

고객 관리형 정책 예

이 단원에서는 다양한 S3 Glacier 작업에 대한 권한을 부여하는 사용자 정책의 예를 제공합니다. 이러한 정책은 S3 Glacier REST API, AWS SDK, AWS CLI 또는 그 외에 해당되는 경우에 한해 S3 Glacier 관리 콘솔을 사용할 때 유효합니다.

참고

모든 예제는 미국 서부(오레곤) 리전(us-west-2)을 사용하며 가상의 계정 ID를 포함합니다.

예제 1: 사용자가 볼트에서 아카이브를 다운로드할 수 있도록 허용

아카이브를 다운로드하려면 먼저 아카이브를 가져오는 작업부터 시작합니다. 가져오기 작업을 먼저 마쳐야만 데이터를 다운로드할 수 있습니다. 아래 정책 예제는 작업(사용자가 볼트에서 아카이브 또는 볼트 인벤토리를 가져올 수 있는 작업)을 시작할 수 있는 glacier:InitiateJob 권한과 가져온 데이터를 다운로드할 수 있는 glacier:GetJobOutput 권한을 부여합니다. 또한 사용자가 작업 상태를 가져올 수 있는 glacier:DescribeJob 권한도 부여합니다. 자세한 내용은 작업 시작(POST jobs)를 참조하십시오.

이 정책은 이름이 examplevault인 볼트와 관련하여 위와 같은 권한을 부여합니다. 볼트 ARN은 Amazon S3 Glacier 콘솔에서, 혹은 볼트 설명(GET vault) 또는 볼트 목록 조회(GET vaults) API 작업을 호출하여 프로그래밍 방식으로 가져올 수 있습니다.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault", "Action":["glacier:InitiateJob", "glacier:GetJobOutput", "glacier:DescribeJob"] } ] }

예제 2: 사용자가 볼트를 생성한 후 알림을 구성할 수 있도록 허용

아래 정책 예제는 Resource 요소에서 지정한 것과 같이 볼트를 us-west-2 리전에 생성하고 알림을 구성할 수 있는 권한을 부여합니다. 알림 작업에 대한 자세한 내용은 Amazon S3 Glacier의 볼트 알림 구성 단원을 참조하십시오. 그 밖에 리전에 속한 볼트 목록을 조회하고 특정 볼트 설명을 가져오는 권한도 부여합니다.

중요

glacier:CreateVault 작업을 사용하여 볼트 생성 권한을 부여할 때는 볼트를 생성할 때까지 볼트 이름을 모르기 때문에 Resource 값에 와일드카드 문자(*)를 반드시 지정해야 합니다.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/*", "Action":["glacier:CreateVault", "glacier:SetVaultNotifications", "glacier:GetVaultNotifications", "glacier:DeleteVaultNotifications", "glacier:DescribeVault", "glacier:ListVaults"] } ] }

예제 3: 사용자가 아카이브를 특정 볼트로 업로드하도록 허용

아래 정책 예제는 아카이브를 us-west-2 리전에 속한 특정 볼트로 업로드할 수 있는 권한을 부여합니다. 이 권한이 부여된 사용자는 아카이브 업로드(POST archive) API 작업을 사용하여 한 번에 아카이브 전체를 업로드하거나, 혹은 멀티파트 업로드 시작(POST multipart-uploads) API 작업을 사용하여 여러 파트로 나누어 업로드할 수 있습니다.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault", "Action":["glacier:UploadArchive", "glacier:InitiateMultipartUpload", "glacier:UploadMultipartPart", "glacier:ListParts", "glacier:ListMultipartUploads", "glacier:CompleteMultipartUpload"] } ] }

예제 4: 사용자에게 특정 볼트에 대한 모든 권한 허용

아래 정책 예제는 이름이 examplevault인 볼트와 관련하여 모든 S3 Glacier 작업 권한을 부여합니다.

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Resource": "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault", "Action":["glacier:*"] } ] }