Amazon Location Service의 저장 데이터 암호화
Amazon Location Service는 AWS 소유의 암호화 키를 사용하여 민감한 고객 저장 데이터를 보호하기 위해 기본적으로 암호화를 제공합니다.
-
AWS소유 키 — Amazon Location은 기본적으로 이러한 키를 사용하여 개인 식별 데이터를 자동으로 암호화합니다. 사용자는 AWS 소유 키를 보거나 관리 또는 사용할 수 없으며 해당 키의 사용을 감사할 수 없습니다. 하지만 데이터를 암호화하는 키를 보호하기 위해 어떤 작업을 수행하거나 어떤 프로그램을 변경할 필요가 없습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서에서 AWS 소유 키를 참조하세요.
기본적으로 저장 데이터를 암호화하면 민감한 데이터 보호와 관련된 운영 오버헤드와 복잡성을 줄이는 데 도움이 됩니다. 동시에 엄격한 암호화 규정 준수 및 규제 요구 사항을 충족하는 안전한 애플리케이션을 구축할 수 있습니다.
이 암호화 계층을 비활성화하거나 다른 암호화 유형을 선택할 수는 없지만, 트래커 및 지오펜스 컬렉션 리소스를 생성할 때 고객 관리 키를 선택하여 기존 AWS 소유 암호화 키 위에 두 번째 암호화 계층을 추가할 수 있습니다.
-
고객 관리 키 — Amazon Location에서는 사용자가 생성하고 소유하고 관리하는 대칭형 고객 관리 키를 사용하여 기존 AWS 소유 암호화에 두 번째 암호화 계층을 추가할 수 있도록 지원합니다. 이 암호화 계층을 완전히 제어할 수 있으므로 다음과 같은 작업을 수행할 수 있습니다.
-
키 정책 수립 및 유지
-
IAM 정책 및 권한 부여 수립 및 유지
-
키 정책 활성화 및 비활성화
-
키 암호화 자료 교체
-
태그 추가
-
키 별칭 생성
-
키 삭제 일정 수립
자세한 내용은 AWS Key Management Service 개발자 안내서의 고객 관리 키를 참조하세요.
-
다음 표에는 Amazon Location에서 개인 식별 데이터를 암호화하는 방법이 요약되어 있습니다.
데이터 유형 | AWS 소유 키 암호화 | 고객 관리 키 암호화(선택 사항) |
---|---|---|
Position 디바이스 위치 세부 정보가 포함된 포인트 지오메트리입니다. |
활성화됨 | 활성화됨 |
PositionProperties 위치 업데이트와 연결된 키-값 쌍 세트입니다. |
활성화됨 | 활성화됨 |
GeofenceGeometry 지오펜스 영역을 나타내는 다각형 지오펜스 지오메트리입니다. |
활성화됨 | 활성화됨 |
DeviceId 트래커 리소스에 디바이스 위치 업데이트를 업로드할 때 지정되는 디바이스 식별자입니다. |
활성화됨 | 지원되지 않음 |
GeofenceId 지오펜스 지오메트리 또는 특정 지오펜스 컬렉션의 지오펜스 배치를 저장할 때 지정되는 식별자입니다. |
활성화됨 | 지원되지 않음 |
참고
Amazon Location은 AWS 소유 키를 사용하여 저장된 데이터를 자동으로 암호화하여 개인 식별 데이터를 무료로 보호합니다.
그러나 고객 관리형 키를 사용하는 경우 AWS KMS 비용이 부과됩니다. 요금에 대한 자세한 내용은 AWS Key Management Service 요금
AWS KMS에 대한 자세한 내용은 AWS Key Management Service 소개를 참조하세요.
Amazon Location Service가 AWS KMS에서 권한 부여를 사용하는 방법
Amazon Location에서 고객 관리형 키를 사용하려면 권한 부여가 필요합니다.
고객 관리 키로 암호화된 트래커 리소스 또는 지오펜스 컬렉션을 생성하면 Amazon Location은 CreateGrant 요청을 AWS KMS에 전송하여 사용자를 대신하여 권한 부여를 생성합니다. AWS KMS의 권한 부여는 고객 계정의 KMS 키에 대한 Amazon Location 액세스 권한을 부여하는 데 사용됩니다.
Amazon Location은 다음 내부 작업에 대해 고객 관리형 키를 사용하기 위한 권한 부여가 필요합니다.
-
트래커 또는 지오펜스 컬렉션을 생성할 때 입력한 대칭 고객 관리 KMS 키 ID가 유효한지 확인하려면 DescribeKey 요청을 AWS KMS에 전송합니다.
-
고객 관리형 키로 암호화된 데이터 키를 생성하려면 GenerateDataKeyWithoutPlaintext 요청을 AWS KMS에 전송합니다.
-
데이터를 암호화하는 데 사용할 수 있도록 암호화된 데이터 키를 해독하려면 해독 요청을 AWS KMS에 전송합니다.
언제든지 권한 부여에 대한 액세스 권한을 취소하거나 고객 관리형 키에 대한 서비스 액세스를 제거할 수 있습니다. 그렇게 하면 Amazon Location은 고객 관리형 키로 암호화된 데이터에 액세스할 수 없게 되며, 이는 해당 데이터에 의존하는 작업에 영향을 미칩니다. 예를 들어 Amazon Location에서 액세스할 수 없는 암호화된 트래커에서 디바이스 위치를 가져오려고 시도하면 작업에서 AccessDeniedException
오류가 반환됩니다.
고객 관리형 키 생성
AWS Management Console 또는 AWS KMS API를 사용하여 대칭형 고객 관리형 키를 생성할 수 있습니다.
대칭형 고객 관리형 키를 생성하려면
AWS Key Management Service 개발자 안내서의 대칭형 고객 관리형 키 생성 단계를 따르세요.
키 정책
키 정책은 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 만들 때 키 정책을 지정할 수 있습니다. 자세한 내용은 AWS Key Management Service개발자 안내서의 고객 관리 키에 대한 액세스 관리를 참조하세요.
Amazon Location 리소스와 함께 고객 관리형 키를 사용하려면 키 정책에서 다음 API 작업을 허용해야 합니다.
-
kms:CreateGrant
– 고객 관리형 키에 권한 부여를 추가합니다. Amazon Location에 필요한 권한 부여 작업에 대한 액세스를 허용하는 지정된 KMS 키에 대한 제어 액세스 권한을 부여합니다. 자세한 내용은 AWS Key Management Service 개발자 안내서에서 권한 부여 사용을 참조하세요.이를 통해 Amazon Location은 다음을 수행할 수 있습니다.
-
데이터 키는 암호화에 바로 사용되지 않기 때문에
GenerateDataKeyWithoutPlainText
을(를) 호출하여 암호화된 데이터 키를 생성하여 저장합니다. -
저장된 암호화된 데이터 키를 사용하여 암호화된 데이터에 액세스하려면
Decrypt
를 호출합니다. -
사용 중지하는 보안 주체를 설정하여
RetireGrant
에 대한 서비스를 허용합니다.
-
-
kms:DescribeKey
- Amazon Location에서 키의 유효성을 확인할 수 있도록 고객 관리형 키 세부 정보를 제공합니다.
다음은 Amazon Location에 추가할 수 있는 정책 설명 예시입니다.
"Statement" : [ { "Sid" : "Allow access to principals authorized to use Amazon Location", "Effect" : "Allow", "Principal" : { "AWS" : "*" }, "Action" : [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource" : "*", "Condition" : { "StringEquals" : { "kms:ViaService" : "geo.region.amazonaws.com", "kms:CallerAccount" : "111122223333" } }, { "Sid": "Allow access for key administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:*" ], "Resource": "arn:aws:kms:
region
:111122223333:key/key_ID
" }, { "Sid" : "Allow read-only access to key metadata to the account", "Effect" : "Allow", "Principal" : { "AWS" : "arn:aws:iam::111122223333:root" }, "Action" : [ "kms:Describe*", "kms:Get*", "kms:List*", "kms:RevokeGrant" ], "Resource" : "*" } ]
정책에서 사용 권한을 지정하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서를 참조하세요.
키 액세스 문제 해결에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서를 참조하세요.
Amazon Location에 대한 고객 관리형 키 지정
고객 관리 키를 다음 리소스의 2차 계층 암호화로 지정할 수 있습니다.
리소스를 생성할 때 Amazon Location이 리소스에 저장된 식별 가능한 개인 데이터를 암호화하는 데 사용하는 KMS ID를 입력하여 데이터 키를 지정할 수 있습니다.
-
KMS ID — AWS KMS 고객 관리형 키의 키 식별자입니다. 키 ID, 키 ARN, 별칭 이름 또는 별칭 ARN을 입력합니다.
Amazon Location Service 암호화 컨텍스트
암호화 컨텍스트는 데이터에 대한 추가 컨텍스트 정보를 포함하는 선택적 키-값 페어 세트입니다.
AWS KMS는 암호화 컨텍스트를 추가 인증 데이터로 사용하여 인증된 암호화를 지원합니다. 데이터 암호화 요청에 암호화 컨텍스트를 포함하는 경우, AWS KMS는 암호화된 데이터에 암호화 컨텍스트를 바인딩합니다. 데이터를 해독하려면 요청에 동일한 암호화 컨텍스트를 포함합니다.
Amazon Location Service 암호화 컨텍스트
Amazon Location은 모든 AWS KMS 암호화 작업에서 동일한 암호화 컨텍스트를 사용합니다. 여기서 키는 aws:geo:arn
이고 값은 리소스 Amazon 리소스 이름(ARN)입니다.
"encryptionContext": { "aws:geo:arn": "arn:aws:geo:us-west-2:111122223333:geofence-collection/SAMPLE-GeofenceCollection" }
모니터링을 위한 암호화 컨텍스트 사용
대칭형 고객 관리 키를 사용하여 트래커 또는 지오펜스 컬렉션을 암호화하는 경우 감사 기록 및 로그의 암호화 컨텍스트를 사용하여 고객 관리 키가 사용되는 방식을 식별할 수도 있습니다. 암호화 컨텍스트는 AWS CloudTrail 또는 Amazon CloudWatch Logs에서 생성된 로그에도 나타납니다.
암호화 컨텍스트를 사용하여 고객 관리형 키에 대한 액세스 제어
그러나 암호화 컨텍스트를 사용하여 키 정책 및 IAM 정책에서 대칭 conditions
에 대한 액세스를 제어할 수도 있습니다. 권한 부여에 암호화 컨텍스트 제약 조건을 사용할 수도 있습니다.
Amazon Location은 권한 부여 시 암호화 컨텍스트 제약 조건을 사용하여 계정 또는 리전의 고객 관리형 키에 대한 액세스를 제어합니다. 권한 부여 제약 조건에 따라 권한 부여가 허용하는 작업은 지정된 암호화 컨텍스트를 사용해야 합니다.
다음은 특정 암호화 컨텍스트에서 고객 관리형 키에 대한 액세스 권한을 부여하는 키 정책 설명의 예입니다. 이 정책 설명의 조건에 따라 권한 부여에는 암호화 컨텍스트를 지정하는 암호화 컨텍스트 제약 조건이 있어야 합니다.
{ "Sid": "Enable DescribeKey", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:DescribeKey", "Resource": "*" }, { "Sid": "Enable CreateGrant", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:aws:geo:arn": "arn:aws:geo:us-west-2:111122223333:tracker/SAMPLE-Tracker" } } }
Amazon Location Service의 암호화 키 모니터링
Amazon Location Service 리소스와 함께 AWS KMS 고객 관리형 키를 사용하는 경우, AWS CloudTrail 또는 Amazon CloudWatch Logs를 사용하여 Amazon Location이 AWS KMS(으)로 보내는 요청을 추적할 수 있습니다.
다음 예는 고객 관리형 키로 암호화된 데이터에 액세스하기 위해 Amazon Location에서 호출한 KMS 작업을 모니터링하기 위한 CreateGrant
, GenerateDataKeyWithoutPlainText
, Decrypt
, DescribeKey
에 대한 AWS CloudTrail 이벤트입니다.
자세히 알아보기
다음 리소스에서 키에 대한 추가 정보를 확인할 수 있습니다.
-
AWS Key Management Service기본 개념에 대한 자세한 내용은 AWS Key Management Service개발자 안내서를 참조하세요.
-
AWS Key Management Service의 보안 모범 사례 에 대한 자세한 내용은 AWS Key Management Service개발자 안내서를 참조하세요.