

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
<a name="data-encryption"></a>

O Amazon Bedrock usa criptografia para proteger dados em repouso e dados em trânsito.

**Criptografia em trânsito**

No interior AWS, todos os dados entre redes em trânsito oferecem suporte à criptografia TLS 1.2.

As solicitações para a API e o console do Amazon Bedrock são efetuadas em uma conexão segura (SSL). Você passa funções AWS Identity and Access Management (IAM) para o Amazon Bedrock para fornecer permissões para acessar recursos em seu nome para treinamento e implantação. 

**Criptografia em repouso**

O Amazon Bedrock fornece [Criptografia de modelos personalizados](encryption-custom-job.md) em repouso.

## Gerenciamento de chaves
<a name="key-management"></a>

Use o AWS Key Management Service para gerenciar as chaves que você usa para criptografar seus recursos. Para obter mais informações, consulte [Conceitos do AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys). Você pode criptografar os recursos a seguir com uma chave do KMS.
+ Pelo Amazon Bedrock
  + Trabalhos de personalização de modelos e seus modelos personalizados de saída — Durante a criação de trabalhos no console ou especificando o `customModelKmsKeyId` campo na chamada da [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)API.
  + Agentes — Durante a criação do agente no console ou especificando o `customerEncryptionKeyArn` campo na chamada da [CreateAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateAgent.html)API.
  + Tarefas de ingestão de fontes de dados para bases de conhecimento — durante a criação da base de conhecimento no console ou especificando o `kmsKeyArn` campo na chamada [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html)de [UpdateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_UpdateDataSource.html)API.
  + Lojas de vetores no Amazon OpenSearch Service — Durante a criação da loja de vetores. Para obter mais informações, consulte [Criação, listagem e exclusão de coleções do Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-manage.html) e [Criptografia de dados em repouso para o Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/encryption-at-rest.html).
  + Trabalhos de avaliação de modelo — Quando você cria um trabalho de avaliação de modelo no console ou especifica um ARN chave ` customerEncryptionKeyId` na chamada [CreateEvaluationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateEvaluationJob.html)da API.
+ Por meio do Amazon S3 — Para obter mais informações, consulte [Usando criptografia do lado do servidor com AWS KMS chaves (SSE-KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)).
  + Dados de treinamento, validação e saída para personalização de modelos
  + Fontes de dados para bases de conhecimento
+ Por meio de AWS Secrets Manager — Para obter mais informações, consulte [Criptografia e descriptografia secretas](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) em AWS Secrets Manager
  + Armazenamentos de vetores para modelos de terceiros

Depois de criptografar um recurso, você pode encontrar o ARN da chave do KMS selecionando um recurso e visualizando os **Detalhes** dele no console ou usando as chamadas de API `Get` a seguir.
+ [GetModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_GetModelCustomizationJob.html)
+ [GetAgent](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetAgent.html)
+ [GetIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_GetIngestionJob.html)

# Criptografia de modelos personalizados
<a name="encryption-custom-job"></a>

O Amazon Bedrock usa seus dados de treinamento com a [CreateModelCustomizationJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_CreateModelCustomizationJob.html)ação ou com o [console](model-customization-submit.md) para criar um modelo personalizado que é uma versão refinada de um modelo básico do Amazon Bedrock. Seus modelos personalizados são gerenciados e armazenados porAWS.

O Amazon Bedrock usa os dados de ajuste que você fornece somente para ajustar um modelo de base do Amazon Bedrock. O Amazon Bedrock não usa dados de ajuste para nenhuma outra finalidade. Os dados de treinamento não são usados para treinar os modelos de base do Titan nem distribuídos para terceiros. Outros dados de uso, como registros de data e hora de uso IDs, conta registrada e outras informações registradas pelo serviço, também não são usados para treinar os modelos. 

Nenhum dos dados de treinamento ou de validação que você fornece para o ajuste é armazenado pelo Amazon Bedrock após a conclusão do trabalho de ajuste.

Observe que modelos ajustados podem reproduzir alguns dos dados de ajuste ao gerar conclusões. Se a aplicação não deve expor dados de ajuste de nenhuma forma, primeiro filtre os dados confidenciais dos seus dados de treinamento. Se você já tiver criado um modelo personalizado usando dados confidenciais por engano, poderá excluir esse modelo personalizado, filtrar as informações confidenciais dos dados de treinamento e criar um modelo.

Para criptografar modelos personalizados (incluindo modelos copiados), o Amazon Bedrock oferece duas opções:

1. **Chaves pertencentes à AWS**— Por padrão, o Amazon Bedrock criptografa modelos personalizados com. Chaves pertencentes à AWS Você não pode visualizar, gerenciarChaves pertencentes à AWS, usar ou auditar seu uso. No entanto, não é necessário realizar nenhuma ação nem alterar qualquer programa para proteger as chaves que criptografam seus dados. Para saber mais, consulte [Chaves pertencentes à AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) no *Guia do desenvolvedor do AWS Key Management Service*.

1. **Chaves gerenciadas pelo cliente**: é possível optar por criptografar modelos personalizados com chaves gerenciadas pelo cliente que você mesmo gerencia. Para obter mais informações sobreAWS KMS keys, consulte [Chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) no *Guia do AWS Key Management Service desenvolvedor*.

**nota**  
O Amazon Bedrock habilita automaticamente a criptografia em repousoChaves pertencentes à AWS, usando gratuitamente. Se você usar uma chave gerenciada pelo cliente, AWS KMS cobranças serão aplicadas. Para saber mais sobre preços, consulte [Preços do AWS Key Management Service](https://aws.amazon.com/kms/pricing/).

Para obter mais informações sobreAWS KMS, consulte o [Guia do AWS Key Management Service desenvolvedor](https://docs.aws.amazon.com/kms/latest/developerguide/).

**Topics**
+ [Como o Amazon Bedrock usa subsídios em AWS KMS](#encryption-br-grants)
+ [Compreender como criar uma chave gerenciada pelo cliente e como anexar uma política de chave a ela](#encryption-key-policy)
+ [Permissões e políticas de chave para modelos personalizados e copiados](#encryption-cm-statements)
+ [Monitorar as chaves de criptografia para o serviço Amazon Bedrock](#encryption-monitor-key)
+ [Dados de treinamento, validação e saída da criptografia](#encryption-custom-job-data)

## Como o Amazon Bedrock usa subsídios em AWS KMS
<a name="encryption-br-grants"></a>

Se você especificar uma chave gerenciada pelo cliente para criptografar um modelo personalizado para um trabalho de personalização ou cópia do modelo, o Amazon Bedrock cria uma [concessão](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) **primária** do KMS associada ao modelo personalizado em seu nome enviando uma solicitação para. [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)AWS KMS Essa concessão permite que o Amazon Bedrock acesse e use a chave gerenciada pelo cliente. As concessões AWS KMS são usadas para dar ao Amazon Bedrock acesso a uma chave KMS na conta de um cliente.

O Amazon Bedrock exige a concessão primária para usar a chave gerenciada pelo cliente nas seguintes operações internas:
+ Envie [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitações AWS KMS para verificar se o ID simétrico da chave KMS gerenciada pelo cliente que você inseriu ao criar o trabalho é válido.
+ Envie [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)e [descriptografe](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) solicitações AWS KMS para gerar chaves de dados criptografadas pela chave gerenciada pelo cliente e descriptografe as chaves de dados criptografadas para que possam ser usadas para criptografar os artefatos do modelo.
+ Envie [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)solicitações AWS KMS para criar concessões secundárias com escopo reduzido com um subconjunto das operações acima (`DescribeKey`,,`Decrypt`)`GenerateDataKey`, para a execução assíncrona da personalização do modelo, cópia do modelo ou criação de taxa de transferência provisionada.
+ O Amazon Bedrock especifica um diretor que se aposenta durante a criação de subsídios, para que o serviço possa enviar uma solicitação. [RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html)

Você tem acesso total à sua AWS KMS chave gerenciada pelo cliente. É possível revogar o acesso à concessão seguindo as etapas em [Retirar e revogar concessões](https://docs.aws.amazon.com/kms/latest/developerguide/grant-manage.html#grant-delete) no [Guia do desenvolvedor do AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/) ou remover o acesso do serviço à sua chave gerenciada pelo cliente a qualquer momento modificando a [política de chave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html). Se fizer isso, o Amazon Bedrock não poderá acessar o modelo personalizado criptografado pela chave.

### Ciclo de vida de concessões primárias e secundárias para modelos personalizados
<a name="encryption-primary-secondary-grants"></a>
+ As **Concessões primárias** têm uma vida útil longa e permanecem ativas enquanto os modelos personalizados associados ainda estiverem em uso. Quando um modelo personalizado é excluído, a concessão primária correspondente é automaticamente retirada.
+ As **concessões secundárias** duram pouco tempo. Elas são automaticamente retiradas assim que a operação que o Amazon Bedrock executa em nome dos clientes é concluída. Por exemplo, quando um trabalho de cópia de modelo é concluído, a concessão secundária que permite que o Amazon Bedrock criptografe o modelo personalizado copiado é retirada imediatamente.

## Compreender como criar uma chave gerenciada pelo cliente e como anexar uma política de chave a ela
<a name="encryption-key-policy"></a>

Para criptografar um AWS recurso com uma chave que você cria e gerencia, execute as seguintes etapas gerais:

1. (Pré-requisito) Certifique-se de que sua função do IAM tenha permissões para a ação [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html).

1. Siga as etapas em [Criação de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) para criar uma chave gerenciada pelo cliente usando o AWS KMS console ou a [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operação.

1. A criação da chave retorna um `Arn` para a chave que é possível usar para operações que exigem o uso da chave (por exemplo, ao [enviar um trabalho de personalização de modelo](model-customization-submit.md) ou ao [executar uma inferência de modelo)](inference-invoke.md).

1. Crie e anexe uma política de chave à chave com as permissões necessárias. Para criar uma política de chaves, siga as etapas em [Criação de uma política de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-overview.html) no Guia do AWS Key Management Service desenvolvedor.

## Permissões e políticas de chave para modelos personalizados e copiados
<a name="encryption-cm-statements"></a>

Depois de criar uma chave do KMS, anexe uma política de chave a ela. As políticas de chave são [políticas baseadas em recursos](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) que você anexa à chave gerenciada pelo cliente para controlar o acesso a ela. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chave, que contém declarações que determinam quem pode usar a chave e como pode usá-la. Você pode especificar uma política de chaves quando criar uma chave gerenciada pelo cliente. É possível modificar a política de chave a qualquer momento, mas pode haver um breve atraso para que a alteração esteja disponível em todo oAWS KMS. Para obter mais informações, consulte [Gerenciar o acesso às chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access) no [Guia do desenvolvedor do AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/). 

As seguintes [ações](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awskeymanagementservice.html#awskeymanagementservice-actions-as-permissions) do KMS são usadas para chaves que criptografam modelos personalizados e copiados:

1. [kms: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) [— Cria uma concessão para uma chave gerenciada pelo cliente, permitindo que o principal serviço Amazon Bedrock acesse a chave KMS especificada por meio de operações de concessão.](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations) Para obter mais informações sobre concessões, consulte [Concessões no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) no [Guia do desenvolvedor do AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/).
**nota**  
O Amazon Bedrock também configura uma entidade principal que está sendo retirada e retira automaticamente a concessão quando ela não é mais necessária.

1. [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) — Fornece os detalhes da chave gerenciada pelo cliente para permitir que o Amazon Bedrock valide a chave.

1. [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — Fornece os principais detalhes gerenciados pelo cliente para permitir que o Amazon Bedrock valide o acesso do usuário. O Amazon Bedrock armazena o texto cifrado gerado e o modelo personalizado para ser usado como uma verificação de validação adicional em relação aos usuários do modelo personalizado.

1. [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descriptografa o texto cifrado armazenado para validar se a função tem acesso adequado à chave do KMS que criptografa o modelo personalizado.

Como melhor prática de segurança, recomendamos que você inclua a chave de ViaService condição [kms:](https://docs.aws.amazon.com/kms/latest/developerguide/conditions-kms.html#conditions-kms-via-service) para limitar o acesso à chave do serviço Amazon Bedrock.

Embora só seja possível anexar uma política de chave a uma chave, é possível anexar várias declarações à política de chave adicionando declarações à lista no campo `Statement` da política.

As seguintes declarações são relevantes para criptografar modelos personalizados e copiados:

### Criptografar um modelo
<a name="encryption-key-policy-encrypt"></a>

Para usar a chave gerenciada pelo cliente para criptografar um modelo personalizado ou copiado, inclua a declaração a seguir em uma política de chave para permitir a criptografia de um modelo. No campo `Principal`, adicione contas para as quais deseja permitir a criptografia e a descriptografia da chave à lista à qual o subcampo `AWS` está associado. Se você usar a chave de `kms:ViaService` condição, poderá adicionar uma linha para cada região ou usar *\$1* no lugar de *\$1\$1region\$1* para permitir todas as regiões que oferecem suporte ao Amazon Bedrock.

```
{
    "Sid": "PermissionsEncryptDecryptModel",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "arn:aws:iam::${account-id}:role/${role}"
        ]
    },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": "*",
    "Condition": {
        "StringLike": {
            "kms:ViaService": [
                "bedrock.${region}.amazonaws.com"
            ] 
        }
    }
}
```

### Permitir acesso a um modelo criptografado
<a name="encryption-key-policy-decrypt"></a>

Para permitir o acesso a um modelo que foi criptografado com uma chave do KMS, inclua a declaração a seguir em uma política de chave para permitir a descriptografia da chave. No campo `Principal`, adicione as contas às quais deseja atribuir permissão para criptografar e a descriptografar a chave à lista à qual o subcampo `AWS` está associado. Se você usar a chave de `kms:ViaService` condição, poderá adicionar uma linha para cada região ou usar *\$1* no lugar de *\$1\$1region\$1* para permitir todas as regiões que oferecem suporte ao Amazon Bedrock.

```
{
    "Sid": "PermissionsDecryptModel",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "arn:aws:iam::${account-id}:role/${role}"
        ]
    },
    "Action": [
        "kms:Decrypt"
    ],
    "Resource": "*",
    "Condition": {
        "StringLike": {
            "kms:ViaService": [
                "bedrock.${region}.amazonaws.com"
            ] 
        }
    }
}
```

Para saber mais sobre as políticas de chave que precisa criar, expanda a seção que corresponde ao caso de uso:

### Configurar as permissões da chave para criptografar modelos personalizados
<a name="encryption-cm"></a>

Se planejar criptografar um modelo que você personaliza com uma chave do KMS, a política de chave da chave dependerá do seu caso de uso. Expanda a seção que corresponde ao seu caso de uso:

#### As funções que personalizarão o modelo e as funções que invocarão o modelo são as mesmas
<a name="encryption-cm-custom-invoke-same"></a>

Se as funções que invocarão o modelo personalizado forem as mesmas que personalizarão o modelo, somente a declaração de [Criptografar um modelo](#encryption-key-policy-encrypt) será necessária. No campo `Principal` do modelo de política a seguir, adicione as contas às quais você deseja conceder permissão para personalizar e invocar o modelo personalizado à lista à qual o subcampo da `AWS` está associado.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCustomModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCustomModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

#### As funções que personalizarão o modelo e as funções que invocarão o modelo são diferentes
<a name="encryption-custom-invoke-different"></a>

Se as funções que invocarão o modelo personalizado forem diferentes da função que personalizará o modelo, somente as declarações de [Criptografar um modelo](#encryption-key-policy-encrypt) e [Permitir acesso a um modelo criptografado](#encryption-key-policy-decrypt) serão necessárias. Modifique as declarações no modelo de política abaixo da seguinte forma:

1. A primeira declaração permite a criptografia e a descriptografia da chave. No campo `Principal`, adicione as contas às quais você deseja conceder permissão para personalizar o modelo personalizado à lista à qual o subcampo `AWS` está associado.

1. A segunda declaração permite somente a descriptografia da chave. No campo `Principal`, adicione as contas para as quais deseja permitir a invocação do modelo personalizado à lista à qual o subcampo `AWS` está associado.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCustomModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCustomModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "PermissionsDecryptModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

### Configurar as permissões da chave para copiar modelos personalizados
<a name="encryption-copy"></a>

Ao copiar um modelo de sua propriedade ou que foi compartilhado com você, talvez seja necessário gerenciar até duas políticas de chave:

#### Política de chave da chave que criptografará um modelo copiado
<a name="encryption-copied-model-key-policy"></a>

Se você planejar usar uma chave do KMS para criptografar um modelo copiado, a política de chave da chave dependerá do caso de uso. Expanda a seção que corresponde ao seu caso de uso:

##### As funções que copiarão o modelo e as funções que invocarão o modelo são as mesmas
<a name="encryption-copied-model-copy-invoke-same"></a>

Se as funções que invocarão o modelo copiado forem as mesmas que criaram a cópia do modelo, somente a declaração de [Criptografar um modelo](#encryption-key-policy-encrypt) será necessária. No campo `Principal` do modelo de política a seguir, adicione as contas às quais você deseja conceder permissão para copiar e invocar o modelo copiado à lista à qual o subcampo `AWS` está associado:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCopiedModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

##### As funções que copiarão o modelo e as funções que invocarão o modelo são diferentes
<a name="encryption-copied-model-copy-invoke-different"></a>

Se as funções que invocarão o modelo personalizado forem diferentes da função que criará a cópia do modelo, somente as declarações de [Criptografar um modelo](#encryption-key-policy-encrypt) e [Permitir acesso a um modelo criptografado](#encryption-key-policy-decrypt) serão necessárias. Modifique as declarações no modelo de política abaixo da seguinte forma:

1. A primeira declaração permite a criptografia e a descriptografia da chave. No campo `Principal`, adicione as contas às quais você deseja conceder permissão para criar o modelo copiado à lista à qual o subcampo `AWS` está associado.

1. A segunda declaração permite somente a descriptografia da chave. No campo `Principal`, adicione as contas às quais você deseja conceder permissão para invocar o modelo copiado à lista à qual o subcampo `AWS` está associado.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsCopiedModelKey",
    "Statement": [
        {
            "Sid": "PermissionsEncryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        },
        {
            "Sid": "PermissionsDecryptCopiedModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

#### Política de chave da chave que criptografa o modelo de origem a ser copiado
<a name="encryption-copy-source-model-key-policy"></a>

Se o modelo de origem que você copiará estiver criptografado com uma chave do KMS, anexe a declaração de [Permitir acesso a um modelo criptografado](#encryption-key-policy-decrypt) à política de chave da chave que criptografa o modelo de origem. Essa declaração permite que a função de cópia do modelo descriptografe a chave que criptografa o modelo de origem. No campo `Principal` do seguinte modelo de política, adicione as contas às quais você deseja conceder permissão para copiar o modelo de origem à lista à qual o subcampo `AWS` está associado:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "PermissionsSourceModelKey",
    "Statement": [
        {
            "Sid": "PermissionsDecryptModel",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "arn:aws:iam::111122223333:role/Role"
                ]
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Monitorar as chaves de criptografia para o serviço Amazon Bedrock
<a name="encryption-monitor-key"></a>

Ao usar uma chave gerenciada pelo AWS KMS cliente com seus recursos do Amazon Bedrock, você pode usar [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)o [Amazon CloudWatch Logs para rastrear solicitações para as](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) quais o Amazon Bedrock envia. AWS KMS

Veja a seguir um exemplo de AWS CloudTrail evento [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para monitorar as operações do KMS chamadas pelo Amazon Bedrock para criar uma concessão primária:

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForModelCopy/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/RoleForModelCopy",
                "accountId": "111122223333",
                "userName": "RoleForModelCopy"
            },
            "attributes": {
                "creationDate": "2024-05-07T21:46:28Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "bedrock.amazonaws.com"
    },
    "eventTime": "2024-05-07T21:49:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "bedrock.amazonaws.com",
    "userAgent": "bedrock.amazonaws.com",
    "requestParameters": {
        "granteePrincipal": "bedrock.amazonaws.com",
        "retiringPrincipal": "bedrock.amazonaws.com",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
        "operations": [
            "Decrypt",
            "CreateGrant",
            "GenerateDataKey",
            "DescribeKey"
        ]
    },
    "responseElements": {
        "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
        "keyId": "arn:aws:kms:us-east-1: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-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

## Dados de treinamento, validação e saída da criptografia
<a name="encryption-custom-job-data"></a>

Ao usar o Amazon Bedrock para executar um trabalho de personalização de modelo, você armazena os arquivos de entrada no bucket do Amazon S3. Quando o trabalho é concluído, o Amazon Bedrock armazena os arquivos de métricas de saída no bucket do S3 que você especificou ao criar o trabalho e os artefatos do modelo personalizado resultantes em um bucket do S3 controlado por. AWS

Os arquivos de saída são criptografados com as configurações de criptografia do bucket do S3. Eles são criptografados com [criptografia SSE-S3 do lado do servidor](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) ou com [criptografia SSE-KMS do AWS KMS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html), dependendo de como o bucket do S3 está configurado.

# Criptografia de modelos personalizados importados
<a name="encryption-import-model"></a>

O Amazon Bedrock permite criar modelos personalizados por meio de dois métodos que usam a mesma abordagem de criptografia. Seus modelos personalizados são gerenciados e armazenados porAWS:
+ **Trabalhos de importação de modelos personalizados**: para importar modelos de base de código aberto personalizados (como os modelos Llama ou Mistral AI).
+ **Crie um modelo personalizado** — Para importar modelos do Amazon Nova que você personalizou na SageMaker IA.

Para criptografia dos modelos personalizados, o Amazon Bedrock oferece as seguintes opções: 
+ **AWSchaves próprias** — Por padrão, o Amazon Bedrock criptografa modelos personalizados importados com chaves AWS próprias. Você não pode visualizar, gerenciar ou usar chaves AWS próprias nem auditar seu uso. No entanto, não é necessário realizar nenhuma ação nem alterar qualquer programa para proteger as chaves que criptografam seus dados. Para obter mais informações, consulte [Chaves de propriedade da AWS](https://docs.aws.amazon.com//kms/latest/developerguide/concepts.html#aws-owned-cmk) no *Guia do desenvolvedor do AWS Key Management Service*.
+ **Chaves gerenciadas pelo cliente (CMK)** — Você pode optar por adicionar uma segunda camada de criptografia às chaves de criptografia existentesAWS, escolhendo uma chave gerenciada pelo cliente (CMK). É possível criar, possuir e gerenciar as chaves gerenciadas pelo cliente.

   Como você tem controle total dessa camada de criptografia, é possível realizar as seguintes tarefas: 
  + Estabelecer e manter as políticas de chaves
  + Estabelecer e manter políticas e concessões do IAM
  + Habilitar e desabilitar políticas de chave
  + Alternar o material de criptografia de chaves
  + Adicionar tags.
  + Criar aliases de chaves
  + Programar a exclusão de chaves

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

**nota**  
Para todos os modelos personalizados que você importa, o Amazon Bedrock habilita automaticamente a criptografia em repouso usando chaves AWS próprias para proteger os dados do cliente sem nenhum custo. Se você usar uma chave gerenciada pelo cliente, AWS KMS cobranças serão aplicadas. Para obter mais informações sobre preços, consulte [Preços do AWS Key Management Service](https://docs.aws.amazon.com/).

## Como o Amazon Bedrock usa subsídios em AWS KMS
<a name="import-model-kms-grants"></a>

Se você especificar uma chave gerenciada pelo cliente para criptografar o modelo importado. O Amazon Bedrock cria uma AWS KMS [concessão](https://docs.aws.amazon.com/) **primária** associada ao modelo importado em seu nome enviando uma [CreateGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_CreateGrant.html)solicitação paraAWS KMS. Essa concessão permite que o Amazon Bedrock acesse e use a chave gerenciada pelo cliente. As concessões AWS KMS são usadas para dar ao Amazon Bedrock acesso a uma chave KMS na conta de um cliente.

O Amazon Bedrock exige a concessão primária para usar a chave gerenciada pelo cliente nas seguintes operações internas:
+ Envie [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitações AWS KMS para verificar se o ID simétrico da chave KMS gerenciada pelo cliente que você inseriu ao criar o trabalho é válido.
+ Envie [GenerateDataKey](https://docs.aws.amazon.com//kms/latest/APIReference/API_GenerateDataKey.html)e [descriptografe](https://docs.aws.amazon.com//kms/latest/APIReference/API_Decrypt.html) solicitações AWS KMS para gerar chaves de dados criptografadas pela chave gerenciada pelo cliente e descriptografe as chaves de dados criptografadas para que possam ser usadas para criptografar os artefatos do modelo.
+ Envie [CreateGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_CreateGrant.html)solicitações AWS KMS para criar concessões secundárias com escopo reduzido com um subconjunto das operações acima (`DescribeKey`,,`Decrypt`)`GenerateDataKey`, para a execução assíncrona da importação do modelo e para inferência sob demanda. 
+ O Amazon Bedrock especifica um diretor que se aposenta durante a criação de subsídios, para que o serviço possa enviar uma solicitação. [RetireGrant](https://docs.aws.amazon.com//kms/latest/APIReference/API_RetireGrant.html)

Você tem acesso total à sua AWS KMS chave gerenciada pelo cliente. É possível revogar o acesso à concessão seguindo as etapas em [Retirar e revogar concessões](https://docs.aws.amazon.com//kms/latest/developerguide/grant-manage.html#grant-delete) no *Guia do desenvolvedor do AWS Key Management Service* ou remover o acesso do serviço à sua chave gerenciada pelo cliente a qualquer momento modificando a política de chave. Se fizer isso, o Amazon Bedrock não poderá acessar o modelo importado criptografado pela chave.

### Ciclo de vida de concessões primárias e secundárias para modelos personalizados importados
<a name="import-model-kms-grants-lifecycle"></a>
+ As **Concessões primárias** têm uma vida útil longa e permanecem ativas enquanto os modelos personalizados associados ainda estiverem em uso. Quando um modelo personalizado importado é excluído, a concessão primária correspondente é automaticamente retirada.
+ As **concessões secundárias** duram pouco tempo. Elas são automaticamente retiradas assim que a operação que o Amazon Bedrock executa em nome dos clientes é concluída. Por exemplo, quando um trabalho de importação de modelo personalizado for concluído, a concessão secundária que permitiu ao Amazon Bedrock criptografar o modelo importado personalizado será retirada imediatamente.

# Usar chave gerenciada pelo cliente (CMK)
<a name="import-model-using-cmk"></a>

Se planejar usar a chave gerenciada pelo cliente para criptografar o modelo importado personalizado, conclua as seguintes etapas:

1. Crie uma chave gerenciada pelo cliente com o AWS Key Management Service.

1. Anexe uma [política baseada em recurso](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html) com permissões para que os perfis especificados criem e usem modelos importados personalizados.

**Criar uma chave gerenciada pelo cliente**

Primeiramente verifique se você tem permissões de `CreateKey`. Em seguida, siga as etapas de [criação de chaves](https://docs.aws.amazon.com//kms/latest/developerguide/create-keys.html) para criar chaves gerenciadas pelo cliente no AWS KMS console ou na operação da [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)API. Crie uma chave de criptografia simétrica.

A criação da chave retorna um `Arn` para a chave que é possível usar como o `importedModelKmsKeyId ` ao importar um modelo personalizado com a importação de modelo personalizado.

**Criar uma política de chave e anexá-la à chave gerenciada pelo cliente**

As políticas de chave são [políticas baseadas em recurso](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_identity-vs-resource.html) que você anexa à chave gerenciada pelo cliente para controlar o acesso a ela. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chave, que contém declarações que determinam quem pode usar a chave e como pode usá-la. Você pode especificar uma política de chaves quando criar uma chave gerenciada pelo cliente. É possível modificar a política de chave a qualquer momento, mas pode haver um breve atraso para que a alteração esteja disponível em todo oAWS KMS. Para obter mais informações, consulte [Gerenciar o acesso a chaves gerenciadas pelo cliente](https://docs.aws.amazon.com//kms/latest/developerguide/control-access-overview.html#managing-access) no *Guia do desenvolvedor do AWS Key Management Service*.

**Criptografar um modelo personalizado importado**

Para usar sua chave gerenciada pelo cliente para criptografar um modelo personalizado importado, você deve incluir as seguintes AWS KMS operações na política de chaves:
+ [kms: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) [— cria uma concessão para uma chave gerenciada pelo cliente, permitindo que o principal serviço Amazon Bedrock tenha acesso à chave KMS especificada por meio de operações de concessão.](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations) Para obter mais informações sobre concessões, consulte [Concessões no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) no *Guia do desenvolvedor do AWS Key Management Service*.
**nota**  
O Amazon Bedrock também configura uma entidade principal que está sendo retirada e retira automaticamente a concessão quando ela não é mais necessária.
+ [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) — fornece os detalhes da chave gerenciada pelo cliente para permitir que o Amazon Bedrock valide a chave.
+ [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — Fornece os principais detalhes gerenciados pelo cliente para permitir que o Amazon Bedrock valide o acesso do usuário. O Amazon Bedrock armazena o texto cifrado gerado com o modelo personalizado importado para ser usado como uma verificação de validação adicional em relação aos usuários do modelo personalizado importado.
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descriptografa o texto cifrado armazenado para validar se o perfil tem acesso adequado à chave do KMS que criptografa o modelo personalizado importado.

Veja abaixo um exemplo de política que é possível anexar a uma chave para um perfil que você usará para criptografar modelos que você importou:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key to encrypt an imported custom model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**Descriptografar um modelo personalizado importado criptografado**

Se estiver importando um modelo personalizado que já tenha sido criptografado por outra chave gerenciada pelo cliente, adicione permissões `kms:Decrypt` ao mesmo perfil, conforme a seguinte política:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key that encrypted a custom imported model",
    "Statement": [
        {
            "Sid": "Permissions for model import API invocation role",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/role"
            },
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "*"
        }
    ]
}
```

------

# Monitorar as chaves de criptografia do serviço Amazon Bedrock
<a name="import-model-monitor-encryption-keys"></a>

Ao usar uma chave gerenciada pelo AWS KMS cliente com seus recursos do Amazon Bedrock, você pode usar [AWS CloudTrail](https://docs.aws.amazon.com//awscloudtrail/latest/userguide/cloudtrail-user-guide.html)o [Amazon CloudWatch Logs para rastrear solicitações para as](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) quais o Amazon Bedrock envia. AWS KMS

A seguir está um exemplo de AWS CloudTrail evento [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para monitorar AWS KMS as operações convocadas pelo Amazon Bedrock para criar uma concessão primária:

```
{
"eventVersion": "1.09",
    "userIdentity": {
"type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForModelImport/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
"sessionIssuer": {
"type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/RoleForModelImport",
                "accountId": "111122223333",
                "userName": "RoleForModelImport"
            },
            "attributes": {
"creationDate": "2024-05-07T21:46:28Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "bedrock.amazonaws.com"
    },
    "eventTime": "2024-05-07T21:49:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "bedrock.amazonaws.com",
    "userAgent": "bedrock.amazonaws.com",
    "requestParameters": {
"granteePrincipal": "bedrock.amazonaws.com",
        "retiringPrincipal": "bedrock.amazonaws.com",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
        "operations": [
            "Decrypt",
            "CreateGrant",
            "GenerateDataKey",
            "DescribeKey"
        ]
    },
    "responseElements": {
"grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
        "keyId": "arn:aws:kms:us-east-1: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-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

Anexe a política baseada em recurso a seguir à chave do KMS de acordo com as etapas em [Criar uma política](https://docs.aws.amazon.com//kms/latest/developerguide/key-policy-overview.html). A política a seguir contém duas declarações.

1. Permissões para uma função criptografar artefatos de personalização do modelo. Adicione ARNs as funções importadas do construtor de modelos personalizados ao `Principal` campo.

1. Permissões para um perfil usar o modelo personalizado importado na inferência. Adição ARNs de funções de usuário do modelo personalizado importado ao `Principal` campo.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS Key Policy",
    "Statement": [
        {
            "Sid": "Permissions for imported model builders",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*"
        },
        {
            "Sid": "Permissions for imported model users",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:user/role"
            },
            "Action": "kms:Decrypt",
            "Resource": "*"
        }
    ]
}
```

------

# Criptografia na automação Amazon Bedrock de dados
<a name="encryption-bda"></a>

 Amazon BedrockO Data Automation (BDA) usa criptografia para proteger seus dados em repouso. Isso inclui os esquemas, os projetos e os insights extraídos armazenados pelo serviço. A BDA oferece duas opções para criptografar dados: 

1. AWSchaves próprias — Por padrão, o BDA criptografa seus dados com chaves AWS próprias. Você não pode visualizar, gerenciar ou usar chaves AWS próprias nem auditar seu uso. No entanto, não é necessário realizar nenhuma ação nem alterar qualquer programa para proteger as chaves que criptografam seus dados. Para obter mais informações, consulte [chaves AWS próprias](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) no Guia do desenvolvedor do AWS Key Management Service. 

1.  Chaves gerenciadas pelo cliente: você pode optar por criptografar seus dados com chaves gerenciadas pelo cliente; isto é, que você gerencia. Para obter mais informações sobre AWS KMS chaves, 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. A BDA não permite usar chaves gerenciadas pelo cliente no console do Amazon Bedrock, somente em operações de API. 

Amazon BedrockA automação de dados ativa automaticamente a criptografia em repouso usando chaves AWS próprias sem nenhum custo. Se você usar uma chave gerenciada pelo cliente, AWS KMS cobranças serão aplicadas. Para obter mais informações sobre preços, consulte AWS KMS [preços](https://aws.amazon.com/kms/pricing/). 

## Como Amazon Bedrock usa subsídios em AWS KMS
<a name="encryption-bda-grants"></a>

 Se você especificar uma chave gerenciada pelo cliente para criptografia do seu BDA ao chamar o invokeDataAutomation Async, o serviço criará uma concessão associada aos seus recursos em seu nome enviando uma CreateGrant solicitação para. AWS KMS Essa concessão permite que a BDA acesse e use a chave gerenciada pelo cliente. 

 A BDA usa a concessão para sua chave gerenciada pelo cliente para as seguintes operações internas: 
+ DescribeKey — Envie solicitações AWS KMS para verificar se o ID simétrico da AWS KMS chave gerenciada pelo cliente que você forneceu é válido.
+ GenerateDataKey e decodificar — envie solicitações AWS KMS para gerar chaves de dados criptografadas pela chave gerenciada pelo cliente e descriptografe as chaves de dados criptografadas para que possam ser usadas para criptografar seus recursos.
+ CreateGrant — Envie solicitações AWS KMS para criar concessões com escopo reduzido com um subconjunto das operações acima (DescribeKey,, Decrypt) GenerateDataKey, para a execução assíncrona das operações.

 Você tem acesso total à sua AWS KMS chave gerenciada pelo cliente. É possível revogar o acesso à concessão seguindo as etapas em “Retirar e revogar concessões” no “Guia do desenvolvedor do AWS KMS” ou remover o acesso do serviço à sua chave gerenciada pelo cliente a qualquer momento modificando a política de chave. Se fizer isso, a BDA não poderá acessar os recursos criptografados pela chave. 

Se você iniciar uma nova chamada invokeDataAutomation assíncrona após revogar uma concessão, o BDA recriará a concessão. As concessões são retiradas pela BDA após trinta horas. 

## Criar uma chave gerenciada pelo cliente e anexar uma política de chave
<a name="encryption-bda-creating-keys"></a>

 Para criptografar recursos da BDA com uma chave que você cria e gerencia, siga as etapas gerais abaixo: 

1.  (Pré-requisito) Certifique-se de que sua função do IAM tenha permissões para a ação CreateKey . 

1.  Siga as etapas em [Criação de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) para criar uma chave gerenciada pelo cliente usando o AWS KMS console ou a CreateKey operação. 

1.  A criação da chave retorna um ARN que você pode usar para operações que exigem o uso da chave (por exemplo, ao criar um projeto ou blueprint no BDA), como a operação Async. invokeDataAutomation 

1.  Crie e anexe uma política de chave à chave com as permissões necessárias. Para criar uma política de chaves, siga as etapas em [Criação de uma política de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-create.html) no Guia do AWS KMS desenvolvedor. 

## Permissões e principais políticas para recursos Amazon Bedrock de automação de dados
<a name="encryption-bda-key-policies.title"></a>

 Depois de criar uma AWS KMS chave, você anexa uma política de chaves a ela. As seguintes ações do AWS KMS são usadas para chaves que criptografam recursos da BDA:

1.  kms:CreateGrant — Cria uma concessão para uma chave gerenciada pelo cliente, permitindo que o serviço BDA acesse a AWS KMS chave especificada por meio de operações de concessão, necessárias para InvokeDataAutomationAsync. 

1.  kms:DescribeKey — Fornece os detalhes da chave gerenciada pelo cliente para permitir que o BDA valide a chave. 

1.  kms:GenerateDataKey — Fornece os principais detalhes gerenciados pelo cliente para permitir que o BDA valide o acesso do usuário. 

1.  kms:Descriptografar — Descriptografa o texto cifrado armazenado para validar se a função tem acesso adequado à chave que criptografa os recursos do BDA. AWS KMS 

**Política de chave para a Automação de Dados do Amazon Bedrock**

 Para usar a chave gerenciada pelo cliente para criptografar os recursos da BDA, inclua as seguintes declarações em sua política de chave e substitua `${account-id}`, `${region}` e `${key-id}` pelos seus valores específicos:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "KMS key policy for a key to encrypt data for BDA resource",
    "Statement": [
        {
            "Sid": "Permissions for encryption of data for BDA resources",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/Role"
            },
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

**Permissões de função do IAM**

A função do IAM costumava interagir com o BDA e AWS KMS deveria ter as seguintes permissões `${region}``${account-id}`, substituí-la e `${key-id}` com seus valores específicos:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt",
                "kms:DescribeKey",
                "kms:CreateGrant"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:ViaService": [
                        "bedrock.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Contexto de criptografia da Automação do Amazon Bedrock
<a name="encryption-bda-context"></a>

O BDA usa o mesmo contexto de criptografia em todas as operações AWS KMS criptográficas, onde está a chave `aws:bedrock:data-automation-customer-account-id` e o valor é o ID da sua AWS conta. Veja abaixo um exemplo do conteúdo criptografado.

```
"encryptionContext": {
     "bedrock:data-automation-customer-account-id": "account id"
}
```

**Usar o contexto de criptografia para monitoramento**  
Ao usar uma chave simétrica gerenciada pelo cliente para criptografar seus dados, você também pode utilizar o contexto de criptografia em registros e logs de auditoria para identificar como a chave gerenciada pelo cliente está sendo utilizada. O contexto de criptografia também aparece nos registros gerados pelo AWS CloudTrail ou Amazon CloudWatch Logs.

**Usar o contexto de criptografia para controlar o acesso à chave gerenciada pelo cliente**  
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 BDA utiliza uma restrição ao contexto de criptografia em concessões para controlar o acesso à chave gerenciada pelo cliente na sua conta ou região. A restrição da concessão exige que as operações permitidas pela concessão usem o contexto de criptografia especificado. 

Veja a seguir exemplos de declarações de políticas de chave para conceder acesso a uma chave gerenciada pelo cliente para um contexto de criptografia específico. A condição nesta 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, Decrypt, GenerateDataKey",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/ExampleRole"
        },
        "Action": ["kms:DescribeKey", "kms:Decrypt", "kms:GenerateDataKey"],
        "Resource": "*"
    },
    {
        "Sid": "Enable CreateGrant",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::111122223333:role/ExampleRole"
        },
        "Action": "kms:CreateGrant",
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws:bedrock:data-automation-customer-account-id": "111122223333"
            },
            "StringEquals": {
                "kms:GrantOperations": ["Decrypt", "DescribeKey", "GenerateDataKey"]
            }
        }
    }
]
```

## Monitorando suas chaves de criptografia para automação Amazon Bedrock de dados
<a name="encryption-bda-monitoring"></a>

 Ao usar uma chave gerenciada pelo AWS KMS cliente com seus recursos de automação de Amazon Bedrock dados, você pode [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html)usar [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)ou rastrear as solicitações enviadas pela automação de Amazon Bedrock dadosAWS KMS. Veja a seguir um exemplo de AWS CloudTrail evento [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)para monitorar AWS KMS as operações chamadas pela Automação de Amazon Bedrock Dados para criar uma concessão primária: 

```
{
    "eventVersion": "1.09",
        "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/RoleForDataAutomation/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
        "sessionIssuer": {
        "type": "Role",
        "principalId": "AROAIGDTESTANDEXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/RoleForDataAutomation",
        "accountId": "111122223333",
        "userName": "RoleForDataAutomation"
        },
        "attributes": {
        "creationDate": "2024-05-07T21:46:28Z",
        "mfaAuthenticated": "false"
    }
    },
    "invokedBy": "bedrock.amazonaws.com"
    },
    "eventTime": "2024-05-07T21:49:44Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "bedrock.amazonaws.com",
    "userAgent": "bedrock.amazonaws.com",
    "requestParameters": {
    "granteePrincipal": "bedrock.amazonaws.com",
    "retiringPrincipal": "bedrock.amazonaws.com",
    "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE",
     "constraints": {
            "encryptionContextSubset": {
                "aws:bedrock:data-automation-customer-account-id": "000000000000"
            }
        },
    "operations": [
    "Decrypt",
    "CreateGrant",
    "GenerateDataKey",
    "DescribeKey"
    ]
    },
    "responseElements": {
    "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
    "keyId": "arn:aws:kms:us-east-1: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-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

# Criptografia de recursos do agente
<a name="encryption-agents-new"></a>

Por padrão, a criptografia de dados em repouso ajuda a reduzir a sobrecarga operacional e a complexidade envolvidas na proteção de dados confidenciais. Ao mesmo tempo, ela permite que você crie aplicações seguras que atendam aos rigorosos requisitos regulatórios e de conformidade de criptografia.

O Amazon Bedrock usa chaves padrão pertencentes à AWS para criptografar automaticamente as informações do agente. Isso inclui dados do ambiente de gerenciamento e dados da sessão. Não é possível visualizar, gerenciar ou auditar o uso de chaves de propriedade da AWS. Para obter mais informações, consulte [Chaves de propriedade da AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk). 

Embora não seja possível desabilitar essa camada de criptografia, você pode optar por usar chaves gerenciadas pelo cliente em vez de chaves pertencentes à AWS para criptografar as informações do agente. O Amazon Bedrock permite o uso de chaves simétricas gerenciadas pelo cliente (CMK) que você cria, possui e gerencia, em vez da criptografia padrão de propriedade da AWS. Para obter mais informações, consulte [Chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

**Importante**  
O Amazon Bedrock criptografa automaticamente as informações da sessão do agente usando chaves pertencentes à AWS sem nenhum custo.
No entanto, cobranças do AWS KMS se aplicam ao usar chaves gerenciadas pelo cliente. Para obter informações sobre preços, consulte [Preços do AWS Amazon Key Management Service](https://aws.amazon.com/kms/pricing/).
Se você criou seu agente *antes* de 22 de janeiro de 2025 e deseja usar a chave gerenciada pelo cliente para criptografar os recursos do agente, siga as instruções em [Criptografia de recursos de agentes para agentes criados antes de 22 de janeiro de 2025](encryption-agents.md).

# Criptografia de recursos de agente com chaves gerenciadas pelo cliente (CMKs)
<a name="cmk-agent-resources"></a>

Você pode, a qualquer momento, criar uma chave gerenciada pelo cliente para criptografar as informações do agente usando as informações fornecidas a seguir ao criar agente.

**nota**  
Os recursos de agente serão criptografados somente para os agentes criados após 22 de janeiro de 2025.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/bedrock/latest/userguide/cmk-agent-resources.html)

Para usar uma chave gerenciada pelo cliente, execute as seguintes etapas:

1. Crie uma chave gerenciada pelo cliente com o AWS Key Management Service.

1. Crie uma política de chave e a anexe à chave gerenciada pelo cliente.

## Criar uma chave gerenciada pelo cliente
<a name="create-cmk-agent"></a>

Você pode criar uma chave simétrica gerenciada pelo cliente usando o AWS Management Console ou o. AWS Key Management Service APIs 

 Primeiro, verifique se você tem permissões `CreateKey` e, em seguida, siga as etapas para [Criar uma chave simétrica gerenciada pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) no *Guia do desenvolvedor do AWS Key Management Service *.

**Política de chave**: as políticas de chave controlam o acesso à chave gerenciada pelo cliente. Cada chave gerenciada pelo cliente deve ter exatamente uma política de chaves, que contém declarações que determinam quem pode usar a chave e como pode usá-la. Ao criar a chave gerenciada pelo cliente, é possível especificar uma política de chave. Consulte mais informações para saber como [gerenciar o acesso às chaves gerenciadas pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) no *Guia do desenvolvedor do AWS Key Management Service *.

Se você criou o agente depois de 22 de janeiro de 2025 e deseja usar a chave gerenciada pelo cliente para criptografar as informações do agente, o usuário ou o perfil que chama as operações de API do agente deve ter as seguintes permissões na política de chave:
+ [kms: GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) — retorna uma chave de dados simétrica exclusiva para uso fora do AWS KMS.
+ [kms:Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): descriptografa texto cifrado criptografado com uma chave do KMS.

A criação da chave exibe um `Arn` para a chave que você pode usar como `customerEncryptionKeyArn` ao criar o agente. 

## Criar uma política de chave e anexá-la à chave gerenciada pelo cliente
<a name="attach-policy-agent"></a>

Se você criptografar recursos do agente com uma chave gerenciada pelo cliente, deverá configurar uma política baseada em identidade e uma política baseada em recursos para permitir que o Amazon Bedrock criptografe e descriptografe os recursos do agente em seu nome.

**Política baseada em identidade**

Anexe a seguinte política baseada em identidade a uma função ou usuário do IAM com permissões para fazer chamadas para agentes APIs que criptografam e descriptografam recursos do agente em seu nome. Essa política valida que o usuário que faz a chamada de API tem AWS KMS permissões. Substitua `${region}`, `${account-id}`, `${agent-id}` e `${key-id}` pelos valores apropriados.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EncryptAgents",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

**Política baseada em recursos**

Anexe a seguinte política baseada em recursos à sua AWS KMS chave *somente* se você estiver criando grupos de ação nos quais o esquema no Amazon S3 é criptografado. Você não precisa anexar uma política baseada em recursos para nenhum outro caso de uso.

Para anexar a política baseada em recursos a seguir, altere o escopo das permissões conforme necessário e substitua `${region}`, `${account-id}` e `${agent-id}` e `${key-id}` pelos valores apropriados.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Allow account root to modify the KMS key, not used by Amazon Bedrock.",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}"
        },
        {
            "Sid": "Allow Amazon Bedrock to encrypt and decrypt Agent resources on behalf of authorized users",
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
            "Condition": {
                "StringEquals": {
                    "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/${agent-id}"
                }
            }
        }
    ]
}
```

------

## Alterar a chave gerenciada pelo cliente
<a name="change-cmk"></a>

Os agentes do Amazon Bedrock não oferecem suporte à recriptografia de agentes versionados quando a chave gerenciada pelo cliente associada ao agente *DRAFT* é alterada ou quando você passa da chave gerenciada pelo cliente para a chave própria. AWS Somente os dados do recurso *DRAFT* serão criptografados novamente com a nova chave.

Não exclua nem remova as permissões de nenhuma chave de um agente versionado se a estiver usando para fornecer dados de produção.

Para visualizar e verificar as chaves que estão sendo usadas por uma versão, ligue [GetAgentVersion](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_GetAgentVersion.html)e verifique a `customerEncryptionKeyArn` resposta.

# Criptografar sessões do agente com chave gerenciada pelo cliente (CMK)
<a name="ltm-permissions"></a>

Se você habilitou a memória do agente e criptografou as sessões do agente com uma chave gerenciada pelo cliente, deverá configurar a política de chaves a seguir e as permissões do IAM de identidade de chamada para configurar a chave gerenciada pelo cliente.

**Política de chave gerenciada pelo cliente**

O Amazon Bedrock usa essas permissões para gerar chaves de dados criptografadas e utiliza as chaves geradas para criptografar a memória do agente. O Amazon Bedrock também precisa de permissões para criptografar novamente a chave de dados gerada com diferentes contextos de criptografia. As permissões de nova criptografia também são usadas quando a chave gerenciada pelo cliente faz transições entre outra chave gerenciada pelo cliente ou chave de propriedade do serviço. Para obter mais informações, consulte [Chaveiro hierárquico](https://docs.aws.amazon.com//database-encryption-sdk/latest/devguide/use-hierarchical-keyring.html).

Substitua `$region`, `account-id` e `${caller-identity-role}` por valores adequados.

```
{
    "Version": "2012-10-17",		 	 	 
    {
        "Sid": "Allow access for bedrock to enable long term memory",
        "Effect": "Allow",
        "Principal": {
            "Service": [
                "bedrock.amazonaws.com",
            ],
        },
        "Action": [
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:ReEncrypt*"
        ],
        "Condition": {
            "StringEquals": {
                "aws:SourceAccount": "$account-id"
            },
            "ArnLike": {
                "aws:SourceArn": "arn:aws:bedrock:$region:$account-id:agent-alias/*"
            }
        }
        "Resource": "*"
    },
    {
        "Sid": "Allow the caller identity control plane permissions for long term memory",
        "Effect": "Allow", 
        "Principal": {
            "AWS": "arn:aws:iam::${account-id}:role/${caller-identity-role}"
        },
        "Action": [
            "kms:GenerateDataKeyWithoutPlainText",
            "kms:ReEncrypt*"
        ],
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:${region}:${account-id}:agent-alias/*"
            }
        }
    },
    {
        "Sid": "Allow the caller identity data plane permissions to decrypt long term memory",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::${account-id}:role/${caller-identity-role}"
        },
        "Action": [
            "kms:Decrypt"
        ],
        "Resource": "*",
        "Condition": {
            "StringLike": {
                "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:${region}:${account-id}:agent-alias/*",
                "kms:ViaService": "bedrock.$region.amazonaws.com" 
            }
        }
    }
}
```

**Permissões do IAM para criptografar e descriptografar a memória do agente**

As permissões do IAM a seguir são necessárias para que a API de agentes de chamada de identidade configure a chave do KMS de agentes com memória habilitada. Os agentes do Amazon Bedrock usam essas permissões para garantir que a identidade do chamador esteja autorizada a ter as permissões mencionadas na política principal acima APIs para gerenciar, treinar e implantar modelos. Para os agentes APIs que invocam, o agente Amazon Bedrock usa as `kms:Decrypt` permissões da identidade do chamador para descriptografar a memória.

Substitua `$region`, `account-id` e `${key-id}` por valores adequados.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AgentsControlPlaneLongTermMemory",
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKeyWithoutPlaintext", 
                "kms:ReEncrypt*"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/*"
                }
            }
        },
        {
            "Sid": "AgentsDataPlaneLongTermMemory",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws-crypto-ec:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent-alias/*"
                }
            }
        }
    ]
}
```

------

# Práticas recomendadas de segurança preventiva para agentes
<a name="security-best-practice-agents"></a>

As seguintes práticas recomendadas para o Amazon Bedrock podem ajudar a evitar incidentes de segurança:

**Use conexões seguras**

Sempre use conexões criptografadas, como as que começam com `https://` para manter seguras as informações confidenciais em trânsito.

**Implemente o acesso de privilégio mínimo a recursos**

Ao criar políticas personalizadas para os recursos do Amazon Bedrock e conceda apenas as permissões necessárias à execução de uma tarefa. Recomendamos que se inicie com um conjunto mínimo de permissões e que permissões adicionais sejam concedidas quando forem necessárias. A implementação do privilégio mínimo de acesso é fundamental para se reduzir o risco de segurança e o impacto que pode resultar de erros ou ataques maliciosos. Para obter mais informações, consulte [Gerenciamento de identidade e acesso para o Amazon Bedrock](security-iam.md).

**Não inclua PII em nenhum dos recursos do agente que contêm dados do cliente**

Ao criar, atualizar e excluir recursos de agentes (por exemplo, ao usar [CreateAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgent.html)), não inclua informações de identificação pessoal (PII) em nenhum campo que não ofereça suporte ao uso da chave gerenciada pelo cliente, como nomes de grupos de ação e nomes da base de conhecimento. Para ver a lista de campos que permitem o uso de chave gerenciada pelo cliente, consulte [Criptografia de recursos de agente com chaves gerenciadas pelo cliente (CMKs)](cmk-agent-resources.md).

# Criptografia de recursos de agentes para agentes criados antes de 22 de janeiro de 2025
<a name="encryption-agents"></a>

**Importante**  
Se você criou seu agente *depois* de 22 de janeiro de 2025, siga as instruções em [Criptografia de recursos do agente](encryption-agents-new.md).

O Amazon Bedrock criptografa as informações da sessão do agente. Por padrão, o Amazon Bedrock criptografa esses dados usando uma chave AWS gerenciada. Opcionalmente, é possível criptografar os artefatos de agente usando uma chave gerenciada pelo cliente.

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

Se você criptografar as sessões de agente com uma chave personalizada do KMS, deverá configurar a política baseada em identidade e a política baseada em recurso a seguir para permitir que o Amazon Bedrock criptografe e descriptografe recursos do agente em seu nome.

1. Anexe a política baseada em identidade a seguir a um usuário ou perfil do IAM com permissão para fazer chamadas `InvokeAgent`. Essa política valida que o usuário que está fazendo uma chamada `InvokeAgent` tem as permissões do KMS. Substitua *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1agent-id\$1* e *\$1\$1key-id\$1* pelos valores apropriados.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptDecryptAgents",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/agent-id"
                   }
               }
           }
       ]
   }
   ```

------

1. Anexe a política baseada em recurso a seguir à sua chave do KMS. Altere o escopo das permissões conforme necessário. Substitua *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1agent-id\$1* e *\$1\$1key-id\$1* pelos valores apropriados.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRootModifyKMSKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:root"
               },
               "Action": "kms:*",
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowBedrockEncryptAgent",
               "Effect": "Allow",
               "Principal": {
                   "Service": "bedrock.amazonaws.com"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock:arn": "arn:aws:bedrock:us-east-1:123456789012:agent/AgentId"
                   }
               }
           },
           {
               "Sid": "AllowRoleEncryptAgent",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/Role"
               },
               "Action": [
                   "kms:GenerateDataKey*",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowAttachmentPersistentResources",
               "Effect": "Allow",
               "Principal": {
                   "Service": "bedrock.amazonaws.com"
               },
               "Action": [
                   "kms:CreateGrant",
                   "kms:ListGrants",
                   "kms:RevokeGrant"
               ],
               "Resource": "*",
               "Condition": {
                   "Bool": {
                       "kms:GrantIsForAWSResource": "true"
                   }
               }
           }
       ]
   }
   ```

------

# Criptografia dos recursos do Amazon Bedrock Flows
<a name="encryption-flows"></a>

O Amazon Bedrock criptografa seus dados em repouso. Por padrão, o Amazon Bedrock criptografa esses dados usando uma chave gerenciada pela AWS. Opcionalmente, é possível criptografar os dados usando uma chave gerenciada pelo cliente.

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

Se você criptografar dados com uma chave personalizada do KMS, deverá configurar a política baseada em identidade e a política baseada em recursos a seguir para permitir que o Amazon Bedrock criptografe e descriptografe dados em seu nome.

1. Anexe a política baseada em identidade a seguir a um usuário ou perfil do IAM com permissões para fazer chamadas de API ao recurso Fluxos do Amazon Bedrock. Essa política valida que o usuário que está fazendo chamadas ao recurso Fluxos do Amazon Bedrock tem as permissões do KMS. Substitua *\$1\$1region\$1*, *\$1\$1account-id\$1*, *\$1\$1flow-id\$1* e *\$1\$1key-id\$1* pelos valores apropriados.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptFlow",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/${flow-id}",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. Anexe a política baseada em recurso a seguir à sua chave do KMS. Altere o escopo das permissões conforme necessário. Substitua o *\$1IAM-USER/ROLE-ARN\$1* *\$1\$1region\$1**\$1\$1account-id\$1*,*\$1\$1flow-id\$1*,, e *\$1\$1key-id\$1* pelos valores apropriados.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowRootModifyKMSId",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:root"
               },
               "Action": "kms:*",
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/KeyId"
           },
           {
               "Sid": "AllowRoleUseKMSKey",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::123456789012:role/RoleName"
               },
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/${key-id}",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/FlowId",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

1. Em [Execuções de fluxo](flows-create-async.md), anexe a política baseada em identidade a seguir a um [perfil de serviço com permissões para criar e gerenciar fluxos](flows-permissions.md). Essa política valida se sua função de serviço tem AWS KMS permissões. Substitua *region*, *account-id*, *flow-id* e *key-id* pelos valores apropriados.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "EncryptionFlows",
               "Effect": "Allow",
               "Action": [
                   "kms:GenerateDataKey",
                   "kms:Decrypt"
               ],
               "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id",
               "Condition": {
                   "StringEquals": {
                       "kms:EncryptionContext:aws:bedrock-flows:arn": "arn:aws:bedrock:us-east-1:123456789012:flow/flow-id",
                       "kms:ViaService": "bedrock.us-east-1.amazonaws.com"
                   }
               }
           }
       ]
   }
   ```

------

# Criptografia de recursos da base de conhecimento
<a name="encryption-kb"></a>

O Amazon Bedrock criptografa os recursos relacionados às bases de conhecimento. Por padrão, o Amazon Bedrock criptografa esses dados usando uma chave própria AWS. Opcionalmente, é possível criptografar os artefatos de modelo usando uma chave gerenciada pelo cliente.

A criptografia com uma chave do KMS pode ocorrer com os seguintes processos:
+ Armazenamento de dados temporário ao ingerir fontes de dados
+ Passando informações para o OpenSearch Serviço se você permitir que o Amazon Bedrock configure seu banco de dados vetoriais
+ Consulta de uma base de conhecimento

Os recursos a seguir usados pelas bases de conhecimento podem ser criptografados com uma chave do KMS. Se você criptografá-los, precisará adicionar permissões para descriptografar a chave do KMS.
+ Fontes de dados armazenadas em um bucket do Amazon S3
+ Armazenamentos de vetores de terceiros

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

**nota**  
As Bases de Conhecimento do Amazon Bedrock usam criptografia TLS para comunicação com conectores de fonte de dados e armazenamento de vetores de terceiros em que o fornecedor permite e oferece suporte à criptografia TLS em trânsito.

**Topics**
+ [Criptografia de armazenamento de dados temporário durante a ingestão de dados](#encryption-kb-ingestion)
+ [Criptografia das informações passadas para o Amazon OpenSearch Service](#encryption-kb-oss)
+ [Criptografia das informações enviadas ao Amazon S3 Vectors](#encryption-kb-s3-vector)
+ [Criptografia da recuperação da base de conhecimento](#encryption-kb-runtime)
+ [Permissões para descriptografar sua AWS KMS chave para suas fontes de dados no Amazon S3](#encryption-kb-ds)
+ [Permissões para descriptografar um AWS Secrets Manager segredo para o armazenamento de vetores que contém sua base de conhecimento](#encryption-kb-3p)
+ [Permissões para Bedrock Data Automation (BDA) com criptografia AWS KMS](#encryption-kb-bda)

## Criptografia de armazenamento de dados temporário durante a ingestão de dados
<a name="encryption-kb-ingestion"></a>

Ao configurar um trabalho de ingestão de dados para a base de conhecimento, é possível criptografar o trabalho com uma chave personalizada do KMS.

Para permitir a criação de uma AWS KMS chave para armazenamento transitório de dados no processo de ingestão de sua fonte de dados, anexe a seguinte política à sua função de serviço do Amazon Bedrock. Substitua os valores de exemplo por sua própria AWS região, ID da conta e ID da AWS KMS chave.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ]
        }
    ]
}
```

------

## Criptografia das informações passadas para o Amazon OpenSearch Service
<a name="encryption-kb-oss"></a>

Se você optar por permitir que o Amazon Bedrock crie um armazenamento vetorial no Amazon OpenSearch Service para sua base de conhecimento, o Amazon Bedrock poderá passar uma chave KMS que você escolher para o Amazon OpenSearch Service para criptografia. Para saber mais sobre criptografia no Amazon OpenSearch Service, consulte [Criptografia no Amazon OpenSearch Service](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/serverless-encryption.html).

## Criptografia das informações enviadas ao Amazon S3 Vectors
<a name="encryption-kb-s3-vector"></a>

Se você optar por permitir que o Amazon Bedrock crie um bucket de vetores do S3 e um índice de vetores no Amazon S3 Vectors para sua base de conhecimento, o Amazon Bedrock poderá enviar uma chave do KMS de sua escolha ao Amazon S3 Vectors para criptografia. Para saber mais sobre criptografia no Amazon S3 Vectors, consulte [Criptografia com o Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors-bucket-encryption.html).

## Criptografia da recuperação da base de conhecimento
<a name="encryption-kb-runtime"></a>

É possível criptografar sessões nas quais você gera respostas ao consultar uma base de conhecimento com uma chave do KMS. Para fazer isso, inclua o ARN de uma chave KMS no `kmsKeyArn` campo ao fazer uma solicitação. [RetrieveAndGenerate](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html) Anexe a política a seguir, substituindo os valores de exemplo por sua própria AWS região, ID da conta e ID da AWS KMS chave para permitir que o Amazon Bedrock criptografe o contexto da sessão.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "bedrock.amazonaws.com"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:123456789012:key/key-id"
        }
    ]
}
```

------

## Permissões para descriptografar sua AWS KMS chave para suas fontes de dados no Amazon S3
<a name="encryption-kb-ds"></a>

Armazene as fontes de dados da sua base de conhecimento no bucket do Amazon S3. Para criptografar esses documentos em repouso, é possível usar a criptografia do lado do servidor do Amazon S3 SSE-S3. Com essa opção, os objetos são criptografados com chaves de serviço gerenciadas pelo serviço Amazon S3. 

Para obter mais informações, consulte [Proteção de dados usando criptografia do lado do servidor com chaves de criptografia gerenciadas pelo Amazon S3 (SSE-S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) no *Manual do usuário do Amazon Simple Storage Service*.

Se você criptografou suas fontes de dados no Amazon S3 com uma AWS KMS chave personalizada, anexe a seguinte política à sua função de serviço do Amazon Bedrock para permitir que o Amazon Bedrock decifre sua chave. Substitua os valores de exemplo por sua própria AWS região, ID da conta e ID da AWS KMS chave.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "KMS:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ],
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": [
                        "s3.us-east-1.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

## Permissões para descriptografar um AWS Secrets Manager segredo para o armazenamento de vetores que contém sua base de conhecimento
<a name="encryption-kb-3p"></a>

Se o repositório vetorial que contém sua base de conhecimento estiver configurado com um AWS Secrets Manager segredo, você poderá criptografar o segredo com uma AWS KMS chave personalizada seguindo as etapas em [Criptografia e descriptografia secretas](https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html) em. AWS Secrets Manager

Se você fizer isso, anexe a política a seguir ao seu perfil de serviço do Amazon Bedrock para permitir que ele descriptografe a chave. Substitua os valores de exemplo por sua própria AWS região, ID da conta e ID da AWS KMS chave.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt"
            ],
            "Resource": [
                "arn:aws:kms:us-east-1:123456789012:key/key-id"
            ]
        }
    ]
}
```

------

## Permissões para Bedrock Data Automation (BDA) com criptografia AWS KMS
<a name="encryption-kb-bda"></a>

Ao usar o BDA para processar conteúdo multimodal com AWS KMS chaves gerenciadas pelo cliente, são necessárias permissões adicionais além das permissões padrão. AWS KMS 

Anexe a seguinte política à sua função de serviço Amazon Bedrock para permitir que o BDA trabalhe com arquivos multimídia criptografados. Substitua os valores de exemplo por sua própria AWS região, ID da conta e ID da AWS KMS chave.

```
{
    "Sid": "KmsPermissionStatementForBDA",
    "Effect": "Allow",
    "Action": [
        "kms:GenerateDataKey",
        "kms:Decrypt",
        "kms:DescribeKey",
        "kms:CreateGrant"
    ],
    "Resource": "arn:aws:kms:region:account-id:key/key-id",
    "Condition": {
        "StringEquals": {
            "aws:ResourceAccount": "account-id",
            "kms:ViaService": "bedrock.region.amazonaws.com"
        }
    }
}
```

As permissões específicas do BDA incluem `kms:DescribeKey` `kms:CreateGrant` ações, que são necessárias para que o BDA processe arquivos criptografados de áudio, vídeo e imagem.