AWS HealthScribe의 저장 데이터 암호화 - Amazon Transcribe

AWS HealthScribe의 저장 데이터 암호화

기본적으로, AWS HealthScribe는 암호화를 제공하여 민감한 고객 저장 데이터를 AWS HealthScribe의 관리형 AWS Key Management Service(AWS KMS) 키를 사용하여 보호합니다. 기본적으로 저장된 데이터를 암호화하면 민감한 데이터를 보호하는 데 수반되는 운영 오버헤드와 복잡성을 줄이는 데 도움이 됩니다. 동시에 엄격한 암호화 규정 준수 및 규제 요구 사항을 충족하는 안전한 애플리케이션을 구축할 수 있습니다. AWS HealthScribe 전사 작업을 생성하거나 스트림을 시작할 때 고객 관리형 키를 지정할 수 있습니다. 이렇게 하면 두 번째 암호화 계층이 추가됩니다.

  • AWS HealthScribe AWS KMS관리형 키 - AWS HealthScribe는 기본적으로 AWS HealthScribe 관리형 AWS Key Management Service(AWS KMS) 키를 사용하여 중간 파일을 자동으로 암호화합니다. 이 암호화 계층을 비활성화하거나 대체 암호화 유형을 선택할 수 없습니다. 사용자는 키를 확인, 관리 또는 사용하거나 키 사용을 감사할 수 없습니다. 하지만 데이터를 암호화하는 키를 보호하기 위해 어떤 작업을 수행하거나 어떤 프로그램을 변경할 필요가 없습니다.

  • 고객 관리형 키 - AWS HealthScribe는 사용자가 생성하고 소유하고 관리하는 대칭형 고객 관리형 키를 사용하여 기존 AWS 소유 암호화에 두 번째 암호화 계층을 추가할 수 있도록 지원합니다. 이 암호화 계층을 완전히 제어할 수 있으므로 다음과 같은 작업을 수행할 수 있습니다.

    • 키 정책 수립 및 유지

    • IAM 정책 및 권한 부여 수립 및 유지

    • 키 정책 활성화 및 비활성화

    • 키 암호화 자료 교체

    • 태그 추가

    • 키 별칭 만들기

    • 키 삭제 일정 수립

    자세한 내용은 AWS Key Management Service 개발자 안내서의 고객 관리형 키를 참조하세요.

참고

AWS HealthScribe는 AWS 소유 키를 사용해 저장 데이터를 자동으로 암호화하여 개인 식별 데이터를 무료로 보호할 수 있습니다. 그러나 고객 관리형 키 사용에는 AWS KMS 비용이 부과됩니다. 요금에 대한 자세한 내용은 AWS Key Management Service 요금을 참조하세요.

AWS KMS에 대한 자세한 내용은 AWS Key Management Service 소개 단원을 참조하십시오.

AWS HealthScribe에 대한 고객 관리형 키 지정

고객 관리형 키를 전사 작업 또는 스트리밍을 위한 두 번째 계층 암호화로 지정할 수 있습니다.

AWS KMS 암호화 컨텍스트

AWS KMS 암호화 컨텍스트는 비밀이 아닌 일반 텍스트 키:값 페어의 맵입니다. 이 맵은 데이터에 대한 추가 보안 계층을 제공하는 암호화 컨텍스트 페어로 알려진 추가 인증 데이터를 나타냅니다. AWS HealthScribe에서 AWS HealthScribe 출력을 고객 지정 Amazon S3 버킷으로 암호화하려면 대칭 암호화 키가 필요합니다. 자세한 내용은 AWS KMS의 비대칭 키를 참조하세요.

암호화 컨텍스트 페어를 생성할 때 민감한 정보를 포함해서는 안 됩니다. 암호화 컨텍스트는 비밀이 아닙니다. CloudTrail 로그에 일반 텍스트로 표시됩니다(따라서 암호화 작업을 식별하고 분류하는 데 사용할 수 있음). 암호화 컨텍스트 페어는 밑줄(_), 대시(-), 슬래시(/, \), 콜론(:) 같은 특수 문자를 포함할 수 있습니다.

