Amazon Connect에 저장 시 암호화 - Amazon Connect

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

Amazon Connect에 저장 시 암호화

PII로 분류된 고객 응대 데이터 또는 Amazon Connect에서 저장 중인 고객 콘텐츠를 나타내는 데이터는에서 소유한 암호화 키를 사용하여 저장 시(즉, 디스크에 저장, 저장 또는 저장되기 전) AWS KMS 암호화됩니다 AWS. AWS KMS 키에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서란 무엇입니까 AWS Key Management Service?를 참조하세요. 비임시 스토리지에 있는 고객 응대 데이터는 암호화되어 KMS 키에서 생성된 데이터 암호화 키가 Amazon Connect 인스턴스 간에 공유되지 않습니다.

Amazon S3 서버 측 암호화는 대화 녹음(음성 및 채팅)을 암호화하는 데 사용됩니다. 통화 녹음, 화면 녹화 및 녹취록은 두 단계로 저장됩니다.

  • 고객 응대 중과 고객 응대 후, 그러나 제공 이전에 Amazon Connect 내에서 일시적으로 보류된 레코딩.

  • Amazon S3 버킷에 저장된 레코딩.

Amazon S3 버킷에 저장된 레코딩 및 채팅 기록은 인스턴스 생성 시 구성한 KMS 키를 사용하여 보호됩니다.

Amazon Connect의 키 관리에 대한 자세한 내용은 Amazon Connect의 키 관리 섹션을 참조하세요.

유휴 시 Amazon App Integration의 데이터 암호화

고객 관리형 키로 암호화된 DataIntegration을 생성하면 Amazon AppIntegrations는 CreateGrant 요청을에 전송하여 사용자를 대신하여 권한을 생성합니다 AWS KMS. 의 권한 부여 AWS KMS 는 Amazon AppIntegrations에 계정의 KMS 키에 대한 액세스 권한을 부여하는 데 사용됩니다.

언제든지 권한 부여에 대한 액세스 권한을 취소하거나 고객 관리형 키에 대한 Amazon AppIntegrations의 액세스 권한을 제거할 수 있습니다. 그렇게 하면 Amazon AppIntegrations는 고객 관리형 키로 암호화된 데이터에 액세스할 수 없으며, 이는 해당 데이터에 종속된 작업에 영향을 미칩니다.

Amazon AppIntegrations가 처리하는 외부 애플리케이션 데이터는 구성 중에 제공한 고객 관리형 키를 사용하여 S3 버킷에서 유휴 시 암호화됩니다. 통합 구성 데이터는 시간 제한이 있고 사용자 계정에 특정한 키를 사용하여 유휴 시 암호화됩니다.

Amazon AppIntegrations는 다음 내부 작업에 대해 고객 관리형 키를 사용하기 위한 권한 부여가 필요합니다.

  • GenerateDataKeyRequest 로 전송 AWS KMS 하여 고객 관리형 키로 암호화된 데이터 키를 생성합니다.

  • 데이터를 암호화하는 AWS KMS 데 사용할 수 있도록 암호화된 데이터 키를 복호화하기 위해에 Decrypt 요청을 보냅니다.

유휴 시 Amazon Connect Cases 데이터 암호화

Amazon Connect Cases에 저장된 필드, 사례 설명, 필드 및 템플릿에 대한 설명의 모든 고객 제공 데이터는 AWS Key Management Service ()에 저장된 암호화 키를 사용하여 저장 시 암호화됩니다AWS KMS.

Amazon Connect Cases 서비스는 높은 보안 표준을 충족하기 위해 암호화 키(즉, AWS 소유 키)를 소유, 관리, 모니터링 및 교체합니다. 사례 이벤트 스트림의 페이로드는 고객 계정의 기본 버스를 통해 제공되기 전에 Amazon EventBridge에 일시적으로(일반적으로 몇 초 동안) 저장됩니다. 또한 EventBridge는를 사용하여 유휴 상태의 전체 페이로드를 암호화합니다 AWS 소유 키.

유휴 시 Amazon Connect Customer Profiles 데이터 암호화

