다중 리전 키에 대한 액세스 제어 - AWS Key Management Service

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

다중 리전 키에 대한 액세스 제어

다중 리전 키를 사용하면 규정 준수, 재해 복구 및 백업 시나리오에서 단일 리전 키를 사용할 수 있습니다. 그러나 다중 리전 키의 보안 속성은 단일 리전 키의 보안 속성과 크게 다르기 때문에 다중 리전 키의 생성, 관리 및 사용을 승인할 때는 주의를 기울이는 것이 좋습니다.

참고

Resource 이제 필드에 와일드카드 문자가 있는 기존 IAM 정책 문이 단일 리전 키와 다중 리전 키 모두에 적용됩니다. 단일 리전 KMS 키 또는 다중 리전 키로 제한하려면 kms:MultiRegion 조건 키를 사용합니다.

단일 리전으로 충분할 경우 권한 부여 도구를 사용하여 다중 리전 키를 생성 및 사용할 수 없게 할 수 있습니다. 보안 주체가 필요한 에만 다중 리전 키를 복제하도록 허용합니다 AWS 리전 . 다중 리전 키에 대한 권한을 필요로 하는 보안 주체와 해당 키가 필요한 작업에 대해서만 부여합니다.

키 정책, IAM 정책 및 권한 부여를 사용하여 IAM 보안 주체가에서 다중 리전 키를 관리하고 사용하도록 허용할 수 있습니다 AWS 계정. 각 다중 리전 키는 고유한 키 ARN 및 키 정책이 있는 독립 리소스입니다. 각 키에 대한 키 정책을 설정 및 유지하고 신규 및 기존 IAM 정책이 권한 부여 전략을 구현하는지 확인해야 합니다.

다중 리전 키를 지원하려면 IAM 서비스 연결 역할을 AWS KMS 사용합니다. 이 역할은 AWS KMS 에게 공유 속성을 동기화하는 데 필요한 권한을 부여합니다. 자세한 내용은 다중 리전 키 AWS KMS 동기화 권한 부여 단원을 참조하십시오.

다중 리전 키에 대한 인증 기본 사항

다중 리전 키에 대한 키 정책 및 IAM 정책을 설계할 때는 다음 원칙을 고려하세요.

  • 키 정책 - 각 다중 리전 키는 자체 KMS 키 정책이 있는 독립 키 리소스입니다. 관련된 다중 리전 키 집합의 각 키에 동일하거나 다른 키 정책을 적용할 수 있습니다. 키 정책은 다중 리전 키의 공유 속성아닙니다.는 관련 다중 리전 키 간에 키 정책을 복사하거나 동기화하지 AWS KMS 않습니다.

    AWS KMS 콘솔에서 복제본 키를 생성하면 콘솔에 편의를 위해 기본 키의 현재 키 정책이 표시됩니다. 이 키 정책을 사용하거나 편집하거나 삭제하고 바꿀 수 있습니다. 하지만 기본 키 정책을 변경하지 않고 수락하더라도 AWS KMS 는 정책을 동기화하지 않습니다. 예를 들어, 기본 키의 키 정책을 변경하는 경우 복제 키의 키 정책은 동일하게 유지됩니다.

  • 기본 키 정책 - CreateKeyReplicateKey 작업을 사용하여 다중 리전 키를 생성하는 경우 요청에 키 정책을 지정하지 않는 한 기본 키 정책이 적용됩니다. 이는 단일 리전 키에 적용되는 기본 키 정책과 동일합니다.

  • IAM 정책 - 모든 KMS 키와 마찬가지로 정책을 사용하여 키 IAM 정책이 허용하는 경우에만 다중 리전 키에 대한 액세스를 제어할 수 있습니다. IAM 정책은 AWS 리전 기본적으로 모든에 적용됩니다. 그러나 aws:RequestedRegion와 같은 조건 키를 사용하여 권한을 특정 리전으로 제한할 수 있습니다.

    기본 키와 복제 키를 생성하려면 보안 주체에게 키가 생성된 리전에 적용되는 IAM 정책에 대한 kms:CreateKey 권한이 있어야 합니다.

  • 권한 부여 - AWS KMS 권한 부여는 리전별입니다. 각 권한 부여는 하나의 KMS 키에 대한 권한을 허용합니다. 권한 부여를 사용하여 다중 리전 기본 키 또는 복제본 키에 대한 권한을 허용할 수 있습니다. 그러나 관련 다중 리전 KMS 키인 경우에도 단일 권한 부여를 사용하여 여러 키에 대한 권한을 허용할 수 없습니다.

  • 키 ARN - 각 다중 리전 키에는 고유한 키 ARN가 있습니다. 관련 다중 리전 키ARNs의 키는 파티션, 계정 및 키 ID는 동일하지만 리전은 다릅니다.

    특정 다중 리전 키에 IAM 정책 설명을 적용하려면 해당 키 ARN 또는 리전을 포함하는 키 ARN 패턴을 사용합니다. 모든 관련 다중 리전 키에 IAM 정책 설명을 적용하려면 다음 예제와 ARN같이의 리전 요소에 와일드카드 문자(*)를 사용합니다.

    { "Effect": "Allow", "Action": [ "kms:Describe*", "kms:List*" ], "Resource": { "arn:aws:kms:*::111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab" } }

    의 모든 다중 리전 키에 정책 설명을 적용하려면 kms:MultiRegion 정책 조건 또는 고유한 mrk- 접두사가 포함된 키 ID 패턴을 사용할 AWS 계정수 있습니다.

  • 서비스 연결 역할 - 다중 리전 기본 키를 생성하는 보안 주체는 iam:CreateServiceLinkedRole 권한이 있어야 합니다.

    관련 다중 리전 키의 공유 속성을 동기화하려면 AWS KMS 가 IAM 서비스 연결 역할을 수임합니다.는 다중 리전 기본 키를 AWS KMS 생성할 때마다 AWS 계정 에서 서비스 연결 역할을 생성합니다. (역할이 존재하는 경우 AWS KMS 는 유해한 영향을 미치지 않습니다.) 역할은 모든 리전에서 유효합니다. AWS KMS 가 서비스 연결 역할을 생성(또는 다시 생성)하도록 허용하려면 다중 리전 기본 키를 생성하는 보안 주체에 iam:CreateServiceLinkedRole 권한이 있어야 합니다.

다중 리전 키 관리자 및 사용자 권한 부여

다중 리전 키를 만들고 관리하는 보안 주체는 기본 및 복제본 리전에서 다음 사용 권한이 필요합니다.

  • kms:CreateKey

  • kms:ReplicateKey

  • kms:UpdatePrimaryRegion

  • iam:CreateServiceLinkedRole

기본 키 생성

다중 리전 기본 키를 생성하려면 보안 주체는 기본 키의 리전에 유효한 IAM 정책에 kms:CreateKeyiam:CreateServiceLinkedRole 권한이 필요합니다. 이러한 사용 권한이 있는 보안 주체는 사용자가 권한을 제한하지 않는 한 단일 리전 및 다중 리전 키를 만들 수 있습니다.

iam:CreateServiceLinkedRole 권한을 통해는 AWSServiceRoleForKeyManagementServiceMultiRegionKeys 역할을 AWS KMS 생성하여 관련 다중 리전 키의 공유 속성을 동기화할 수 있습니다.

예를 들어이 IAM 정책은 보안 주체가 모든 유형의 KMS 키를 생성할 수 있도록 허용합니다.

{ "Version": "2012-10-17", "Statement":{ "Action": [ "kms:CreateKey", "iam:CreateServiceLinkedRole" ], "Effect":"Allow", "Resource":"*" } }

다중 리전 기본 키를 생성할 수 있는 권한을 허용하거나 거부하려면 kms:MultiRegion 조건 키를 사용합니다. 유효 값은 true(다중 리전 키) 또는 false(단일 리전 키)입니다. 예를 들어 다음 IAM 정책 문은 kms:MultiRegion 조건 키가 있는 Deny 작업을 사용하여 보안 주체가 다중 리전 키를 생성하지 못하도록 합니다.

{ "Version": "2012-10-17", "Statement":{ "Action":"kms:CreateKey", "Effect":"Deny", "Resource":"*", "Condition": { "Bool": "kms:MultiRegion": true } } }

키 복제

다중 리전 복제본 키를 생성하려면 보안 주체는 다음 권한을 필요로 합니다.

  • kms:ReplicateKey 기본 키의 키 정책에 대한 권한입니다.

  • kms:CreateKey 복제본 키 리전에 유효한 IAM 정책의 권한입니다.

