

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á.

# Usando criptografia com análise de voz
<a name="analytics-encryption"></a>

A análise de voz do Amazon Chime SDK armazena os arquivos de áudio usados para gerar incorporação de voz. Os arquivos são criptografados usando uma chave simétrica gerenciada pelo cliente que você cria, possui e gerencia. Como você tem controle total sobre essa camada de criptografia, você pode realizar tarefas como:
+ Estabelecer e manter as políticas de chave
+ Estabelecer e manter subsídios e IAM policies
+ Habilitar e desabilitar políticas de chaves
+ Alternar os materiais de criptografia de chave
+ Adicionar etiquetas
+ Criar réplicas de chaves
+ Chaves de agendamento para exclusão

Para obter mais informações, consulte [Chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia do desenvolvedor do AWS Key Management Service*.

# Entendendo a criptografia em repouso
<a name="how-encrypted"></a>

Por padrão, a análise de voz criptografa todos os dados do usuário em repouso. Ao criar um novo domínio de perfil de voz, você deve fornecer uma chave simétrica gerenciada pelo cliente que o serviço usa para criptografar seus dados em repouso. Você possui, gerencia e controla a chave.

A chave criptografa apenas os arquivos de áudio usados para inscrever alto-falantes em incorporações de voz.

A análise de voz acessa a chave criando subsídios. Para obter mais informações sobre subsídios, consulte a próxima seção.

# Entendendo como a análise de voz usa subsídios
<a name="how-use-grants"></a>

A análise de voz exige uma concessão para usar sua chave gerenciada pelo cliente. Quando você cria um domínio de perfil de voz, o Amazon Chime SDK Voice Connector associado cria uma concessão em seu nome enviando uma `CreateGrant` solicitação ao KMS. AWS A concessão é necessária para usar sua chave nas seguintes operações internas:
+ Enviar [https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitações ao AWS KMS para verificar se a ID simétrica da chave gerenciada pelo cliente fornecida é válida.
+ Envio de [https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)solicitações para a chave KMS para criar chaves de dados com as quais criptografar objetos.
+ Enviar [https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)solicitações ao AWS KMS para descriptografar as chaves de dados criptografadas para que elas possam ser usadas para criptografar seus dados.
+ Envio de [https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)solicitações ao AWS KMS para retirar as concessões usadas para um domínio de perfil de voz.
+ Armazenamento de arquivos no Amazon S3 com criptografia do lado do servidor.

Você pode revogar o acesso à concessão ou remover o acesso do serviço à sua chave a qualquer momento. Se você fizer isso, a análise de voz não conseguirá acessar nenhum dos dados criptografados pela chave. Isso afeta todas as operações que dependem desses dados, levando a `AccessDeniedException` erros e falhas nos fluxos de trabalho de busca de alto-falantes.

# Política fundamental para análise de voz
<a name="key-policy"></a>

As políticas de chaves controlam o acesso à chave gerenciada pelo cliente. Cada chave gerenciada pelo cliente deve ter exatamente uma política chave, com declarações de política que determinem quem pode usar a chave e como usá-la. Ao criar sua chave, você pode especificar uma política de chaves. Para obter mais informações, consulte Como [trabalhar com políticas importantes](https://docs.aws.amazon.com/kms/latest/developerguide/programming-key-policies.html) no *Guia do desenvolvedor do AWS Key Management Service*.



------
#### [ JSON ]

****  

```
{
"Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow key access to Chime SDK voice analytics.",
            "Effect": "Allow",
            "Principal": {
            "AWS": "arn:aws:iam::111122223333:user/UserNameWithPath"
            },
            "Action": [
                "kms:CreateGrant",
                "kms:Decrypt",
                "kms:DescribeKey"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": [
                       "chime.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

Para obter informações sobre como especificar permissões em uma política, consulte [Especificação de chaves KMS nas declarações de política do IAM no](https://docs.aws.amazon.com/kms/latest/developerguide/cmks-in-iam-policies.html) Guia do desenvolvedor do *AWS Key Management Service*.

Para obter informações sobre como solucionar problemas de acesso por chave, consulte [Solução de problemas de acesso](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) por *AWS chave no Guia do desenvolvedor do Key Management Service*.

# Usando o contexto de criptografia
<a name="encryption-context"></a>

Um contexto de criptografia é um conjunto opcional de pares de valores-chave que contêm informações contextuais adicionais sobre os dados. AWS O KMS usa o contexto de criptografia para oferecer suporte à criptografia autenticada. 

Quando você inclui um contexto de criptografia em uma solicitação de criptografia, o AWS KMS vincula o contexto de criptografia aos dados criptografados. Para descriptografar os dados, você inclui o mesmo contexto de criptografia na solicitação.

A análise de voz usa o mesmo contexto de criptografia em todas as operações criptográficas do AWS KMS, onde a chave está `aws:chime:voice-profile-domain:arn` e o valor é o recurso Amazon Resource Name (ARN).

O exemplo a seguir mostra um contexto de criptografia típico.

```
"encryptionContext": {
    "aws:chime:voice-profile-domain:arn": "arn:aws:chime:us-west-2:111122223333:voice-profile-domain/sample-domain-id"
}
```

Também é possível usar o contexto de criptografia em registros e logs de auditoria para identificar como a chave gerenciada pelo cliente está sendo usada. O contexto de criptografia também aparece nos registros gerados por CloudTrail ou CloudWatch Logs.

## Usando o contexto de criptografia para controlar o acesso à sua chave
<a name="context-to-control-access"></a>

Você pode usar o contexto de criptografia nas políticas de chave e políticas do IAM como condições para controlar o acesso à sua chave simétrica gerenciada pelo cliente. Você também pode usar restrições no contexto de criptografia em uma concessão.

A análise de voz usa uma restrição de contexto de criptografia nas concessões para controlar o acesso às chaves gerenciadas pelo cliente em sua conta ou região. A restrição de concessão exige que as operações permitidas pela concessão usem o contexto de criptografia especificado. 

O exemplo a seguir de declarações de política de chaves concede acesso a uma chave gerenciada pelo cliente para um contexto de criptografia específico. A condição na declaração de política exige que as concessões tenham uma restrição de contexto de criptografia que especifique o contexto de criptografia.

```
{
    "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:chime:voice-profile-domain:arn": "arn:aws:chime:us-west-2:111122223333:voice-profile-domain/sample-domain-id"
        }
    }
}
```

# Monitorar as chaves de criptografia
<a name="monitor-keys"></a>

Os conectores de voz do Amazon Chime SDK enviam solicitações para o AWS KMS, e você pode rastrear essas solicitações em nossos registros. CloudTrail CloudWatch 

------
#### [ CreateGrant ]

Quando você usa uma chave gerenciada pelo cliente para criar um recurso de domínio de perfil de voz, o Voice Connector associado envia uma `CreateGrant` solicitação em seu nome para acessar a chave KMS em sua AWS conta. A concessão que o Voice Connector cria é específica para o recurso associado à chave gerenciada pelo cliente. O Voice Connector também usa a `RetireGrant` operação para remover uma concessão quando você exclui um recurso.

O exemplo a seguir registra uma `CreateGrant` operação.

```
{
    "eventVersion": "1.08",
    "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"
            },
            "webIdFederationData": {},
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2021-04-22T17:02:00Z"
            }
        },
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2021-04-22T17:07:02Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "172.12.34.56",
    "userAgent": "ExampleDesktop/1.0 (V1; OS)",
    "requestParameters": {
       "constraints": {
            "encryptionContextSubset": {
                "aws:chime:voice-profile-domain:arn": "arn:aws:chime:us-west-2:111122223333:voice-profile-domain/sample-domain-id"
            }
        },
        "retiringPrincipal": "chimevoiceconnector.region.amazonaws.com",
        "operations": [
            "GenerateDataKey",
            "Decrypt",
            "DescribeKey",
            "RetireGrant"
        ],
        "keyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
        "granteePrincipal": "chimevoiceconnector.region.amazonaws.com",
        "retiringPrincipal": "chimevoiceconnector.region.amazonaws.com"
    },
    "responseElements": {
        "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE"
    },
    "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,
    "eventCategory": "Management",
    "recipientAccountId": "111122223333"
}
```

------
#### [ GenerateDataKey ]

Quando você cria um domínio de perfil de voz e atribui uma chave gerenciada pelo cliente ao domínio, o Voice Connector associado cria uma chave de dados exclusiva para criptografar o áudio de inscrição de cada palestrante. O Voice Connector envia uma `GenerateDataKey` solicitação ao AWS KMS que especifica a chave para o recurso.

O exemplo a seguir registra uma `GenerateDataKey` operação.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2021-04-22T17:07:02Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "172.12.34.56",
    "userAgent": "ExampleDesktop/1.0 (V1; OS)",
    "requestParameters": {
        "encryptionContext": {
            "aws:chime:voice-profile-domain:arn": "arn:aws:chime:us-west-2:111122223333:voice-profile-domain/sample-domain-id"
        },
        "keySpec": "AES_256",
        "keyId": "arn:aws:kms:us-west-2: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:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "111122223333",
    "sharedEventID": "57f5dbee-16da-413e-979f-2c4c6663475e"
}
```

------
#### [ Decrypt ]

Quando um perfil de voz em um domínio de perfil de voz precisa ter sua impressão de voz atualizada devido a um modelo de reconhecimento de voz mais novo, o conector de voz associado chama a `Decrypt` operação para usar a chave de dados criptografada armazenada para acessar os dados criptografados.

O exemplo a seguir registra uma `Decrypt` operação.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AWSService",
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2021-10-12T23:59:34Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "172.12.34.56",
    "userAgent": "ExampleDesktop/1.0 (V1; OS)",
    "requestParameters": {
        "encryptionContext": {
            "keyId": "arn:aws:kms:us-west-2:111122223333:key/44444444-3333-2222-1111-EXAMPLE11111",
            "encryptionContext": {
                "aws:chime:voice-profile-domain:arn": "arn:aws:chime:us-west-2:111122223333:voice-profile-domain/sample-domain-id"
            },
            "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"
    }
```

------
#### [ DescribeKey ]

Os conectores de voz usam a `DescribeKey` operação para verificar se a chave associada a um domínio de perfil de voz existe na conta e na região.

O exemplo a seguir registra uma `DescribeKey` operação.

```
{
    "eventVersion": "1.08",
    "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"
            },
            "webIdFederationData": {},
            "attributes": {
                "mfaAuthenticated": "false",
                "creationDate": "2021-04-22T17:02:00Z"
            }
        },
        "invokedBy": "AWS Internal"
    },
    "eventTime": "2021-04-22T17:07:02Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "DescribeKey",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "172.12.34.56",
    "userAgent": "ExampleDesktop/1.0 (V1; OS)",
    "requestParameters": {
        "keyId": "00dd0db0-0000-0000-ac00-b0c000SAMPLE"
    },
    "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,
    "eventCategory": "Management",
    "recipientAccountId": "111122223333"
}
```

------