Amazon S3 Glacier의 자격 증명 기반 정책 예시 - Amazon S3 Glacier

이 페이지는 Vaults와 2012RESTAPI년의 원본을 사용하는 S3 Glacier 서비스의 기존 고객만 사용할 수 있습니다.

아카이브 스토리지 솔루션을 찾고 있다면 Amazon S3, S3 Glacier Instant Retrieval , S33 S3 Glacier Flexible Retrieval 및 S3 Glacier Deep Archive 의 S3 Glacier 스토리지 클래스를 사용하는 것이 좋습니다. Amazon S3 이러한 스토리지 옵션에 대한 자세한 내용은 Amazon S3 사용 설명서의 S3 Glacier 스토리지 클래스 S3 Glacier 스토리지 클래스를 사용하는 장기 데이터 스토리지를 참조하세요. Amazon S3 이러한 스토리지 클래스는 Amazon S3 를 사용하며API, 모든 리전에서 사용할 수 있고, Amazon S3 콘솔 내에서 관리할 수 있습니다. 스토리지 비용 분석, 스토리지 렌즈, 고급 선택적 암호화 기능 등과 같은 기능을 제공합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon S3 Glacier의 자격 증명 기반 정책 예시

기본적으로 사용자 및 역할에는 S3 Glacier 리소스를 생성하거나 수정할 수 있는 권한이 없습니다. 또한 AWS Management Console, AWS Command Line Interface (AWS CLI) 또는 를 사용하여 작업을 수행할 수 없습니다 AWS API. 사용자에게 필요한 리소스에 대한 작업을 수행할 수 있는 권한을 부여하기 위해 IAM 관리자는 IAM 정책을 생성할 수 있습니다. 그런 다음 관리자는 IAM 정책을 역할에 추가하고 사용자는 역할을 수임할 수 있습니다.

이러한 예제 정책 문서를 사용하여 IAM 자격 증명 기반 JSON 정책을 생성하는 방법을 알아보려면 IAM 사용 설명서 IAM 정책 생성(콘솔)을 참조하세요.

각 리소스 유형에 ARNs 대한 형식 등 S3 Glacier에서 정의한 작업 및 리소스 유형에 대한 자세한 내용은 서비스 승인 참조 Amazon S3 Glacier에 대한 작업, 리소스 및 조건 키를 참조하세요.

다음은 us-west-2 AWS 리전의 모든 볼트를 식별하는 Amazon 리소스 이름(glacier:ListVaults)을 사용하여 리소스에 대한 세 가지 S3 Glacier 볼트 관련 작업(,glacier:CreateVault glacier:DescribeVault 및 ARN)에 대한 권한을 부여하는 예제 정책입니다. ARNs AWS 리소스를 고유하게 식별합니다. S3 Glacier와 함께 ARNs 사용하는 방법에 대한 자세한 내용은 섹션을 참조하세요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 리전에서 볼트를 생성하거나, 목록을 조회하거나, 가져오는 권한을 부여합니다. 끝에 있는 와일드카드 문자(*)는 이 문이 모든 볼트 이름과 일치할 수 있음을 ARN 의미합니다.

중요

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

정책 모범 사례

자격 증명 기반 정책에 따라 계정에서 사용자가 S3 Glacier 리소스를 생성, 액세스, 삭제할 수 있는지 여부가 결정됩니다. 이 작업으로 인해 AWS 계정에 비용이 발생할 수 있습니다. ID 기반 정책을 생성하거나 편집할 때는 다음 지침과 권장 사항을 따릅니다.

  • AWS 관리형 정책을 시작하고 최소 권한 권한으로 전환 - 사용자 및 워크로드에 권한 부여를 시작하려면 많은 일반적인 사용 사례에 대한 권한을 부여하는 AWS 관리형 정책을 사용합니다. 에서 사용할 수 있습니다 AWS 계정. 사용 사례에 맞는 AWS 고객 관리형 정책을 정의하여 권한을 추가로 줄이는 것이 좋습니다. 자세한 내용은 IAM 사용 설명서AWS 관리형 정책 또는 AWS 작업 함수에 대한 관리형 정책을 참조하세요.

  • 최소 권한 적용 - IAM 정책으로 권한을 설정할 때 작업을 수행하는 데 필요한 권한만 부여합니다. 이렇게 하려면 최소 권한으로 알려진 특정 조건에서 특정 리소스에 대해 수행할 수 있는 작업을 정의합니다. 를 사용하여 권한을 적용하는 IAM 방법에 대한 자세한 내용은 IAM 사용 설명서의 에서 정책 및 권한을 IAM 참조하세요.

  • IAM 정책의 조건을 사용하여 액세스 추가 제한 - 정책에 조건을 추가하여 작업 및 리소스에 대한 액세스를 제한할 수 있습니다. 예를 들어 정책 조건을 작성하여 를 사용하여 모든 요청을 전송하도록 지정할 수 있습니다SSL. AWS 서비스와 같은 특정 를 통해 서비스 작업을 사용하는 경우 조건을 사용하여 서비스 작업에 대한 액세스 권한을 부여할 수도 있습니다 AWS CloudFormation. 자세한 내용은 IAM 사용 설명서 IAM JSON 정책 요소: 조건을 참조하세요.

  • IAM Access Analyzer를 사용하여 IAM 정책을 검증하여 안전하고 기능적인 권한을 보장합니다. IAM Access Analyzer는 정책이 정책 언어(JSON) 및 IAM 모범 사례를 준수하도록 새 정책 및 기존 IAM 정책을 검증합니다. IAM Access Analyzer는 안전하고 기능적인 정책을 작성하는 데 도움이 되는 100개 이상의 정책 확인 및 실행 가능한 권장 사항을 제공합니다. 자세한 내용은 IAM 사용 설명서 IAM Access Analyzer를 사용한 정책 검증을 참조하세요.

  • 다중 인증 필요(MFA) - 에 IAM 사용자 또는 루트 사용자가 필요한 시나리오가 있는 경우 추가 보안을 MFA 위해 를 AWS 계정켭니다. API 작업을 호출할 MFA 때 를 요구하려면 정책에 MFA 조건을 추가합니다. 자세한 내용은 IAM 사용 설명서의 를 사용한 보안 API 액세스를 MFA 참조하세요.