이러한 권한을 허용할 때는 주의해야 합니다. 이를 통해 보안 주체는 KMS 키와 사용을 승인하는 키 정책을 생성할 수 있습니다. kms:ReplicateKey 권한은 또한 AWS KMS내의 리전 경계를 넘어 키 구성 요소의 이전을 허용합니다.

다중 리전 키를 복제할 수 있는 AWS 리전 를 제한하려면 kms:ReplicaRegion 조건 키를 사용합니다. 그것은 단지 kms:ReplicateKey 권한을 제한합니다. 그렇지 않으면 아무런 효과도 없습니다. 예를 들어 다음 키 정책은 보안 주체가 이 기본 키를 지정된 리전에서만 복제할 수 있도록 허용합니다.

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/Administrator" }, "Action": "kms:ReplicateKey", "Resource": "*", "Condition": { "StringEquals": { "kms:ReplicaRegion": [ "us-east-1", "eu-west-3", "ap-southeast-2" ] } } }

기본 리전 업데이트

인증된 보안 주체는 복제본 키를 기본 키로 변환하여 이전 기본 키를 복제본으로 변경할 수 있습니다. 이 작업을 기본 리전 업데이트라고 합니다. 기본 리전을 업데이트하려면 보안 주체가 두 리전 모두에서 kms:UpdatePrimaryRegion 권한이 필요합니다. 키 정책 또는 정책에서 이러한 권한을 제공할 수 IAM 있습니다.

  • kms:UpdatePrimaryRegion(기본 키에서). 이 권한은 기본 키 리전에서 유효해야 합니다.

  • kms:UpdatePrimaryRegion(복제 키에서). 이 권한은 복제 키 리전에서 유효해야 합니다.

예를 들어, 다음 키 정책은 관리자 역할을 수임할 수 있는 사용자에게 KMS 키의 기본 리전을 업데이트할 수 있는 권한을 부여합니다. 이 KMS 키는이 작업의 기본 키 또는 복제본 키일 수 있습니다.

{ "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::111122223333:role/Administrator" }, "Action": "kms:UpdatePrimaryRegion" }

기본 키를 호스팅할 수 AWS 리전 있는를 제한하려면 kms:PrimaryRegion 조건 키를 사용합니다. 예를 들어, 다음 IAM 정책 문은 보안 주체가에서 다중 리전 키의 기본 리전을 업데이트할 수 있도록 허용하지만 AWS 계정, 새 기본 리전이 지정된 리전 중 하나인 경우에만 가능합니다.

{ "Effect": "Allow", "Action": "kms:UpdatePrimaryRegion", "Resource": { "arn:aws:kms:*:111122223333:key/*" }, "Condition": { "StringEquals": { "kms:PrimaryRegion": [ "us-west-2", "sa-east-1", "ap-southeast-1" ] } } }

다중 리전 키 사용 및 관리

기본적으로 AWS 계정 및 리전에서 KMS 키를 사용하고 관리할 수 있는 권한이 있는 보안 주체도 다중 리전 키를 사용하고 관리할 수 있는 권한이 있습니다. 그러나 kms:MultiRegion 조건 키를 사용하여 단일 리전 키만 허용하거나 다중 리전 키만 허용할 수 있습니다. 또는 kms:MultiRegionKeyType 조건 키를 사용하여 다중 리전 기본 키만 허용하거나 복제 키만 허용합니다. 두 조건 키는 CreateKey 모두 작업 및 암호화 또는와 같은 기존 KMS 키를 사용하는 모든 작업에 대한 액세스를 제어합니다EnableKey.

다음 예제 IAM 정책 문은 kms:MultiRegion 조건 키를 사용하여 보안 주체가 다중 리전 키를 사용하거나 관리하지 못하도록 합니다.

{ "Effect": "Deny", "Action": "kms:*", "Resource": "*", "Condition": { "Bool": "kms:MultiRegion": true } }

이 예제 IAM 정책 문은 kms:MultiRegionKeyType 조건을 사용하여 보안 주체가 다중 리전 복제본 키에 대해서만 키 삭제를 예약하고 취소할 수 있도록 허용합니다.

{ "Effect": "Allow", "Action": [ "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion" ], "Resource": { "arn:aws:kms:us-west-2:111122223333:key/*" }, "Condition": { "StringEquals": "kms:MultiRegionKeyType": "REPLICA" } }