작은 정보

암호화 컨텍스트 페어의 값을 암호화된 데이터와 연관시키는 것이 유용할 수 있습니다. 필수 사항은 아니지만 파일 이름, 헤더 값 또는 암호화되지 않은 데이터베이스 필드 등 암호화된 콘텐츠와 관련된 민감하지 않은 메타데이터를 사용하는 것이 좋습니다.

API와 함께 출력 암호화를 사용하려면 StartMedicalScribeJob 작업에서 KMSEncryptionContext 파라미터를 설정하세요. 출력 암호화 작업에 암호화 컨텍스트를 제공하려면 OutputEncryptionKMSKeyId 파라미터가 대칭 AWS KMS 키 ID를 참조해야 합니다.

스트리밍의 경우 MedicalScribeConfigurationEventMedicalScribeEncryptionSettings에서 KmsEncryptionContext에 대한 키 값 페어를 지정합니다.

IAM 정책과 함께 AWS KMS 조건 키를 사용하여 암호화 작업 요청의 암호화 컨텍스트를 기반으로 대칭 암호화 AWS KMS 키에 대한 액세스를 제어할 수 있습니다. 암호화 컨텍스트 정책의 예는 AWS KMS 암호화 컨텍스트 정책을 참조하세요.

암호화 컨텍스트는 선택 사항이지만 권장됩니다. 자세한 정보는 암호화 컨텍스트를 참조하세요.

AWS HealthScribe 암호화 컨텍스트

AWS HealthScribe는 모든 AWS Key Management Service 암호화 작업에서 동일한 암호화 컨텍스트를 사용합니다. 암호화 컨텍스트는 원하는 모든 것에 맞게 사용자 지정할 수 있는 문자열과 문자열의 지도입니다.

"encryptionContext": { "ECKey": "ECValue" ... }

AWS HealthScribe 스트림의 경우 기본 서비스 생성 암호화 컨텍스트는 다음과 같습니다. 이 컨텍스트는 사용자가 제공하는 모든 암호화 컨텍스트 위에 적용됩니다.

"encryptionContext": { "aws:<region>:transcribe:medical-scribe:session-id": "1234abcd-12ab-34cd-56ef-123456SAMPLE" }

AWS HealthScribe 전사 작업의 경우 기본 서비스 생성 암호화 컨텍스트는 다음과 같습니다. 이 컨텍스트는 사용자가 제공하는 모든 암호화 컨텍스트 위에 적용됩니다.

"encryptionContext": { "aws:<region>:transcribe:medical-scribe:job-name": "<job-name>", "aws:<region>:transcribe:medical-scribe:start-time-epoch-ms": "<job-start-time>" }

암호화 컨텍스트를 제공하지 않으면 서비스에서 생성한 암호화 컨텍스트만 모든 AWS KMS 암호화 작업에 사용됩니다.

암호화 컨텍스트를 사용하여 AWS HealthScribe 모니터링

대칭형 고객 관리형 키를 사용하여 AWS HealthScribe 저장 데이터를 암호화하는 경우 감사 레코드 및 로그의 암호화 컨텍스트를 사용하여 고객 관리형 키가 사용되는 방식을 식별할 수도 있습니다. 암호화 컨텍스트는 AWS CloudTrail 또는 CloudWatch Logs에서 생성된 로그에도 나타납니다.

암호화 컨텍스트를 사용하여 고객 관리형 키에 대한 액세스 제어

그러나 키 정책 및 IAM 정책에서 암호화 컨텍스트를 조건으로 사용하여 대칭형 고객 관리형 키에 대한 액세스를 제어할 수도 있습니다.

다음은 특정 암호화 컨텍스트에서 고객 관리형 키에 대한 액세스 권한을 부여하는 키 정책 설명의 예입니다. 이 정책 설명의 조건에 따라 KMS 키 사용에는 암호화 컨텍스트를 지정하는 암호화 컨텍스트 제약 조건이 있어야 합니다.

AWS HealthScribe을 위한 암호화 키 모니터링