Amazon Connect Customer Profiles에 저장된 사용자 데이터는 유휴 시 암호화됩니다. Amazon Connect Customer Profiles 저장 데이터 암호화는 AWS Key Management Service ()에 저장된 암호화 키를 사용하여 저장 데이터를 모두 암호화하여 보안을 강화합니다AWS KMS. 이 기능을 사용하면 중요한 데이터 보호와 관련된 운영 부담 및 복잡성을 줄일 수 있습니다. 저장 시 암호화를 사용하면 엄격한 암호화 규정 준수 및 규제 요구 사항이 필요한, 보안에 민감한 애플리케이션을 구축할 수 있습니다.

조직의 정책, 업계나 정부 규범 및 규정 준수 요건에 따라 유휴 시 암호화를 사용하여 애플리케이션의 데이터 보안을 강화해야 할 수 있습니다. Customer Profiles는 저장 시 암호화 전략을 활성화 AWS KMS 하기 위해와 통합됩니다. 자세한 내용은 AWS Key Management Service 개발자 안내서의 AWS Key Management Service 개념 섹션을 참조하세요.

새 도메인을 생성할 때 서비스에서 전송 중 및 유휴 시 데이터를 암호화하는 데 사용할 KMS 키를 제공해야 합니다. 고객 관리형 키는 사용자가 생성, 소유, 관리합니다. 고객 관리형 키(AWS KMS 요금 적용)를 완전히 제어할 수 있습니다.

새 도메인 또는 프로필 객체 유형을 생성할 때 암호화 키를 지정하거나 AWS Command Line Interface(AWS CLI) 또는 Amazon Connect Customer Profiles Encryption API를 사용하여 기존 리소스에서 암호화 키를 전환할 수 있습니다. 고객 관리형 키를 선택하면 Amazon Connect Customer Profiles은 고객 관리형 키에 대한 액세스 권한을 부여하는 권한을 고객 관리형 키에 생성합니다.

AWS KMS 고객 관리형 키에는 요금이 적용됩니다. 요금에 대한 자세한 내용은 AWS KMS 요금을 참조하세요.

저장 시 Amazon Q in Connect 암호화

Amazon Q in Connect에 저장된 모든 사용자 데이터는 AWS Key Management Service에 저장된 암호화 키를 사용하여 저장 시 암호화됩니다. 필요에 따라 고객 관리형 키를 입력하는 경우 Amazon Q in Connect는 이 키를 사용하여 Amazon Q in Connect 검색 인덱스 외부에 저장 시 저장된 기술 콘텐츠를 암호화합니다. Amazon Q in Connect는 고객당 전용 검색 인덱스를 사용하며 AWS 소유 키 저장된를 사용하여 저장 시 암호화됩니다 AWS Key Management Service. 또한 CloudTrail을 사용하여 Amazon Q in Connect API를 사용하는 모든 데이터 액세스를 감사할 수 있습니다.

AWS KMS 제공한 키를 사용할 때 요금이 적용됩니다. 요금에 대한 자세한 내용은 AWS KMS 요금을 참조하세요.

Amazon Connect Voice ID 유휴 시 암호화

Amazon Connect Voice ID는 등록된 고객의 음성을 얻거나 고객을 식별하기 위해 리버스 엔지니어링할 수 없는 고객 음성 지문을 저장합니다. Amazon Connect Voice ID에 저장된 사용자 데이터는 유휴 시 암호화됩니다. 새 Voice ID 도메인을 만들 때는 서비스에서 저장된 데이터를 암호화하는 데 사용하는 고객 관리형 키를 제공해야 합니다. 고객 관리형 키는 사용자가 생성, 소유, 관리합니다. 키에 대해 사용자가 모든 것을 제어합니다.

AWS 명령줄 인터페이스(AWS CLI)의 update-domain 명령 또는 UpdateDomain Voice ID API를 사용하여 Voice ID 도메인에서 KMS 키를 업데이트할 수 있습니다.

KMS 키를 변경하면 비동기 프로세스가 트리거되어 이전 데이터를 새 KMS 키로 다시 암호화합니다. 이 프로세스가 완료되면 도메인의 모든 데이터가 새 KMS 키로 암호화되므로 이전 키는 안전하게 사용을 중지할 수 있습니다. 자세한 내용은 UpdateDomain을 참조하세요.

음성 ID는 고객 관리형 키에 대한 액세스 권한을 부여하는 권한을 생성합니다. 자세한 내용은 Amazon Connect Voice ID가 AWS KMS에서 권한을 사용하는 방법 섹션을 참조하세요.

