기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에서 저장 데이터 암호화 AWS IoT Core
기본적으로 모든 저장 AWS IoT Core 데이터는 AWS 소유 키를 사용하여 암호화됩니다.는 AWS Key Management Service ()의 대칭 고객 관리형 키 AWS IoT Core 도 지원합니다AWS KMS. 고객 관리형 키를 사용하면 AWS 계정에서 AWS KMS 키를 생성, 소유 및 관리할 수 있습니다. AWS IoT Core 는 KMS 키를 사용하여 저장 데이터를 암호화합니다. 키 정책 생성 및 유지 관리를 포함하여 이러한 KMS 키를 완전히 제어할 수 있습니다. 이러한 키에 대한 권한을 제어 AWS KMS 하기 위해에 액세스하는 역할에 대한 IAM 정책을 구성할 수도 있습니다.
AWS 소유 키
AWS 소유 키는 AWS 서비스가 여러 AWS 계정에서 사용하기 위해 소유하고 관리하는 KMS 키 모음입니다. AWS 서비스는 AWS 소유 키를 사용하여 데이터를 보호할 수 있습니다. 기본적으로는 AWS 소유 키를 사용하여 저장 데이터를 AWS IoT Core 암호화합니다. 이러한 키는 서비스에서 관리합니다. AWS 소유 키를 보거나 관리하거나 사용할 수 없습니다. 그러나 이러한 키를 보호하기 위해 조치를 취할 필요는 없습니다.
AWS 소유 키에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 AWS 소유 키를 참조하세요.
고객 관리형 키
고객 관리형 키는 사용자가 생성, 소유 및 관리하는 AWS 계정의 KMS 키입니다. AWS KMS 키 정책 생성 및 유지 관리를 포함하여 이러한 키를 완전히 제어할 수 있습니다. 이러한 키에 대한 권한을 제어 AWS KMS 하기 위해에 액세스하는 역할에 대한 IAM 정책을 구성할 수도 있습니다. 고객 관리형 KMS 키를 사용하여 데이터를 암호화 AWS IoT Core 하도록를 구성할 수 있습니다.
고객 관리형 키에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드의 고객 관리형 키를 참조하세요.
고객 관리형 키를 옵트인하려면 다음 단계를 AWS IoT Core따르세요.
주제
1단계: 고객 관리형 키 만들기
AWS KMS 콘솔 또는 AWS KMS CLI 명령을 사용하여 대칭 고객 관리형 키를 생성할 수 있습니다. 는 keySpec
이고 SYMMETRIC_DEFAULT
는 이어야 keyUsage
합니다ENCRYPT_DECRYPT
.
참고
AWS IoT Core 는 고객 관리형 AWS KMS 키에 대한 SYMMETRIC_DEFAULT
키 사양 및 ENCRYPT_DECRYPT
키 사용이 있는 키만 지원합니다.
다음은 AWS IoT Core 고객 관리형 키에와 함께 사용할 수 있는 KMS 키를 생성하는 AWS CLI 명령의 예입니다.
aws kms create-key --key-spec SYMMETRIC_DEFAULT --key-usage ENCRYPT_DECRYPT --region us-west-2
다음은 명령의 출력 예제입니다.
{ "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": "2024-09-19T11:45:23.982000-07:00", "Enabled": true, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "Enabled", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "KeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": false } }
자세한 내용은 AWS Key Management Service 개발자 안내서의 대칭 고객 관리형 키 생성을 참조하세요.
키 정책
고객 관리형 키를 생성할 때 키 정책을 지정할 수 있습니다. 키 정책에서는 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 자세한 내용은 AWS Key Management Service 개발자 안내서의 키 정책을 참조하세요.
AWS IoT Core 는 계정의 IAM 역할을 사용하여 고객 관리형 키에 액세스합니다. 사용자 지정 키 정책을 사용하는 경우이 키에서 생성된 IAM 역할에 다음 권한이 있는지 확인합니다.
kms:DescribeKey
kms:Decrypt
kms:Encrypt
kms:GenerateDataKeyWithoutPlaintext
kms:ReEncryptTo
kms:ReEncryptFrom
2단계: KMS 키를 사용할 수 있는 AWS IoT Core 권한을 부여하는 IAM 역할 생성
AWS IoT Core 가 저장 데이터를 암호화하기 위해 생성한 KMS 키를 사용하려면 계정에 IAM 역할도 생성해야 합니다.이 역할은가 KMS 키에 액세스하는 것으로 가정할 AWS IoT Core 수 있습니다.
가 역할을 AWS IoT Core 수임하도록 허용하려면 역할에 다음 신뢰 정책이 있어야 합니다.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "iot.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnLike": { "aws:SourceArn": "arn:aws:iot:us-west-2:111122223333:*" } } } }
IAM 역할에 연결된 IAM 정책에 KMS 키에 대한 다음 권한이 있는지 확인합니다.
kms:DescribeKey
kms:Decrypt
kms:Encrypt
kms:GenerateDataKeyWithoutPlaintext
kms:ReEncryptTo
kms:ReEncryptFrom
다음은 고객 관리형 키에 필요한 권한이 있는 IAM 정책의 예입니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowIoTToAccessKMSResource", "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:Decrypt", "kms:Encrypt", "kms:ReEncryptTo", "kms:ReEncryptFrom", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ], "Condition": { "StringEquals": { "kms:EncryptionContext:aws-crypto-ec:vendor": "iot.amazonaws.com" } } } ] }
자세한 내용은 AWS Identity and Access Management 사용 설명서의 IAM 사용자에게 권한을 위임할 역할 생성을 참조하세요.
3단계:에서 고객 관리형 키 옵트인 AWS IoT Core
이전 단계를 모두 완료한 후 update-encryption-configuration
CLI 명령을 실행하여에서 고객 관리형 키를 사용하여 옵트인합니다 AWS IoT Core. 고객 관리형 키를 옵트인하면 AWS 계정의 모든 AWS IoT Core 리소스가 지정된 AWS KMS 키를 사용하여 암호화됩니다.
-
를 AWS IoT Core 사용하여에서 고객 관리형 키를 옵트인하려면
update-encryption-configuration
CLI 명령을 AWS CLI실행합니다.aws iot update-encryption-configuration --encryption-type "CUSTOMER_MANAGED_KMS_KEY" \ --kms-access-role-arn "arn:aws:iam::111122223333:role/myrole" \ --kms-key-arn "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" --region us-west-2
-
를 AWS IoT Core 사용하여에서 고객 관리형 키를 확인하려면
describe-encryption-configuration
CLI 명령을 AWS CLI실행합니다.aws iot describe-encryption-configuration --region us-west-2
에서 고객 관리형 키를 활성화한 경우 출력 AWS IoT Core은 다음과 같을 수 있습니다.
{ "encryptionType": "CUSTOMER_MANAGED_KMS_KEY", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "configurationDetails": { "configurationStatus": "HEALTHY" }, "lastModifiedDate": "2024-09-26T22:01:02.365000-07:00" }
lastModifiedDate
필드는 암호화 구성이 마지막으로 업데이트된 날짜를 나타냅니다.고객 관리형 키를 활성화하지 않은 경우 출력은 다음과 같을 수 있습니다.
{ "encryptionType": "AWS_OWNED_KMS_KEY", "lastModifiedDate": "2024-09-26T22:01:02.365000-07:00" }
4단계: AWS IoT Core 컨트롤 플레인 작업에 필요한 추가 권한
고객 관리형 키를 옵트인하면 AWS 계정에 속한 모든 AWS IoT Core 리소스가 제공된 KMS 키로 암호화됩니다. 이제 모든 컨트롤 플레인 작업을 수행하려면 호출자에게 AWS IoT Core 리소스의 특정 작업에 필요한 kms:Decrypt
권한 외에도 KMS 키에 대한 권한이 있어야 합니다. 호출자에게 kms:Decrypt
권한이 없고 데이터 암호화 또는 복호화가 필요한 API 호출(예: GetPolicy
)을 수행하는 경우 호출자는를 수신합니다UnauthorizedException
.
예를 들어를 호출할 때 API 호출이 성공하려면 고객 관리형 KMS 키에 대한 iot:GetPolicy
및 kms:Decrypt
권한이 모두 GetPolicy
필요합니다.
참고
암호화 구성에 사용되는 키에 대한 AWS KMS 권한을 부여하도록 IAM 사용자 또는 역할을 업데이트할 때 KMS 키 정책이 각 IAM 사용자 또는 역할에 필요한 권한도 부여하는지 확인합니다.
AWS KMS 에 대한 권한 UpdateEncryptionConfiguration
고객 관리형 키를 옵트인하거나 키 구성을 수정하려면 UpdateEncryptionConfiguration
API 호출에 KMS 키에 대한 다음 AWS KMS 권한이 필요합니다.
kms:DescribeKey
kms:Decrypt
kms:Encrypt
kms:GenerateDataKeyWithoutPlaintext
kms:ReEncryptTo
kms:ReEncryptFrom
AWS KMS 다른 모든 컨트롤 플레APIs에 대한 권한
대부분의 컨트롤 플레APIs는 고객 관리형 키가 활성화된 경우 kms:Decrypt
권한이 필요합니다. 그러나 특정 APIs 다음과 같은 추가 권한이 필요하지 않습니다.
- AWS KMS 권한이 필요하지 않은 APIs
-
List*
및Delete*
APIs는이 버킷에 속하지 않습니다. 고객은 언제든지List*
또는Delete*
컨트롤 플레인 API를 호출할 수 있으며 호출자에게kms:Decrypt
권한이 없더라도 해당 API 호출이 성공합니다. 이러한 API 호출은 고객 관리형 키가 비정상인 경우에도 성공List*
하며Delete*
APIs 복호화를 수행하지 않습니다.목록* APIs- 모든 목록 작업(예: ,
ListThings
ListPolicies
,ListCertificates
)Delete* APIs- 모든 삭제 작업(예: ,
DeleteThing
DeletePolicy
,DeleteCertificate
)
5단계: 키 관리
AWS IoT Core 는 고객 관리형 키 구성을 정기적으로 확인하여 암호화 및 복호화 작업에 영향을 주지 않도록 합니다. 이러한 상태 확인은 1분에 한 번씩 실행되며 암호화 및 복호화 작업에 AWS KMS 키와 연결된 IAM 역할을 모두 액세스하고 사용할 AWS IoT Core수 있는지 확인합니다.
- 정상
-
AWS IoT Core 는 지정된 IAM 역할을 통해 AWS KMS 키에 성공적으로 액세스하고 암호화/복호화 작업을 수행할 수 있습니다. 모든 구성 요소가 올바르게 작동합니다.
- 비정상
-
AWS IoT Core 는 AWS KMS 키에 액세스하거나 사용할 수 없습니다. 이렇게 하면 새 암호화 작업이 방지되고 서비스 기능에 영향을 미칠 수 있습니다.
errorCode
필드는 문제가 키 또는 IAM 역할에 있는지 여부를 나타냅니다.
키 상태에 영향을 미칠 수 있는 고객 작업
몇 가지 고객 작업으로 인해 키 상태가에서 로 변경될 수 HEALTHY
있습니다. UNHEALTHY
- 키 관련 작업
-
AWS KMS 키 삭제 - 키 삭제를 예약하면 키가
Pending deletion
상태이므로 사용할 수 없습니다.AWS KMS 키 비활성화 - KMS 키를 비활성화하면 더 이상 암호화/복호화 작업에 사용할 수 없습니다.
삭제를 위한 키 예약 - 삭제가 완료되면 키를 사용할 수 없게 됩니다.
키 정책 수정 - AWS IoT Core 액세스에 필요한 권한 제거
키 사용 권한 변경 - 필요한 AWS KMS 작업 제한
- IAM 역할 관련 작업
-
IAM 역할 삭제 - 키에 액세스하기 위해 역할을 수임할 수 AWS IoT Core 없음
역할 권한 수정 - 역할 정책에서 필요한 AWS KMS 권한 제거
신뢰 정책 변경 - AWS IoT Core 서비스가 역할을 수임하지 못하도록 방지
제한적인 조건 추가 -가 역할을 AWS IoT Core 사용하지 못하게 하는 조건
- 계정 수준 작업
-
교차 계정 키 액세스 변경 - 서로 다른 계정의 키에 대한 권한 수정
서비스 제어 정책(SCPs) - AWS KMS 액세스를 제한하는 조직 수준 정책
계정 수준 IAM 정책 - 키 액세스를 재정의하거나 키 액세스와 충돌하는 정책
중요
에서 사용하는 AWS KMS 키, IAM 역할 또는 정책에 대한 모든 변경 사항은 먼저 개발 환경에서 테스트해야 AWS IoT Core 합니다. 변경 후 키 상태를 면밀히 모니터링하여 AWS IoT Core 기능에 영향이 없는지 확인합니다.
암호화 구성 업데이트
에서 암호화 구성을 업데이트 AWS IoT Core 하여 한 고객 관리형 키에서 다른 고객 관리형 키로 또는 AWS 소유 키와 고객 관리형 키 간에 변경합니다.
구성을 다른 고객 관리형 키로 변경하려면:
-
의 단계에 따라 새 고객 관리형 키를 생성합니다1단계: 고객 관리형 키 만들기.
-
업데이트 기간 동안 이전 키와 새 키 모두에 대한 권한을 포함하도록 IAM 역할 정책을 업데이트합니다.
-
새 키를 사용하도록 암호화 구성을 업데이트합니다.
aws iot update-encryption-configuration --encryption-type "CUSTOMER_MANAGED_KMS_KEY" \ --kms-access-role-arn "arn:aws:iam::111122223333:role/myrole" \ --kms-key-arn "arn:aws:kms:us-west-2:111122223333:key/new-key-id"
중요
암호화 구성 업데이트 중에 이전 IAM 역할과 KMS 키 모두에 대한 액세스를 최대 1시간 동안 유지합니다. 이를 통해 AWS IoT Core 는 중단 없는 데이터 액세스를 유지하면서 재암호화 프로세스를 완료할 수 있습니다. CMK.Health
지표를 모니터링하여 성공적인 전환을 확인합니다.
고객 관리형 키에서 AWS 소유 키로 구성을 변경하려면:
aws iot update-encryption-configuration --encryption-type "AWS_OWNED_KMS_KEY"
참고
새 고객 관리형 키의 암호화 구성을 업데이트할 때 이전 키와 새 키 모두에 액세스할 수 있어야 작업이 성공할 수 있습니다.
일반적인 장애 시나리오 및 영향
다음 표에서는 키가 삭제되거나 비활성화되는 일반적인 장애 시나리오를 설명합니다.
시나리오 | 즉각적인 영향 | 장기 결과 |
---|---|---|
키 비활성화됨 |
모든 새 암호화/복호화 작업이 즉시 실패합니다. |
키가 다시 활성화되거나 교체될 때까지의 서비스 중단 |
삭제 예약된 키 |
키 상태가 삭제 보류 중으로 변경되고 모든 암호화/복호화 작업이 실패합니다. |
삭제 완료 시 자동 서비스 실패 |
키가 영구적으로 삭제됨 |
모든 작업의 즉각적이고 영구적인 실패 |
영구 데이터 손실 및 암호화된 데이터 복구 불가 |
키 정책이 잘못 수정됨 |
AWS IoT Core 키에 대한 액세스 권한을 잃음 |
정책이 수정될 때까지 서비스 실패 |
IAM 역할 삭제됨 |
AWS IoT Core 는 키에 액세스하기 위한 역할을 수임할 수 없습니다. |
전체 암호화 서비스 실패 |
IAM 역할이 잘못 수정되었습니다. |
AWS IoT Core 는 역할을 수임하거나 역할을 사용하여 키에 액세스할 수 없습니다. |
IAM 역할이 수정될 때까지 서비스 실패 |
예방 및 모범 사례
실수로 인한 키 삭제 또는 비활성화를 방지하고 서비스 장애 위험을 최소화하려면:
- 키 수명 주기 정책 구현
-
키 생성, 교체 및 사용 중지에 대한 명확한 절차를 수립합니다. 어떤 키가 어떤 AWS IoT Core 리소스에서 사용되는지 문서화하고 활성 키의 인벤토리를 유지 관리합니다.
- IAM 정책을 사용하여 키 삭제 제한
-
권한이 없는 사용자가 중요한 암호화 키를 삭제하거나 비활성화하지 못하도록 하는 IAM 정책을 생성합니다. 조건을 사용하여 키 삭제 작업에 대한 추가 승인이 필요합니다.
- CloudTrail 로깅 활성화
-
CloudTrail을 통해 모든 AWS KMS 키 작업을 모니터링하여 무단 또는 우발적 키 관리 활동을 탐지합니다. 키 삭제, 비활성화 또는 정책 변경에 대한 알림을 설정합니다.
- 키 교체 절차 테스트
-
비프로덕션 환경에서 키 교체 절차를 정기적으로 테스트하여 키 관련 장애로부터 신속하게 복구할 수 있는지 확인합니다.
- 키 백업 유지 관리
-
AWS KMS 키 구성 요소를 내보낼 수는 없지만 키 ARNs, 정책 및 관련 AWS IoT Core 구성에 대한 자세한 레코드를 유지하여 필요한 경우 키를 신속하게 교체할 수 있습니다.
- 키 상태 모니터링
-
CMK.Health
지표를 지속적으로 모니터링하고 주요 상태 변경에 대한 자동 알림을 설정합니다. 자동화된 응답을 구현하여 키 관련 문제를 신속하게 해결합니다.
중요
프로덕션 환경에서 키 업데이트 절차를 구현하기 전에 항상 개발 환경에서 키 업데이트 절차를 테스트합니다. 문서화된 롤백 계획을 수립하고 긴급 상황 발생 시 키 교체 절차를 신속하게 실행할 수 있는지 확인합니다.
6단계: 키 상태 모니터링
정기 점검 AWS IoT Core 실행의 일부로 CloudWatch 지표 및 로그가 생성되어 고객 관리형 키 구성의 상태를 파악할 수 있습니다.
AWS IoT Core 는 1분에 한 번 이상 CloudWatch에 CMK.Health
지표를 내보냅니다. 지표는가 데이터를 암호화하고 해독하는 데 사용하는 고객 관리형 키의 상태에 AWS IoT Core 대한 정보를 제공합니다.
CMK.Health
지표는 다음 값을 가질 수 있습니다.
값은
1
: AWS IoT Core 이며 데이터 암호화 및 복호화에 암호화 키를 성공적으로 사용할 수 있습니다.값은 입니다
0
. AWS IoT Core 는 데이터 암호화 및 복호화에 암호화 키를 사용할 수 없습니다.
AWS IoT Core 는 암호화 키의 상태가 변경될 때 AWS IoT 도 V2 로그를 내보냅니다. 이러한 로그는 상태 업데이트에 대한 추가 세부 정보를 제공합니다. 이러한 로그를 보려면 AWS IoT V2 로그를 활성화해야 합니다. HEALTHY
로그는 INFO
수준에서 내보내지고 UNHEALTHY
로그는 ERROR
수준에서 내보내집니다. 로그 수준에 대한 자세한 내용은 로그 수준을 참조하세요.
다음 예는 고객 관리형 키의 상태 업데이트를 나타내 AWS IoT Core 기 위해에서 내보낸 CloudWatch 로그 항목입니다.
주요 상태 변경을 효과적으로 모니터링하고 대응하려면:
-
CMK.Health
지표에 대한 CloudWatch 경보를 설정합니다.aws cloudwatch put-metric-alarm --region us-west-2 \ --alarm-name "IoTCore-CMK-Health-Alert" \ --alarm-description "Alert when IoT Core CMK health is unhealthy" \ --metric-name "CMK.Health" \ --namespace "AWS/IoT" \ --statistic "Minimum" \ --period 300 \ --evaluation-periods 1 \ --threshold 1 \ --comparison-operator "LessThanThreshold" \ --alarm-actions "arn:aws:sns:us-west-2:111122223333:iot-alerts"
-
Enable AWS IoT V2 로깅을 사용하여 오류 코드 및 메시지와 함께 세부 상태 변경 이벤트를 캡처합니다.
-
문제 해결을 위해 구성 상태를 확인합니다.
aws iot describe-encryption-configuration --region us-west-2
-
errorCode
필드를 검사하여 UNHEALTHY 상태를 조사합니다.KMS_KEY_VALIDATION_ERROR
- AWS KMS 키 관련 문제(비활성화, 삭제 또는 정책 문제)ROLE_VALIDATION_ERROR
- IAM 역할 관련 문제(삭제됨, 정책 문제 또는 신뢰 문제)
비정상에서 정상으로
암호화 키의 상태가에서 UNHEALTHY
로 업데이트되면는 다음 형식으로 AWS IoT V2 로그 메시지를 내HEALTHY
AWS IoT Core 보냅니다.
{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "INFO", "traceId": "8421693b-f4f0-4e4a-9235-0cff8bab897d", "accountId": "111122223333", "status": "SUCCESS", "cmkStatus": "HEALTHY", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "eventType": "CmkHealthCheck" }
정상에서 비정상으로
암호화 키의 상태가에서 HEALTHY
로 업데이트되면는 다음 형식으로 AWS IoT V2 로그 메시지를 내UNHEALTHY
AWS IoT Core 보냅니다.
{ "timestamp": "2017-08-10 15:37:23.476", "logLevel": "ERROR", "traceId": "8421693b-f4f0-4e4a-9235-0cff8bab897d", "accountId": "111122223333", "status": "FAILURE", "cmkStatus": "UNHEALTHY", "errorCode": "KMS_KEY_VALIDATION_ERROR / ROLE_VALIDATION_ERROR", "errorMessage": "Error message on why there was a failure", "kmsKeyArn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "kmsAccessRoleArn": "arn:aws:iam::111122223333:role/myrole", "eventType": "CmkHealthCheck" }
주의
키 상태가 되면 UNHEALTHY
AWS IoT Core 작업이 즉시 실패합니다. 이 경우 키 구성, IAM 역할 권한 및 정책을 검토합니다. CMK.Health
지표의 상태 변경을 모니터링합니다. 구성을 검토한 후에도 작업이 계속 실패하면 계정 관리자 또는 AWS 지원 센터에
AWS CloudTrail 이벤트
암호화 복호화 작업에 대한 KMS 키의 AWS IoT Core사용을 모니터링할 수도 있습니다. Decrypt
AWS IoT Core 는 KMS 키에 대해 DescribeKey
, ReEncrypt
, 및 GenerateDataKeyWithoutPlaintext
작업을 수행하여 저장 시 저장된 AWS 계정에 속한 데이터를 암호화/복호화합니다.
DescribeKey
, Decrypt
, ReEncrypt
및에 대한 CloudTrail 이벤트가 있습니다GenerateDataKeyWithoutPlaintext
. 이러한 이벤트는에서 호출한 AWS KMS 작업을 모니터링 AWS IoT Core 하여 고객 관리형 키로 암호화된 데이터에 액세스합니다.
Decrypt
예
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "accessKeyId": "*********************", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "*****" }, "attributes": { "creationDate": "2024-09-16T20:23:39Z", "mfaAuthenticated": "false" } }, "invokedBy": "iot.amazonaws.com" }, "eventTime": "2024-09-16T20:32:48Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "iot.amazonaws.com", "userAgent": "iot.amazonaws.com", "requestParameters": { "encryptionContext": { "kms-arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "aws-crypto-ec:vendor": "iot.amazonaws.com", "branch-key-id": "111122223333", "type": "branch:ACTIVE" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements": null, "requestID": "1afb6d98-8388-455d-8b48-e62c9e0cf7f4", "eventID": "b59a5f16-0d98-46d8-a590-0e040a48b39b", "readOnly": true, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }