볼트 잠금 정책을 사용하는 Amazon S3 Glacier 액세스 제어 - Amazon S3 Glacier

볼트 잠금 정책을 사용하는 Amazon S3 Glacier 액세스 제어

Amazon S3 Glacier(S3 Glacier) 볼트는 각각 리소스 기반 볼트 액세스 정책 1개와 볼트 잠금 정책 1개를 연결할 수 있습니다. 볼트 잠금 정책은 잠글 수 있는 볼트 액세스 정책입니다. 볼트 잠금 정책을 사용하면 규제 및 규정 준수 요구 사항을 쉽게 만족할 수 있습니다. Amazon S3 Glacier은 볼트 잠금 정책을 관리하는 다양한 API 작업을 제공합니다. 자세한 내용은 Amazon S3 Glacier API를 사용하는 볼트 잠금 단원을 참조하십시오.

볼트 잠금 정책의 예를 들자면, 아카이브를 삭제하기 전에 1년간 저장해야 한다고 가정하겠습니다. 이러한 요건을 만족하려면 먼저 아카이브를 1년간 저장할 때까지 사용자가 아카이브를 삭제하지 못하도록 볼트 잠금 정책을 생성해야 합니다. 생성된 정책은 고정하기 전에 테스트할 수 있습니다. 일단 고정된 정책은 변경할 수 없습니다. 잠금 프로세스에 대한 자세한 내용은 Amazon S3 Glacier 볼트 잠금 단원을 참조하십시오. 그 밖에 변경 가능한 사용자 권한을 관리하려면 볼트 액세스 정책을 사용할 수 있습니다(Amazon S3 Glacier 액세스 정책과 볼트 액세스 정책 참조).

볼트 잠금 정책은 S3 Glacier API, AWS SDK, AWS CLI 또는 S3 Glacier 콘솔을 사용하여 생성하거나 관리할 수 있습니다. 볼트 리소스 기반 정책에서 허용되는 S3 Glacier 작업 목록은 Amazon S3 Glacier API 권한: 작업, 리소스 및 조건 참조 단원을 참조하십시오.

예제 1: 365일이 지나지 않은 아카이브에 대한 삭제 권한 거부

예를 들어 규제 요건에 따라 아카이브를 삭제하기 전에 최대 1년까지 저장해야 한다고 가정하겠습니다. 이러한 요건은 다음 볼트 잠금 정책을 구현하여 만족할 수 있습니다. 이 정책에 따라 삭제하려는 아카이브의 저장 기간이 1년 미만인 경우에는 examplevault 볼트에 대한 glacier:DeleteArchive 작업이 거부됩니다. 아래 정책은 S3 Glacier 조건 키인 ArchiveAgeInDays를 사용하여 1년 저장 요건을 만족합니다.

{ "Version":"2012-10-17", "Statement":[ { "Sid": "deny-based-on-archive-age", "Principal": "*", "Effect": "Deny", "Action": "glacier:DeleteArchive", "Resource": [ "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault" ], "Condition": { "NumericLessThan" : { "glacier:ArchiveAgeInDays" : "365" } } } ] }

저장 기간이 1년 미만인 아카이브는 삭제할 수 있다는 시간 기반 저장 규칙이 있다고 가정하겠습니다. 또한 법적 조사 기간에는 아카이브를 삭제 또는 변경할 수 없도록 법적 보존을 무기한 설정해야 한다고 가정하겠습니다. 이 경우 법적 보존이 볼트 잠금 정책에서 지정한 시간 기반 저장 규칙보다 우선합니다.

다음 정책 예제에는 이러한 두 가지 정책을 적용할 수 있도록 2개의 문이 있습니다.

  • 첫 번째 문은 볼트를 잠가서 모든 사용자의 삭제 권한을 거부합니다. 이 잠금에서는 LegalHold 태그를 사용합니다.

  • 두 번째 문은 아카이브의 저장 기간이 365일 미만일 때 삭제 권한을 부여합니다. 하지만 아카이브의 저장 기간이 365일 미만이라고 해도 첫 번째 문의 조건에 부합될 경우 아무도 삭제할 수 없습니다.

{ "Version":"2012-10-17", "Statement":[ { "Sid": "lock-vault", "Principal": "*", "Effect": "Deny", "Action": [ "glacier:DeleteArchive" ], "Resource": [ "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault" ], "Condition": { "StringLike": { "glacier:ResourceTag/LegalHold": [ "true", "" ] } } }, { "Sid": "you-can-delete-archive-less-than-1-year-old", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Effect": "Allow", "Action": [ "glacier:DeleteArchive" ], "Resource": [ "arn:aws:glacier:us-west-2:123456789012:vaults/examplevault" ], "Condition": { "NumericLessThan": { "glacier:ArchiveAgeInDays": "365" } } } ] }