다음은 고객 관리형 키를 사용하여 유휴 시 암호화되는 데이터 목록입니다.

  • 음성 지문: 화자를 등록하고 시스템에 사기범을 등록하는 동안 생성된 음성 인쇄입니다.

  • 화자 및 사기범의 오디오: 화자를 등록하고 사기범을 등록하는 데 사용되는 오디오 데이터입니다.

  • CustomerSpeakerId: 고객을 Voice ID에 등록할 때 고객이 제공한 SpeakerId입니다.

  • 고객 제공 메타데이터: 여기에는 Domain, Description, Domain Name, Job Name 등의 자유 형식 문자열이 포함됩니다.

AWS KMS 고객 관리형 키에는 요금이 적용됩니다. 요금에 대한 자세한 내용은 AWS KMS 요금을 참조하세요.

Amazon Connect Voice ID가 AWS KMS에서 권한을 사용하는 방법

Amazon Connect Voice ID는 고객 관리형 키를 사용하려면 권한 부여가 필요합니다. 도메인을 생성할 때 Voice ID는 CreateGrant 요청을에 전송하여 사용자를 대신하여 권한을 생성합니다 AWS KMS. 다음 내부 작업에 고객 관리형 키를 사용하려면 이 권한이 필요합니다.

  • DescribeKey 요청을에 전송 AWS KMS 하여 제공된 대칭 고객 관리형 키 ID가 유효한지 확인합니다.

  • GenerateDataKey 요청을 KMS 키로 전송하여 객체를 암호화하는 데 사용할 데이터 키를 생성합니다.

  • AWS KMS 에 복호화 요청을 보내 암호화된 데이터 키를 복호화하여 데이터를 암호화하는 데 사용할 수 있도록 합니다.

  • 키를 업데이트하여 새 키를 사용하여 제한된 데이터 세트를 다시 암호화할 AWS KMS 때에 ReEncrypt 요청을 보냅니다.

  • AWS KMS 키를 사용하여 S3에 파일을 저장하여 데이터를 암호화합니다.

언제든지 권한 부여에 대한 액세스 권한을 취소하거나 고객 관리형 키에 대한 서비스 액세스를 제거할 수 있습니다. 그렇게 하면 Voice ID는 고객 관리형 키로 암호화된 데이터에 액세스할 수 없으며, 이는 해당 데이터에 의존하는 모든 작업에 영향을 미치고 비동기식 워크플로에서 AccessDeniedException 오류 및 실패로 이어집니다.

Voice ID에 대한 고객 관리형 키 정책

키 정책에서는 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 만들 때 키 정책을 지정할 수 있습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서의 KMS 키에 대한 액세스 관리를 참조하세요.

다음은 고객에게 고객 관리형 키를 사용하여 모든 Voice ID API를 호출하는 데 필요한 권한을 부여하는 키 정책의 예입니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Allow key access to Amazon Connect VoiceID.", "Effect": "Allow", "Principal": { "AWS": "your_user_or_role_ARN" }, "Action": [ "kms:CreateGrant", "kms:Decrypt", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "voiceid.region.amazonaws.com" ] } } } ] }

정책에서 권한을 지정하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 IAM 정책 설명에서 KMS 키 지정을 참조하세요.

키 액세스 문제 해결에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 키 액세스 문제 해결을 참조하세요.

Voice ID 암호화 컨텍스트

암호화 컨텍스트는 데이터에 대한 추가 컨텍스트 정보가 포함된 선택적 키-값 페어 세트입니다.는 암호화 컨텍스트를 인증된 추가 데이터로 AWS KMS 사용하여 인증된 암호화를 지원합니다.

데이터 암호화 요청에 암호화 컨텍스트를 포함하는 경우, AWS KMS 는 암호화된 데이터에 암호화 컨텍스트를 바인딩합니다. 데이터 복호화를 위해, 이 요청에 동일한 암호화 컨텍스트를 포함합니다.

Voice ID는 모든 암호화 작업에서 동일한 암호화 컨텍스트를 사용합니다. 여기서 키는 AWS KMS aws:voiceid:domain:arn이고 값은 리소스 Amazon 리소스 이름(ARN) Amazon 리소스 이름(ARN)입니다.

"encryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }

감사 기록 및 로그의 암호화 컨텍스트를 사용하여 고객 관리형 키가 어떻게 사용되고 있는지 파악할 수도 있습니다. 암호화 컨텍스트는 CloudTrail 또는 Amazon CloudWatch 로그에서 생성한 로그에도 나타납니다.

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

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

Amazon Connect Voice ID는 권한 부여 시 암호화 컨텍스트 제약 조건을 사용하여 계정 또는 리전의 고객 관리형 키에 대한 액세스를 제어합니다. 권한 부여 제약 조건에 따라 권한 부여가 허용하는 작업은 지정된 암호화 컨텍스트를 사용해야 합니다.

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

{ "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:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId"" } } }

Voice ID에 대한 암호화 키 모니터링 대상

Voice ID와 함께 AWS KMS 고객 관리형 키를 사용하는 경우 AWS CloudTrail 또는 Amazon CloudWatch Logs를 사용하여 Voice ID가 보내는 요청을 추적할 수 있습니다 AWS KMS.

다음 예제는 Voice ID가 고객 관리형 키로 암호화된 데이터에 액세스하기 위해 호출하는 CreateGrant 작업에 대한 샘플 AWS CloudTrail 이벤트입니다.

CreateGrant
{ "eventVersion": "1.08", "userIdentity": { "type": "AssumedRole", "principalId": "AROA5STZEFPSZEOW7NP3X:SampleUser1", "arn": "arn:aws:sts::111122223333:assumed-role/SampleRole/SampleUser", "accountId": "111122223333", "accessKeyId": "AAAAAAA1111111EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROA5STZEFPSZEOW7NP3X", "arn": "arn:aws:iam::111122223333:role/SampleRole", "accountId": "111122223333", "userName": "SampleUser" }, "webIdFederationData": {}, "attributes": { "creationDate": "2021-09-14T23:02:23Z", "mfaAuthenticated": "false" } }, "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-09-14T23:02:50Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "SampleIpAddress", "userAgent": "Example Desktop/1.0 (V1; OS)", "requestParameters": { "constraints": { "encryptionContextSubset": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" } }, "retiringPrincipal": "voiceid.amazonaws.com", "keyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "operations": [ "CreateGrant", "Decrypt", "DescribeKey", "GenerateDataKey", "GenerateDataKeyPair", "GenerateDataKeyPairWithoutPlaintext", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo" ], "granteePrincipal": "voiceid.amazonaws.com " }, "responseElements": { "grantId": "00000000000000000000000000000cce47be074a8c379ed39f22b155c6e86af82" }, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
DescribeKey
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-13T15:12:39Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "keyId": "alias/sample-key-alias" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
Decrypt
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-12T23:59:34Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "encryptionContext": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "encryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "encryptionAlgorithm": "SYMMETRIC_DEFAULT" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "35d58aa1-26b2-427a-908f-025bf71241f6", "eventCategory": "Management" }
GenerateDataKeyWithoutPlaintext
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-13T00:26:41Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKeyWithoutPlaintext", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "encryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "keySpec": "AES_256" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "35d58aa1-26b2-427a-908f-025bf71241f6", "eventCategory": "Management" }
ReEncrypt
{ "eventVersion": "1.08", "userIdentity": { "type": "AWSService", "invokedBy": "voiceid.amazonaws.com" }, "eventTime": "2021-10-13T00:59:05Z", "eventSource": "kms.amazonaws.com", "eventName": "ReEncrypt", "awsRegion": "us-west-2", "sourceIPAddress": "voiceid.amazonaws.com", "userAgent": "voiceid.amazonaws.com", "requestParameters": { "destinationEncryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "destinationKeyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111", "sourceEncryptionAlgorithm": "SYMMETRIC_DEFAULT", "sourceAAD": "SampleSourceAAAD+JXBmH+ZJNM73BfHE/dwQALXp7Sf44VwvoJOrLj", "destinationAAD": "SampleDestinationAAAD+JXBmH+ZJNM73BfHE/dwQALXp7Sf44VwvoJOrLj", "sourceEncryptionContext": { "aws:voiceid:domain:arn": "arn:aws:voiceid:us-west-2:111122223333:domain/sampleDomainId" }, "destinationEncryptionAlgorithm": "SYMMETRIC_DEFAULT", "sourceKeyId": "arn:aws:kms:us-west-2:111122223333:key/55555555-3333-2222-1111-EXAMPLE22222" }, "responseElements": null, "requestID": "ed0fe4ab-305b-4388-8adf-7e8e3a4e80fe", "eventID": "31d0d7c6-ce5b-4caf-901f-025bf71241f6", "readOnly": true, "resources": [{ "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-9999999999999" }, { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/00000000-1111-2222-3333-7777777777777" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "sharedEventID": "35d58aa1-26b2-427a-908f-025bf71241f6", "eventCategory": "Management" }

저장 중 아웃바운드 캠페인 암호화

아웃바운드 캠페인은 고객 전화번호와 관련 속성을 저장합니다. 이 정보는 항상 고객 관리형 키 또는 AWS 소유 키를 사용하여 저장 시 암호화됩니다. 데이터는 Amazon Connect 인스턴스 ID로 구분되며 인스턴스별 키로 암호화됩니다.

아웃바운드 캠페인에 온보딩할 때 자체 고객 관리형 키를 제공할 수 있습니다.

이 서비스는 고객 관리형 키를 사용하여 저장된 민감한 데이터를 암호화합니다. 이 키는 사용자가 생성, 소유 및 완벽하게 관리하므로 사용 및 보안을 완벽하게 제어할 수 있습니다.

자체 고객 관리형 키를 제공하지 않으면 아웃바운드 캠페인은 인스턴스에 고유한 AWS 소유 키를 사용하여 저장된 민감한 데이터를 암호화합니다 Amazon Connect . AWS 소유 키를 보거나 관리하거나 사용하거나 감사할 수 없습니다. 그러나 데이터를 암호화하는 키를 보호하기 위해 어떤 조치를 취하거나 프로그램을 변경할 필요는 없습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서AWS 소유 키를 참조하세요.

AWS KMS 고객 관리형 키에는 요금이 적용됩니다. 요금에 대한 자세한 내용은 AWS KMS 요금을 참조하세요.

아웃바운드 캠페인이에서 권한 부여를 사용하는 방법 AWS KMS

아웃바운드 캠페인에서 고객 관리형 키를 사용하려면 권한 부여가 필요합니다. AWS 콘솔 또는 StartInstanceOnboardingJob API를 사용하여 아웃바운드 캠페인에 온보딩하면 아웃바운드 캠페인은 CreateGrant 요청을 전송하여 사용자를 대신하여 권한을 생성합니다 AWS KMS. 의 권한 부여 AWS KMS 는 Amazon Connect 아웃바운드 캠페인 서비스 연결 역할에 계정의 KMS 키에 대한 액세스 권한을 부여하는 데 사용됩니다.

아웃바운드 캠페인은 다음과 같은 내부 작업에 고객 관리형 키를 사용하려면 권한 부여가 필요합니다.

  • DescribeKey 요청을에 전송 AWS KMS 하여 제공된 대칭 고객 관리형 키 ID가 유효한지 확인합니다.

  • GenerateDataKeyWithoutPlainText요청을 AWS KMS 보내 고객 관리형 키로 암호화된 데이터 키를 생성합니다.

  • 데이터를 암호화하는 AWS KMS 데 사용할 수 있도록 암호화된 데이터 키를 복호화하기 위해에 Decrypt 요청을 보냅니다.

권한 부여에 대한 액세스를 취소하거나 언제든지 고객 관리형 키에 대한 아웃바운드 캠페인의 액세스를 제거할 수 있습니다. 이렇게 하면 아웃바운드 캠페인이 고객 관리형 키로 암호화된 데이터에 액세스할 수 없으므로 해당 데이터에 의존하는 작업에 영향을 미칩니다.

아웃바운드 캠페인에 대한 고객 관리형 키 정책

키 정책에서는 고객 관리형 키에 대한 액세스를 제어합니다. 모든 고객 관리형 키에는 키를 사용할 수 있는 사람과 키를 사용하는 방법을 결정하는 문장이 포함된 정확히 하나의 키 정책이 있어야 합니다. 고객 관리형 키를 만들 때 키 정책을 지정할 수 있습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서의 KMS 키에 대한 액세스 관리를 참조하세요.

다음은 고객 관리형 키를 사용하여 아웃바운드 캠페인 StartInstanceOnboardingJob,PutDialRequestBatchandPutOutboundRequestBatch API를 호출하는 데 필요한 권한을 사용자에게 부여하는 예제 키 정책입니다.

{   "Version": "2012-10-17",   "Statement": [     {       "Sid": "Allow key access to Amazon Connect outbound campaigns.",       "Effect": "Allow",       "Principal": {         "AWS": "your_user_or_role_ARN"       },       "Action": [         "kms:Decrypt",         "kms:CreateGrant"       ],       "Resource": "*",       "Condition": {         "StringEquals": {           "kms:ViaService": [             "connect-campaigns.<region>.amazonaws.com"           ]         },         "StringEquals": {             "kms:EncryptionContext:aws:accountId": "111122223333",             "kms:EncryptionContext:aws:connect:instanceId": "sample instance id"         }       }     },     {         "Sid": "Allow direct access to key metadata to the account",         "Effect": "Allow",         "Principal": {             "AWS": [             "arn:aws:iam::111122223333:root"             ]         },         "Action": [             "kms:Describe*"         ],         "Resource": "*"      }   ] }

정책에서 권한을 지정하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 IAM 정책 설명에서 KMS 키 지정을 참조하세요.

키 액세스 문제 해결에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 키 액세스 문제 해결을 참조하세요.

아웃바운드 캠페인 암호화 컨텍스트

암호화 컨텍스트는 데이터에 대한 추가 컨텍스트 정보를 포함하는 선택적 키-값 페어 세트입니다.는 암호화 컨텍스트를 인증된 데이터로 AWS KMS 사용하여 인증된 암호화를 지원합니다.

데이터 암호화 요청에 암호화 컨텍스트를 포함하는 경우, AWS KMS 는 암호화된 데이터에 암호화 컨텍스트를 바인딩합니다. 데이터 복호화를 위해, 이 요청에 동일한 암호화 컨텍스트를 포함합니다.

아웃바운드 캠페인은 모든 AWS KMS 암호화 작업에서 동일한 암호화 컨텍스트를 사용합니다. 여기서 키는 aws:accountIdand aws:connect:instanceId이고 값은 aws 계정 ID 및 Connect 인스턴스 ID입니다.

"encryptionContext": {    "aws:accountId": "111122223333",    "aws:connect:instanceId": "sample instance id" }

감사 기록 및 로그의 암호화 컨텍스트를 사용하여 고객 관리형 키가 어떻게 사용되고 있는지 파악할 수도 있습니다. 암호화 컨텍스트는 CloudTrail 또는 Amazon CloudWatch 로그에서 생성한 로그에도 나타납니다.

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

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

아웃바운드 캠페인은 권한 부여에 암호화 컨텍스트 제약 조건을 사용하여 계정 또는 리전의 고객 관리형 키에 대한 액세스를 제어합니다. 권한 부여 제약 조건에 따라 권한 부여가 허용하는 작업은 지정된 암호화 컨텍스트를 사용해야 합니다.

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

{     "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:accountId": "111122223333",              "kms:EncryptionContext:aws:connect:instanceId": "sample instance id"           }      } }

