As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Criptografia de dados
Este tópico fornece informações específicas às decisões do Amazon Connect sobre criptografia em trânsito e criptografia em repouso.
Criptografia em trânsito
Toda a comunicação entre os clientes e as decisões do Amazon Connect e entre as decisões do Amazon Connect e suas dependências downstream é protegida usando conexões TLS 1.2 ou superiores.
Criptografia em repouso
Todos os dados em repouso são criptografados usando criptografia do lado do servidor. Nenhuma configuração adicional é necessária, pois a criptografia é tratada de forma transparente pelo serviço.
Por padrão, o Amazon Connect Decisions criptografa seus dados usando chaves de criptografia de propriedade da AWS do AWS Key Management Service (AWS KMS). Você não precisa tomar nenhuma ação para proteger as chaves de propriedade da AWS que criptografam seus dados. Para obter mais informações, consulte as chaves de propriedade da AWS no Guia do desenvolvedor do AWS Key Management Service.
Opcionalmente, você pode configurar uma chave KMS gerenciada pelo cliente para ter controle total sobre o ciclo de vida da chave, incluindo criação, rotação, desativação e gerenciamento de políticas de acesso.
Criptografando dados em repouso usando chaves KMS gerenciadas pelo cliente
Como o Amazon Connect Decisions usa uma chave KMS gerenciada pelo cliente
Quando você configura uma chave KMS gerenciada pelo cliente, o Amazon Connect Decisions a usa para criptografar todos os dados em sua instância em repouso. Isso inclui dados armazenados em toda a infraestrutura subjacente do serviço.
O serviço acessa sua chave por meio de três mecanismos:
-
Principal do serviço — O principal do
scn.amazonaws.com.rproxy.goskope.comserviço chama o KMS diretamente para criptografar, descriptografar e GenerateDataKey operar, transmitindo contexto de criptografia e cabeçalhos secundários confusos. -
Subsídios — O serviço cria concessões em sua chave quando você cria uma instância. Essas concessões permitem que os serviços dependentes da AWS criptografem e descriptografem dados usando sua chave. As concessões são retiradas quando a instância é excluída.
-
Função de instância via FAS — Uma função vinculada ao serviço acessa sua chave por meio da
scn.<region>.amazonaws.com.rproxy.goskope.comViaService condição quando você interage com o console.
Contexto de criptografia: todas as operações diretas do KMS incluem o seguinte contexto de criptografia:
{"aws:scn:arn": "arn:aws:scn:<region>:<account-id>:instance/<instance-id>"}
Cache de chaves de dados: o Amazon Connect Decisions armazena chaves de dados em cache por até 15 minutos. Isso significa que, após você desativar ou revogar o acesso à sua chave KMS, o serviço poderá continuar usando uma chave de dados em cache por até 15 minutos antes que as operações comecem a falhar.
Configurando uma chave KMS gerenciada pelo cliente
O Amazon Connect Decisions suporta somente chaves KMS de criptografia simétrica. Multi-region as chaves são suportadas.
Configurando permissões para usar uma chave KMS gerenciada pelo cliente
Para usar uma chave KMS gerenciada pelo cliente, configure sua política de chaves seguindo estas três etapas:
-
Crie uma chave KMS com a política básica abaixo.
-
Crie uma instância do Amazon Connect Decisions e selecione essa chave.
-
(Opcional, recomendado) Atualize a política de chaves com restrições no nível da instância.
Etapa 1 — Crie uma chave com a política básica
Abra o console do AWS KMS<customer-account-id>Substitua pelo ID da sua conta da AWS e <region> pela sua região da AWS.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAccountRootFullAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<customer-account-id>:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "AllowScnRetrievalOfKeyMetadata", "Effect": "Allow", "Principal": { "Service": "scn.amazonaws.com" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "<customer-account-id>" } } }, { "Sid": "AllowScnEncryptDecryptWithContext", "Effect": "Allow", "Principal": { "Service": "scn.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "<customer-account-id>" } } }, { "Sid": "AllowScnCryptoViaDependencyServices", "Effect": "Allow", "Principal": { "Service": "scn.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": [ "redshift-serverless.<region>.amazonaws.com", "aoss.<region>.amazonaws.com", "dynamodb.<region>.amazonaws.com", "s3.<region>.amazonaws.com" ] } } }, { "Sid": "AllowScnCreateGrantForDependencyServices", "Effect": "Allow", "Principal": { "Service": "scn.amazonaws.com" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Encrypt", "Decrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "DescribeKey", "RetireGrant", "ReEncryptFrom", "ReEncryptTo", "CreateGrant" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Sid": "AllowInstanceRoleDescribeKey", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "kms:DescribeKey", "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/service-role/scn-instance-role-*" }, "StringEquals": { "kms:ViaService": "scn.<region>.amazonaws.com" } } }, { "Sid": "AllowInstanceRoleEncryptDecrypt", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/service-role/scn-instance-role-*" }, "StringEquals": { "kms:ViaService": "scn.<region>.amazonaws.com" } } }, { "Sid": "AllowInstanceRoleCreateGrant", "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/service-role/scn-instance-role-*" }, "StringEquals": { "kms:ViaService": "scn.<region>.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Encrypt", "Decrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "DescribeKey", "CreateGrant" ] }, "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }
Explicações da declaração de política:
-
AllowAccountRootFullAccess— Garante que o proprietário da chave mantenha o controle total. Necessário para evitar o bloqueio da chave.
-
AllowScnRetrievalOfKeyMetadata— Permite que o serviço valide a configuração da chave durante a criação da instância. Escopo para sua conta via
aws:SourceAccount. -
AllowScnEncryptDecryptWithContext— Permite operações criptográficas diretas em seus dados. Após a Etapa 3, esse escopo é ampliado para sua instância específica por meio do contexto de criptografia.
-
AllowScnCryptoViaDependencyServices— Permite operações criptográficas por meio de serviços de dependência que não oferecem suporte ao contexto de criptografia. Com escopo definido por meio
kms:ViaServicede dois terminais de serviço específicos. -
AllowScnCreateGrantForDependencyServices— Permite a criação de subsídios para serviços de dependência. Limitado às operações listadas e restrito somente aos recursos da AWS.
-
AllowInstanceRoleDescribeKey— permite que a função vinculada ao serviço da instância descreva a chave por meio do FAS.
-
AllowInstanceRoleEncryptDecrypt— Permite que a função da instância decifre e gere chaves de dados via FAS.
-
AllowInstanceRoleCreateGrant— Permite que a função da instância crie concessões para integrações posteriores.
Etapa 2 — Crie sua instância do Amazon Connect Decisions
Durante a criação da instância, selecione Chave gerenciada pelo cliente nas configurações de criptografia e escolha a chave que você criou na Etapa 1.
Importante
Você não pode alterar essa seleção após a criação da instância. Se você precisar usar uma chave diferente no futuro, deverá criar uma nova instância.
Etapa 3 (opcional) — Adicionar restrições no nível da instância
Depois de criar sua instância, atualize a política de chaves para restringir o acesso somente a essa instância. Isso evita que outras instâncias na mesma conta usem a chave.
Substitua <customer-account-id><region>, e <instance-id> (o UUID visível no console do Amazon Connect Decisions).
As mudanças da política básica são:
-
Adicione
aws:SourceArncondições às declarações principais do serviço, restringindo ao ARN da sua instância. -
Adicione
kms:EncryptionContext:aws:scn:arncondições às operações criptográficas, exigindo que o contexto de criptografia corresponda à sua instância.
Política atualizada (mostrando somente as declarações que mudam):
AllowScnRetrievalOfKeyMetadata— adicionar ArnLike condição:
"Condition": { "StringEquals": { "aws:SourceAccount": "<customer-account-id>" }, "ArnLike": { "aws:SourceArn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>" } }
AllowScnEncryptDecryptWithContext— adição EncryptionContext e SourceArn condições:
"Condition": { "StringEquals": { "aws:SourceAccount": "<customer-account-id>", "kms:EncryptionContext:aws:scn:arn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>" }, "ArnLike": { "aws:SourceArn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>" } }
AllowInstanceRoleEncryptDecrypt— adicionar EncryptionContext condição:
"Condition": { "ArnLike": { "aws:PrincipalArn": "arn:aws:iam::<customer-account-id>:role/scn-instance-role-*" }, "StringEquals": { "kms:EncryptionContext:aws:scn:arn": "arn:aws:scn:<region>:<customer-account-id>:instance/<instance-id>", "kms:ViaService": "scn.<region>.amazonaws.com" } }
Criação de uma nova instância com uma chave KMS gerenciada pelo cliente
Você seleciona a chave KMS durante a criação da instância no console do Amazon Connect Decisions. Para obter mais informações sobre a criação de uma instância, consulte Criação de uma instância do Amazon Connect Decisions.
Alterando a configuração de criptografia em uma instância existente
O Amazon Connect Decisions não suporta a alteração da chave KMS em uma instância ativa. Se você precisar usar uma chave diferente, deverá criar uma nova instância configurada com a chave desejada. Os dados criptografados com a chave anterior não são retidos na nova instância.
Definindo o escopo do acesso à chave KMS gerenciada pelo cliente
Você pode restringir o acesso à sua chave usando os seguintes mecanismos:
-
Contexto de criptografia — Use
kms:EncryptionContext:aws:scn:arnem sua política de chaves para restringir as operações a uma instância específica (consulte a Etapa 3). -
Proteção delegada confusa — O serviço passa
aws:SourceAccounteaws:SourceArnrecebe chamadas KMS. Use essas condições para garantir que somente sua conta e instância possam acessar a chave. -
kms: ViaService — A função da instância acessa a chave somente por meio
scn.<region>.amazonaws.com, impedindo o uso direto fora do serviço. -
Restrições de concessão — As concessões têm escopo
kms:GrantIsForAWSResourcee são limitadas às operações listadas explicitamente.
nota
Os serviços de dependência (Redshift Serverless, OpenSearch Serverless, DynamoDB) não suportam contexto de criptografia nem cabeçalhos secundários confusos. O acesso a esses serviços é definido kms:ViaService apenas usando.
Monitoramento da interação das decisões do Amazon Connect com o AWS KMS
Você pode usar CloudTrail a AWS para rastrear solicitações de KMS que o Amazon Connect Decisions faz em seu nome. Procure entradas de registro com os seguintes valores:
| Campo | Valor esperado |
|---|---|
eventName |
|
usuário Identity.invokedBy |
|
solicitação Parameters.encryptionContext |
|
Você pode filtrar CloudTrail eventos usando esses valores para auditar quando e como o Amazon Connect Decisions acessa sua chave KMS.
Para obter mais informações, consulte Registro de chamadas de API do AWS KMS com a AWS CloudTrail.