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

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

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

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

참고

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

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

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

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

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

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

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

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

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

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

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

  • 키 ARN — 각 다중 리전 키에는 고유 키 ARN이 있습니다. 관련된 다중 리전 키의 키 ARN은 파티션, 계정 및 키 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: CreateKey 및 iam: CreateServiceLinkedRole 권한이 보안 주체에 필요합니다. 이러한 사용 권한이 있는 보안 주체는 사용자가 권한을 제한하지 않는 한 단일 리전 및 다중 리전 키를 만들 수 있습니다.

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

예를 들어, 이 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: 복제본 키 리전에 유효한 IAM 정책의 CreateKey 권한.

이러한 권한을 허용할 때는 주의해야 합니다. 보안 주체는 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 키를 사용하는 모든 작업 (예: Encrypt 또는) 에 대한 액세스를 제어합니다. 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" } }

AWS KMS가 다중 리전 키를 동기화하도록 승인

다중 리전 키를 지원하기 위해 AWS KMS는 IAM 서비스 연결 역할을 사용합니다. 이 역할은 AWS KMS에게 공유 속성을 동기화하는 데 필요한 권한을 부여합니다. 로그에 공유 속성 AWS KMS 동기화를 기록하는 SynchronizeMultiRegionKey CloudTrail 이벤트를 볼 수 있습니다. AWS CloudTrail

다중 리전 키에 대한 서비스 연결 역할

서비스 연결 역할은 사용자를 대신해 다른 AWS 서비스를 호출할 수 있는 권한을 한 AWS 서비스에 제공하는 IAM 역할입니다. 이 역할은 복잡한 IAM 정책을 생성 및 유지 관리할 필요 없이 여러 통합 AWS 서비스의 기능을 손쉽게 사용할 수 있도록 설계되었습니다.

다중 지역 키의 경우 정책과 함께 AWSServiceRoleForKeyManagementServiceMultiRegionKeys서비스 연결 역할을 AWS KMS 생성합니다. AWSKeyManagementServiceMultiRegionKeysServiceRolePolicy 이 정책은 역할에 kms:SynchronizeMultiRegionKey 권한을 부여하여 다중 리전 키의 공유 속성을 동기화할 수 있도록 합니다.

AWSServiceRoleForKeyManagementServiceMultiRegionKeys서비스 연결 역할은 신뢰만 하기 때문에 이 서비스 연결 역할만 mrk.kms.amazonaws.com 맡을 수 있습니다. AWS KMS 이 역할은 AWS KMS가 다중 리전 공유 속성을 동기화하는 데 필요한 작업으로 제한됩니다. 이렇게 해도 AWS KMS에 어떤 추가 권한도 부여되지 않습니다. 예를 들어 AWS KMS는 KMS 키를 생성, 복제 또는 삭제할 수 있는 권한이 없습니다.

AWS 서비스가 서비스 연결 역할을 사용하는 방법에 대한 자세한 내용은 IAM 사용 설명서의 서비스 연결 역할 사용을 참조하십시오.

서비스 연결 역할 생성

AWS KMS다중 지역 키를 AWS 계정 만들면 해당 역할이 아직 존재하지 않는 경우 AWSServiceRoleForKeyManagementServiceMultiRegionKeys서비스 연결 역할이 사용자 계정에 자동으로 생성됩니다. 사용자는 이러한 서비스 연결 역할을 직접 생성하거나 다시 생성할 수 없습니다.

서비스 연결 역할 설명 편집

AWSServiceRoleForKeyManagementServiceMultiRegionKeys서비스 연결 역할의 역할 이름이나 정책 설명은 편집할 수 없지만 역할 설명은 편집할 수 있습니다. 지침은 IAM 사용 설명서서비스 연결 역할 편집 단원을 참조하십시오.

서비스 연결 역할 삭제

AWS KMSAWSServiceRoleForKeyManagementServiceMultiRegionKeys서비스 연결 역할을 사용자의 AWS 계정 역할에서 삭제하지 않으며 삭제할 수도 없습니다. 그러나 사용자 및 지역에 다중 지역 키가 없는 한 AWSServiceRoleForKeyManagementServiceMultiRegionKeys역할을 수임하거나 해당 권한을 사용하지 AWS KMS 않습니다. AWS 계정