아웃바운드 캠페인에 대한 암호화 키 모니터링

아웃바운드 캠페인 리소스와 함께 AWS KMS 고객 관리형 키를 사용하는 경우 AWS CloudTrail 또는 Amazon CloudWatch Logs를 사용하여 Amazon Location이 보내는 요청을 추적할 수 있습니다 AWS KMS.

다음 예제는 CreateGrant, GenerateDataKeyWithoutPlainText, DescribeKey 및 Decrypt에 대한 AWS CloudTrail 이벤트로, Amazon Location에서 고객 관리형 키로 암호화된 데이터에 액세스하기 위해 호출하는 KMS 작업을 모니터링합니다.

CreateGrant
{ "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", "arn": "arn:aws:iam::111122223333:role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "attributes": { "creationDate": "2024-08-27T18:40:57Z", "mfaAuthenticated": "false" } }, "invokedBy": "connect-campaigns.amazonaws.com" }, "eventTime": "2024-08-27T18:46:29Z", "eventSource": "kms.amazonaws.com", "eventName": "CreateGrant", "awsRegion": "us-west-2", "sourceIPAddress": "connect-campaigns.amazonaws.com", "userAgent": "connect-campaigns.amazonaws.com", "requestParameters": { "constraints": { "encryptionContextSubset": { "aws:connect:instanceId": "1234abcd-12ab-34cd-56ef-123456SAMPLE", "aws:accountId": "111122223333" } }, "granteePrincipal": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE", "retiringPrincipal": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "operations": [ "Decrypt", "Encrypt", "DescribeKey", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo" ] }, "responseElements": { "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE", "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" }, "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::KMS::Key", "ARN": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }
GenerateDataKeyWithoutPlainText
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:connect-campaigns-session", "arn": "arn:aws:sts::111122223333:assumed-role/AWSServiceRoleForConnectCampaigns_EXAMPLE/connect-campaigns-session", "accountId": "111122223333", "accessKeyId": "AROAIGDTESTANDEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE", "accountId": "111122223333", "userName": "AWSServiceRoleForConnectCampaigns_EXAMPLE" }, "attributes": { "creationDate": "2024-08-27T18:46:29Z", "mfaAuthenticated": "false" } }, "invokedBy": "connect-campaigns.amazonaws.com" }, "eventTime": "2024-08-27T18:46:29Z", "eventSource": "kms.amazonaws.com", "eventName": "GenerateDataKeyWithoutPlaintext", "awsRegion": "us-west-2", "sourceIPAddress": "connect-campaigns.amazonaws.com", "userAgent": "connect-campaigns.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:connect:instanceId": "1234abcd-12ab-34cd-56ef-123456SAMPLE", "aws:accountId": "111122223333" }, "keyId": "arn:aws:kms:us-west-2:586277393662:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "keySpec": "AES_256" }, "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:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
DescribeKey
{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "AROAIGDTESTANDEXAMPLE:connect-campaigns-session", "arn": "arn:aws:sts::111122223333:assumed-role/AWSServiceRoleForConnectCampaigns_EXAMPLE/connect-campaigns-session", "accountId": "111122223333", "accessKeyId": "AROAIGDTESTANDEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AROAIGDTESTANDEXAMPLE", "arn": "arn:aws:iam::111122223333:role/aws-service-role/connect-campaigns.amazonaws.com/AWSServiceRoleForConnectCampaigns_EXAMPLE", "accountId": "111122223333", "userName": "AWSServiceRoleForConnectCampaigns_EXAMPLE" }, "attributes": { "creationDate": "2024-08-27T18:46:29Z", "mfaAuthenticated": "false" } }, "invokedBy": "connect-campaigns.amazonaws.com" }, "eventTime": "2024-08-27T18:46:29Z", "eventSource": "kms.amazonaws.com", "eventName": "DescribeKey", "awsRegion": "us-west-2", "sourceIPAddress": "connect-campaigns.amazonaws.com", "userAgent": "connect-campaigns.amazonaws.com", "requestParameters": { "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "grantTokens": [ "EL7BPAGG-KDm8661M1pl55WcQD_9ZgFwYXN-SAMPLE" ] }, "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:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }
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": "AKIAIOSFODNN7EXAMPLE3", "arn": "arn:aws:iam::111122223333:role/Admin/Sampleuser01", "accountId": "111122223333", "userName": "Admin" }, "attributes": { "creationDate": "2024-08-27T18:40:57Z", "mfaAuthenticated": "false" } }, "invokedBy": "connect-campaigns.amazonaws.com" }, "eventTime": "2024-08-27T19:09:02Z", "eventSource": "kms.amazonaws.com", "eventName": "Decrypt", "awsRegion": "us-west-2", "sourceIPAddress": "connect-campaigns.amazonaws.com", "userAgent": "connect-campaigns.amazonaws.com", "requestParameters": { "encryptionContext": { "aws:connect:instanceId": "1234abcd-12ab-34cd-56ef-123456SAMPLE", "aws:accountId": "111122223333" }, "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE", "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:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE" } ], "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }

예측, 용량 계획 및 일정

예측, 용량 계획 및 일정을 생성하면 저장된 암호화 키를 사용하여 모든 데이터가 저장 시 AWS 소유 키 암호화됩니다 AWS Key Management Service.