AWS HealthScribe에서 AWS Key Management Service 고객 관리형 키를 사용하는 경우 AWS CloudTrail 또는 CloudWatch 로그를 사용하여 AWS HealthScribe가 AWS KMS로 보내는 요청을 추적할 수 있습니다.

다음 예제는 AWS HealthScribe가 고객 관리형 키를 사용하는 방식을 모니터링할 수 있도록 사용할 수 있는 CloudTrail Encrypt 및 Decrypt 이벤트입니다.

암호화

{ "eventVersion":"1.09", "userIdentity":{ "type":"AssumedRole", "principalId":"AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn":"arn:aws:sts::123456789012:assumed-role/Admin/Sampleuser01", "accountId":"123456789012", "accessKeyId":"AKIAIOSFODNN7EXAMPLE3", "sessionContext":{ "sessionIssuer":{ "type":"Role", "principalId":"AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn":"arn:aws:sts::123456789012:assumed-role/Admin/Sampleuser01", "accountId":"123456789012", "userName":"Admin" }, "attributes":{ "creationDate":"2024-08-16T01:10:05Z", "mfaAuthenticated":"false" } }, "invokedBy":"transcribe.streaming.amazonaws.com" }, "eventTime":"2024-08-16T01:10:05Z", "eventSource":"kms.amazonaws.com", "eventName":"Encrypt", "awsRegion":"us-east-1", "sourceIPAddress":"transcribe.streaming.amazonaws.com", "userAgent":"transcribe.streaming.amazonaws.com", "requestParameters":{ "encryptionContext":{ "aws:us-east-1:transcribe:medical-scribe:session-id":"1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "encryptionAlgorithm":"SYMMETRIC_DEFAULT", "keyId":"1234abcd-12ab-34cd-56ef-1234567890ab" }, "responseElements":null, "requestID":"cbe0ac33-8cca-49e5-9bb5-dc2b8dfcb389", "eventID":"1b9fedde-aa96-48cc-9dd9-a2cce2964b3c", "readOnly":true, "resources":[ { "accountId":"123456789012", "type":"AWS::KMS::Key", "ARN":"arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType":"AwsApiCall", "managementEvent":true, "recipientAccountId":"123456789012", "eventCategory":"Management" }

Decrypt

{ "eventVersion":"1.09", "userIdentity":{ "type":"AssumedRole", "principalId":"AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn":"arn:aws:sts::123456789012:assumed-role/Admin/Sampleuser01", "accountId":"123456789012", "accessKeyId":"AKIAIOSFODNN7EXAMPLE3", "sessionContext":{ "sessionIssuer":{ "type":"Role", "principalId":"AROAIGDTESTANDEXAMPLE:Sampleuser01", "arn":"arn:aws:sts::123456789012:assumed-role/Admin/Sampleuser01", "accountId":"123456789012", "userName":"Admin" }, "attributes":{ "creationDate":"2024-08-16T20:47:04Z", "mfaAuthenticated":"false" } }, "invokedBy":"transcribe.streaming.amazonaws.com" }, "eventTime":"2024-08-16T20:47:04Z", "eventSource":"kms.amazonaws.com", "eventName":"Decrypt", "awsRegion":"us-east-1", "sourceIPAddress":"transcribe.streaming.amazonaws.com", "userAgent":"transcribe.streaming.amazonaws.com", "requestParameters":{ "keyId":"mrk-de27f019178f4fbf86512ab03ba860be", "encryptionAlgorithm":"SYMMETRIC_DEFAULT", "encryptionContext":{ "aws:us-east-1:transcribe:medical-scribe:session-id":"1234abcd-12ab-34cd-56ef-123456SAMPLE" } }, "responseElements":null, "requestID":"8b7fb865-48be-4e03-ac3d-e7bee3ba30a1", "eventID":"68b7a263-d410-4701-9e2b-20c196628966", "readOnly":true, "resources":[ { "accountId":"123456789012", "type":"AWS::KMS::Key", "ARN":"arn:aws:kms:us-west-2:123456789012:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType":"AwsApiCall", "managementEvent":true, "recipientAccountId":"123456789012", "eventCategory":"Management" }