의 모범 사례에 대한 자세한 내용은 IAM 사용 설명서의 의 보안 모범 사례를 IAM IAM참조하세요.

S3 Glacier 콘솔 사용

Amazon S3 Glacier 콘솔에 액세스하려면 최소한의 권한 세트가 있어야 합니다. 이 권한은 AWS 계정에서 S3 Glacier 리소스에 대한 세부 정보를 나열하고 볼 수 있도록 허용해야 합니다. 최소 필수 권한보다 더 제한적인 자격 증명 기반 정책을 만들면 콘솔이 해당 정책에 연결된 엔터티(사용자 또는 역할)에 대해 의도대로 작동하지 않습니다.

AWS CLI 또는 에만 전화를 거는 사용자에 대해 최소 콘솔 권한을 허용할 필요는 없습니다 AWS API. 대신 수행하려는 API 작업과 일치하는 작업에만 액세스할 수 있도록 허용합니다.

S3 Glacier 콘솔은 S3 Glacier 볼트를 생성하고 관리하기 위한 통합 환경을 제공합니다. 다음 예제와 같이 생성한 IAM 자격 증명에 대해 glacier:ListVaults S3 Glacier 콘솔을 볼 수 있는 권한을 부여해야 합니다.

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

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

계정의 사용자에게 연결할 수 있는 다음과 같은 AWS 관리형 정책은 S3 Glacier에만 적용됩니다.

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

  • AmazonGlacierFullAccess – 를 통해 S3 Glacier에 대한 전체 액세스 권한을 부여합니다 AWS Management Console.

S3 Glacier API 작업 및 리소스에 대한 권한을 허용하는 사용자 지정 IAM 정책을 생성할 수도 있습니다. 이러한 사용자 지정 정책을 S3 Glacier 볼트에 대해 생성한 사용자 지정 IAM 역할에 연결할 수 있습니다.

다음 섹션에서 설명한 두 S3 Glacier AWS 관리형 정책 모두 에 대한 권한을 부여합니다glacier:ListVaults.

자세한 내용은 IAM 사용 설명서사용자에게 권한 추가를 참조하세요.

사용자가 자신의 고유한 권한을 볼 수 있도록 허용

이 예제에서는 IAM 사용자가 사용자 ID에 연결된 인라인 및 관리형 정책을 볼 수 있도록 허용하는 정책을 생성하는 방법을 보여줍니다. 이 정책에는 콘솔에서 또는 AWS CLI 를 사용하여 프로그래밍 방식으로 이 작업을 완료할 수 있는 권한이 포함되어 있습니다 AWS API.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

고객 관리형 정책 예

이 섹션에서는 다양한 S3 Glacier 작업에 대한 권한을 부여하는 사용자 정책 예시를 제공합니다. 이러한 정책은 S3 Glacier REST API, Amazon SDKs AWS CLI, 또는 해당하는 경우 S3 Glacier 관리 콘솔을 사용할 때 작동합니다.

참고

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

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

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

이 정책은 이름이 examplevault인 볼트와 관련하여 위와 같은 권한을 부여합니다. Amazon S3 Glacier 콘솔 ARN에서 볼트를 가져오거나 볼트 설명(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의 볼트 알림 구성 단원을 참조하십시오. 또한 정책은 AWS 리전의 볼트를 나열하고 특정 볼트 설명을 가져올 수 있는 권한을 부여합니다.

중요

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:*"] } ] }