기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon WorkSpaces 씬 클라이언트의 저장 데이터 암호화
Amazon WorkSpaces 씬 클라이언트는 기본적으로 암호화를 제공하여 AWS 소유 암호화 키를 사용하여 저장된 민감한 고객 데이터를 보호합니다.
저장 데이터를 기본적으로 암호화하면 민감한 데이터 보호와 관련된 운영 오버헤드와 복잡성을 줄이는 데 도움이 됩니다. 동시에 엄격한 암호화 규정 준수 및 규제 요구 사항을 충족하는 안전한 애플리케이션을 구축할 수 있습니다.
이 암호화 계층을 비활성화하거나 다른 암호화 유형을 선택할 수는 없지만 씬 클라이언트 환경을 생성할 때 고객 관리형 키를 선택하여 기존 AWS 소유 암호화 키에 두 번째 암호화 계층을 추가할 수 있습니다.
자세한 내용은 AWS Key Management Service 개발자 안내서에서 고객 관리형 키를 참조하세요.
다음 표에는 Amazon WorkSpaces 씬 클라이언트가 개인 식별 데이터를 암호화하는 방법이 요약되어 있습니다.
데이터 유형 |
AWS 소유 키 암호화 |
고객 관리형 키 암호화 (선택 사항) |
환경 이름
WorkSpaces 씬 클라이언트 환경 이름
|
활성화됨
|
활성화됨
|
디바이스 이름
WorkSpaces 씬 클라이언트 디바이스 이름
|
활성화됨
|
활성화됨
|
사용자 활동
WorkSpaces 씬 클라이언트 사용자 활동
|
활성화됨
|
활성화됨
|
디바이스 설정
WorkSpaces 씬 클라이언트 디바이스 설정
|
활성화됨
|
활성화됨
|
디바이스 생성 태그
WorkSpaces 씬 클라이언트 환경 디바이스 생성 태그
|
활성화됨
|
활성화됨
|
Amazon WorkSpaces 씬 클라이언트는 AWS 소유 키를 사용하여 개인 식별 데이터를 무료로 보호하여 저장 시 암호화를 자동으로 활성화합니다.
그러나 고객 관리형 키 사용에는 AWS KMS 요금이 적용됩니다. 요금에 대한 자세한 내용은 AWS 키 관리 서비스 요금을 참조하세요.
Amazon WorkSpaces 씬 클라이언트가 AWS KMS를 사용하는 방법
Amazon WorkSpaces 씬 클라이언트에서 고객 관리형 키를 사용하려면 키 정책이 필요합니다.
다음 내부 작업에 고객 관리형 키를 사용하려면 Amazon WorkSpaces 씬 클라이언트에 키 정책이 필요합니다.
언제든지 고객 관리형 키에 대한 서비스의 액세스를 제거할 수 있습니다. 그렇게 하면 Amazon WorkSpaces 씬 클라이언트는 고객 관리형 키로 암호화된 데이터에 액세스할 수 없으며, 이는 해당 데이터에 의존하는 모든 작업에 영향을 미치고 비동기식 워크플로에서 오류 및 실패로 이어집니다. 예를 들어 WorkSpaces 씬 클라이언트가 액세스할 수 없는 환경 세부 정보를 가져오려고 하면 작업이 AccessDeniedException
오류를 반환합니다. 또한 WorkSpaces 씬 클라이언트 디바이스가 WorkSpaces 씬 클라이언트 환경을 사용할 수 없게 됩니다.
고객 관리형 키 생성
AWS Management Console 또는 AWS KMS API 작업을 사용하여 대칭 고객 관리형 키를 생성할 수 있습니다.
대칭형 고객 관리형 키를 생성하려면
AWS Key Management Service Developer 개발자 안내서에서 대칭형 고객 관리형 키 생성에 대한 단계를 따릅니다.
키 정책
키 정책에서는 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 만들 때 키 정책을 지정할 수 있습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서에서 고객 관리형 키 액세스 관리를 참조하세요.
Amazon WorkSpaces 씬 클라이언트 리소스에서 고객 관리형 키를 사용하려면 키 정책에서 다음 API 작업을 허용해야 합니다.
다음은 Amazon WorkSpaces 씬 클라이언트에 대해 추가할 수 있는 정책 설명 예제입니다
{
"Statement":
[
{
"Sid": "Allow access to principals authorized to use Amazon WorkSpaces Thin Client",
"Effect": "Allow",
"Principal": {"AWS": "*"},
"Action": [
"kms:DescribeKey",
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"kms:ViaService": "thinclient.region.amazonaws.com",
"kms:CallerAccount": "111122223333"
}
}
},
{
"Sid": "Allow Amazon WorkSpaces Thin Client service to encrypt and decrypt data",
"Effect": "Allow",
"Principal": {"Service": "thinclient.amazonaws.com"},
"Action": [
"kms:GenerateDataKey",
"kms:Decrypt"
],
"Resource": "*",
"Condition": {
"StringLike": {
"aws:SourceArn":
"arn:aws:thinclient:region:111122223333:*",
"kms:EncryptionContext:aws:thinclient:arn":
"arn:aws:thinclient:region: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*"
],
"Resource": "*"
}
]
}
정책의 권한 지정에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서를 참조하세요.
키 액세스 문제 해결에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서를 참조하세요.
WorkSpaces 씬 클라이언트의 고객 관리형 키 지정
두 번째 암호화 계층으로서 다음 리소스에 고객 관리형 키를 지정할 수 있습니다.
환경을 생성할 때 Amazon WorkSpaces 씬 클라이언트가 개인 식별 데이터를 암호화하는 데 사용하는 kmsKeyArn
를 제공하여 데이터 키를 지정할 수 있습니다.
고객 관리형 키로 암호화된 WorkSpaces 씬 클라이언트 환경에 새 WorkSpaces 씬 클라이언트 디바이스가 추가되면 WorkSpaces 씬 클라이언트 디바이스는 WorkSpaces 씬 클라이언트 환경에서 고객 관리형 키 설정을 상속합니다.
암호화 컨텍스트는 데이터에 대한 추가 컨텍스트 정보를 포함하는 선택적 키-값 페어 세트입니다.
AWS KMS는 암호화 컨텍스트를 추가 인증 데이터로 사용하여 인증된 암호화를 지원합니다. 데이터 암호화 요청에 암호화 컨텍스트를 포함하면 AWS KMS는 암호화 컨텍스트를 암호화된 데이터에 바인딩합니다. 데이터를 복호화하려면 요청에 동일한 암호화 컨텍스트를 포함합니다.
Amazon WorkSpaces 씬 클라이언트 암호화 컨텍스트
Amazon WorkSpaces 씬 클라이언트는 모든 AWS KMS 암호화 작업에서 동일한 암호화 컨텍스트를 사용합니다. 여기서 키는 aws:thinclient:arn
이고 값은 Amazon 리소스 이름(ARN)입니다.
다음은 환경 암호화 컨텍스트입니다.
"encryptionContext": {
"aws:thinclient:arn": "arn:aws:thinclient:region:111122223333:environment/environment_ID"
}
다음은 디바이스 암호화 컨텍스트입니다.
"encryptionContext": {
"aws:thinclient:arn": "arn:aws:thinclient:region:111122223333:device/device_ID"
}
모니터링을 위한 암호화 컨텍스트 사용
대칭형 고객 관리형 키를 사용하여 WorkSpaces 씬 클라이언트 환경 및 디바이스 데이터를 암호화하는 경우 감사 레코드 및 로그의 암호화 컨텍스트를 사용하여 고객 관리형 키가 사용되는 방식을 식별할 수도 있습니다. 암호화 컨텍스트는 AWS CloudTrail 또는 Amazon CloudWatch Logs에서 생성된 로그에도 나타납니다.
암호화 컨텍스트를 사용하여 고객 관리형 키에 대한 액세스 제어
그러나 키 정책 및 IAM 정책에서 암호화 컨텍스트를 조건으로 사용하여 대칭형 고객 관리형 키에 대한 액세스를 제어할 수도 있습니다.
다음은 특정 암호화 컨텍스트에서 고객 관리형 키에 대한 액세스 권한을 부여하는 키 정책 설명의 예시입니다. 이 정책 설명의 조건에 따라 kms:Decrypt
호출에는 암호화 컨텍스트를 지정하는 암호화 컨텍스트 제약 조건이 있어야 합니다.
{
"Sid": "Enable Decrypt to access Thin Client Environment",
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleReadOnlyRole"},
"Action": "kms:Decrypt",
"Resource": "*",
"Condition": {
"StringEquals": {"kms:EncryptionContext:aws:thinclient:arn": "arn:aws:thinclient:region:111122223333:environment/environment_ID"}
}
}
Amazon WorkSpaces 씬 클라이언트의 암호화 키 모니터링
Amazon WorkSpaces 씬 클라이언트 리소스와 함께 AWS KMS 고객 관리형 키를 사용하는 경우 AWS CloudTrail 또는 Amazon CloudWatch Logs를 사용하여 Amazon WorkSpaces 씬 클라이언트가 AWS KMS로 보내는 요청을 추적할 수 있습니다.
다음 예제는 Amazon WorkSpaces DescribeKey
씬 클라이언트가 고객 관리형 키로 암호화된 데이터에 액세스하기 위해 호출한 KMS 작업을 모니터링하기 위한 , Decrypt
, GenerateDataKey
에 대한 AWS CloudTrail 이벤트입니다.
다음 예제에서는 WorkSpaces 씬 클라이언트 환경에 encryptionContext
대한를 볼 수 있습니다. WorkSpaces 씬 클라이언트 디바이스에 대해 유사한 CloudTrail 이벤트가 기록됩니다.
- DescribeKey
-
Amazon WorkSpaces 씬 클라이언트는 DescribeKey
작업을 사용하여 KMS 고객 관리형 AWS 키를 확인합니다.
다음 예제 이벤트는 DescribeKey
작업을 기록합니다.
{
"eventVersion": "1.09",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
"arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
"arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
"accountId": "111122223333",
"userName": "Admin"
},
"attributes": {
"creationDate": "2024-04-08T13:43:33Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "thinclient.amazonaws.com"
},
"eventTime": "2024-04-08T13:44:22Z",
"eventSource": "kms.amazonaws.com",
"eventName": "DescribeKey",
"awsRegion": "eu-west-1",
"sourceIPAddress": "thinclient.amazonaws.com",
"userAgent": "thinclient.amazonaws.com",
"requestParameters": {"keyId": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"},
"responseElements": null,
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": true,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"eventCategory": "Management"
}
- GenerateDataKey
-
Amazon WorkSpaces 씬 클라이언트는 GenerateDataKey
작업을 사용하여 데이터를 암호화합니다.
다음 예제 이벤트는 GenerateDataKey
작업을 기록합니다.
{
"eventVersion": "1.09",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
"arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
"arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
"accountId": "111122223333",
"userName": "Admin"
},
"attributes": {
"creationDate": "2024-04-08T12:21:03Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "thinclient.amazonaws.com"
},
"eventTime": "2024-04-08T13:03:56Z",
"eventSource": "kms.amazonaws.com",
"eventName": "GenerateDataKey",
"awsRegion": "eu-west-1",
"sourceIPAddress": "thinclient.amazonaws.com",
"userAgent": "thinclient.amazonaws.com",
"requestParameters": {
"keyId": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"encryptionContext": {
"aws-crypto-public-key": "ABC123def4567890abc12345678/90dE/F123abcDEF+4567890abc123D+ef1==",
"aws:thinclient:arn": "arn:aws:thinclient:eu-west-1:111122223333:environment/abcSAMPLE"
},
"numberOfBytes": 32
},
"responseElements": null,
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": true,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "1234abcd-12ab-34cd-56ef-123456SAMPLE",
"vpcEndpointId": "vpce-1234abcd567SAMPLE",
"vpcEndpointAccountId": "thinclient.amazonaws.com",
"eventCategory": "Management"
}
- GenerateDataKey (by service)
-
Amazon WorkSpaces 씬 클라이언트가 GenerateDataKey
저장 디바이스 정보를 사용하는 경우 GenerateDataKey
작업을 사용하여 데이터를 암호화합니다.
GenerateDataKey
작업은 Sid “Amazon WorkSpaces 씬 클라이언트 서비스가 데이터를 암호화하고 해독하도록 허용”을 사용하여 KMS 키 정책 설명에서 허용됩니다.
다음 예제 이벤트는 GenerateDataKey 작업을 기록합니다.
{
"eventVersion": "1.09",
"userIdentity": {
"type": "AWSService",
"invokedBy": "thinclient.amazonaws.com"
},
"eventTime": "2024-04-08T13:03:56Z",
"eventSource": "kms.amazonaws.com",
"eventName": "GenerateDataKey",
"awsRegion": "eu-west-1",
"sourceIPAddress": "thinclient.amazonaws.com",
"userAgent": "thinclient.amazonaws.com",
"requestParameters": {
"keyId": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"encryptionContext": {
"aws-crypto-public-key": "ABC123def4567890abc12345678/90dE/F123abcDEF+4567890abc123D+ef1==",
"aws:thinclient:arn": "arn:aws:thinclient:eu-west-1:111122223333:environment/abcSAMPLE"
},
"numberOfBytes": 32
},
"responseElements": null,
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": true,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "1234abcd-12ab-34cd-56ef-123456SAMPLE",
"vpcEndpointId": "vpce-1234abcd567SAMPLE",
"vpcEndpointAccountId": "thinclient.amazonaws.com",
"eventCategory": "Management"
}
- Decrypt
-
Amazon WorkSpaces 씬 클라이언트는 Decrypt
작업을 사용하여 데이터를 복호화합니다.
다음 예제 이벤트는 Decrypt
작업을 기록합니다.
{
"eventVersion": "1.09",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
"arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
"accountId": "111122223333",
"accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
"arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
"accountId": "111122223333",
"userName": "Admin"
},
"attributes": {
"creationDate": "2024-04-08T13:43:33Z",
"mfaAuthenticated": "false"
}
},
"invokedBy": "thinclient.amazonaws.com"
},
"eventTime": "2024-04-08T13:44:25Z",
"eventSource": "kms.amazonaws.com",
"eventName": "Decrypt",
"awsRegion": "eu-west-1",
"sourceIPAddress": "thinclient.amazonaws.com",
"userAgent": "thinclient.amazonaws.com",
"requestParameters": {
"keyId": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"encryptionContext": {
"aws-crypto-public-key": "ABC123def4567890abc12345678/90dE/F123abcDEF+4567890abc123D+ef1==",
"aws:thinclient:arn": "arn:aws:thinclient:eu-west-1:111122223333:environment/abcSAMPLE"
},
"encryptionAlgorithm": "SYMMETRIC_DEFAULT"
},
"responseElements": null,
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": true,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "1234abcd-12ab-34cd-56ef-123456SAMPLE",
"vpcEndpointId": "vpce-1234abcd567SAMPLE",
"vpcEndpointAccountId": "thinclient.amazonaws.com",
"eventCategory": "Management"
}
- Decrypt (by service)
-
WorkSpaces 씬 클라이언트 디바이스가 환경 또는 디바이스 정보에 액세스하면 Decrypt
작업을 사용하여 데이터를 복호화합니다. Decrypt
작업은 Sid “Amazon WorkSpaces 씬 클라이언트 서비스가 데이터를 암호화하고 해독하도록 허용”을 사용하여 KMS 키 정책 설명에서 허용됩니다.
다음 예제 이벤트는를 통해 승인된 Decrypt
작업을 기록합니다. Grant
{
"eventVersion": "1.09",
"userIdentity": {
"type": "AWSService",
"invokedBy": "thinclient.amazonaws.com"
},
"eventTime": "2024-04-08T13:44:25Z",
"eventSource": "kms.amazonaws.com",
"eventName": "Decrypt",
"awsRegion": "eu-west-1",
"sourceIPAddress": "thinclient.amazonaws.com",
"userAgent": "thinclient.amazonaws.com",
"requestParameters": {
"keyId": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
"encryptionContext": {
"aws-crypto-public-key": "ABC123def4567890abc12345678/90dE/F123abcDEF+4567890abc123D+ef1==",
"aws:thinclient:arn": "arn:aws:thinclient:eu-west-1:111122223333:environment/abcSAMPLE"
},
"encryptionAlgorithm": "SYMMETRIC_DEFAULT"
},
"responseElements": null,
"requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
"readOnly": true,
"resources": [
{
"accountId": "111122223333",
"type": "AWS::KMS::Key",
"ARN": "arn:aws:kms:eu-west-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
}
],
"eventType": "AwsApiCall",
"managementEvent": true,
"recipientAccountId": "111122223333",
"sharedEventID": "1234abcd-12ab-34cd-56ef-123456SAMPLE",
"vpcEndpointId": "vpce-1234abcd567SAMPLE",
"vpcEndpointAccountId": "thinclient.amazonaws.com",
"eventCategory": "Management"
}
자세히 알아보기
다음 리소스에서 저장 데이터 암호화에 대한 추가 정보를 확인할 수 있습니다: