IAM을 사용하여 EBS 다이렉트 API에 대한 액세스 제어 - Amazon EBS

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

IAM을 사용하여 EBS 다이렉트 API에 대한 액세스 제어

사용자는 다음 정책이 있어야 EBS 다이렉트 API를 사용할 수 있습니다. 자세한 내용은 IAM 사용자의 권한 변경을 참조하세요.

IAM 권한 정책에 사용할 수 있는 EBS 다이렉트 API 리소스, 작업 및 조건 컨텍스트 키에 대한 자세한 내용은 서비스 승인 참조에서 Amazon Elastic Block Store에 사용되는 작업, 리소스 및 조건 키를 참조하세요.

중요

사용자에게 다음 정책을 할당할 때는 주의해야 합니다. 이 정책을 할당하면 CopySnapshot 또는 CreateVolume 작업과 같은 Amazon EC2 API를 통해 동일한 리소스에 액세스하는 것이 거부된 사용자에게 액세스 권한을 부여할 수 있습니다.

다음 정책은 읽기 EBS 다이렉트 APIs 특정 AWS 리전의 모든 스냅샷에 사용할 수 있도록 허용합니다. 정책에서 <Region>을 스냅샷의 리전으로 바꾸십시오.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:ListSnapshotBlocks", "ebs:ListChangedBlocks", "ebs:GetSnapshotBlock" ], "Resource": "arn:aws:ec2:<Region>::snapshot/*" } ] }

다음 정책은 특정 키-값 태그가 있는 스냅샷에 읽기 EBS 다이렉트 API를 사용할 수 있도록 허용합니다. 정책에서 <Key>를 태그의 키 값으로 바꾸고 <Value>를 태그 값으로 바꾸십시오.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:ListSnapshotBlocks", "ebs:ListChangedBlocks", "ebs:GetSnapshotBlock" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/<Key>": "<Value>" } } } ] }

다음 정책은 특정 시간 범위 내에서만 계정의 모든 스냅샷에 읽기 EBS 다이렉트 API를 사용할 수 있도록 허용합니다. 이 정책은 aws:CurrentTime 전역 조건 키를 기반으로 EBS 다이렉트 API를 사용할 수 있는 권한을 부여합니다. 정책에서 표시된 날짜 및 시간 범위를 정책의 날짜 및 시간 범위로 바꿔야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:ListSnapshotBlocks", "ebs:ListChangedBlocks", "ebs:GetSnapshotBlock" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "DateGreaterThan": { "aws:CurrentTime": "2018-05-29T00:00:00Z" }, "DateLessThan": { "aws:CurrentTime": "2020-05-29T23:59:59Z" } } } ] }

자세한 내용은 IAM 사용 설명서의 사용자의 권한 변경을 참조하세요.

다음 정책은 쓰기 EBS 다이렉트 APIs 특정 AWS 리전의 모든 스냅샷에 사용할 수 있도록 허용합니다. 정책에서 <Region>을 스냅샷의 리전으로 바꾸십시오.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:StartSnapshot", "ebs:PutSnapshotBlock", "ebs:CompleteSnapshot" ], "Resource": "arn:aws:ec2:<Region>::snapshot/*" } ] }

다음 정책은 특정 키-값 태그가 있는 스냅샷에 쓰기 EBS 다이렉트 API를 사용할 수 있도록 허용합니다. 정책에서 <Key>를 태그의 키 값으로 바꾸고 <Value>를 태그 값으로 바꾸십시오.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:StartSnapshot", "ebs:PutSnapshotBlock", "ebs:CompleteSnapshot" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/<Key>": "<Value>" } } } ] }

다음 정책은 모든 EBS 다이렉트 API를 사용할 수 있도록 허용합니다. 또한 상위 스냅샷 ID가 지정된 경우에 한해 StartSnapshot 작업을 허용합니다. 즉, 이 정책은 상위 스냅샷을 사용하지 않고는 새 스냅샷을 시작하지 못하도록 차단합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ebs:*", "Resource": "*", "Condition": { "StringEquals": { "ebs:ParentSnapshot": "arn:aws:ec2:*::snapshot/*" } } } ] }

다음 정책은 모든 EBS 다이렉트 API를 사용할 수 있도록 허용합니다. 또한 새 스냅샷에 대해 user 태그 키만 생성할 수 있도록 합니다. 또한 이 정책은 사용자가 태그를 생성할 수 있는 액세스 권한을 갖도록 합니다. StartSnapshot 작업은 태그를 지정할 수 있는 유일한 작업입니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ebs:*", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": "user" } } }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*" } ] }

다음 정책은 특정 시간 범위 내에서만 계정의 모든 스냅샷에 쓰기 EBS 다이렉트 API를 사용할 수 있도록 허용합니다. 이 정책은 aws:CurrentTime 전역 조건 키를 기반으로 EBS 다이렉트 API를 사용할 수 있는 권한을 부여합니다. 정책에서 표시된 날짜 및 시간 범위를 정책의 날짜 및 시간 범위로 바꿔야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ebs:StartSnapshot", "ebs:PutSnapshotBlock", "ebs:CompleteSnapshot" ], "Resource": "arn:aws:ec2:*::snapshot/*", "Condition": { "DateGreaterThan": { "aws:CurrentTime": "2018-05-29T00:00:00Z" }, "DateLessThan": { "aws:CurrentTime": "2020-05-29T23:59:59Z" } } } ] }

자세한 내용은 IAM 사용 설명서의 사용자의 권한 변경을 참조하세요.

다음 정책은 특정 KMS 키를 사용하여 암호화된 스냅샷을 해독할 수 있는 권한을 부여합니다. 또한 EBS 암호화를 위한 기본 KMS 키를 사용하여 새 스냅샷을 암호화할 수 있는 권한을 부여합니다. 정책에서 <Region>을 KMS 키의 리전으로 바꾸고, <AccountId>를 KMS 키의 AWS 계정 ID로 바꾸고, <KeyId>를 KMS 키의 ID로 바꿉니다.

참고

기본적으로 계정의 모든 보안 주체는 Amazon EBS 암호화를 위한 기본 AWS 관리형 KMS 키에 액세스할 수 있으며 EBS 암호화 및 복호화 작업에 사용할 수 있습니다. 고객 관리형 키를 사용하는 경우 고객 관리형 키에 대한 보안 주체 액세스 권한을 부여하려면 고객 관리형 키에 대한 새 키 정책을 생성하거나 기존 키 정책을 수정해야 합니다. 자세한 내용은AWS Key Management Service 개발자 안내서AWS KMS의 키 정책을 참조하세요.

작은 정보

최소 권한의 원칙을 따르려면 kms:CreateGrant에 대한 전체 액세스 권한을 허용하지 마세요. 대신 다음 예제와 같이 kms:GrantIsForAWSResource 조건 키를 사용하여 AWS 사용자가 서비스에 의해 사용자를 대신하여 권한 부여가 생성되는 경우에만 KMS 키에 대한 권한 부여를 생성할 수 있도록 허용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext", "kms:ReEncrypt*", "kms:CreateGrant", "ec2:CreateTags", "kms:DescribeKey" ], "Resource": "arn:aws:kms:<Region>:<AccountId>:key/<KeyId>", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } } ] }

자세한 내용은 IAM 사용 설명서의 사용자의 권한 변경을 참조하세요.