

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

**Bases de conhecimento totalmente gerenciadas**

A criptografia com uma chave do KMS pode ocorrer com os seguintes processos:
+ Armazenamento de dados temporário ao ingerir fontes de dados
+ Armazenamento permanente de dados enquanto armazena suas fontes de dados
+ 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

**Bases de conhecimento personalizadas (loja de vetores)**

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
+ Third-party lojas de vetores

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 do armazenamento de dados em uma base de conhecimento totalmente gerenciada](#encryption-kb-managed-ingestion)
+ [Criptografia da recuperação da base de conhecimento](#encryption-kb-runtime)
+ [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)
+ [Permissões para descriptografar seu 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 repositório de vetores que contém sua base de conhecimento](#encryption-kb-3p)
+ [Permissões para Bedrock Data Automation (BDA) com AWS KMS criptografia](#encryption-kb-bda)

## Criptografia do armazenamento de dados em uma base de conhecimento totalmente gerenciada
<a name="encryption-kb-managed-ingestion"></a>

Ao criar uma base de conhecimento totalmente gerenciada, você pode criptografar os dados com uma chave KMS personalizada. A chave KMS é especificada durante a criação da base de conhecimento e se aplica tanto ao armazenamento transitório de dados durante a ingestão quanto ao armazenamento permanente de dados para indexação.

O Amazon Bedrock usa uma única chave KMS, que você especifica ao criar a base de conhecimento, para criptografar todos os dados em sua base de conhecimento. Isso inclui dados transitórios enquanto suas fontes de dados estão sendo ingeridas e dados permanentes que são armazenados para indexação e recuperação.

Quando você cria uma base de conhecimento totalmente gerenciada com uma chave gerenciada pelo cliente, o Amazon Bedrock verifica se pode usar a chave e, em seguida, cria uma concessão para a chave. O Amazon Bedrock usa essa concessão para criptografar e descriptografar seus dados durante a ingestão, indexação e recuperação, e retira a concessão quando você exclui a base de conhecimento.

Você fornece essas permissões na política de chaves da sua AWS KMS chave para a identidade do IAM que cria a base de conhecimento, conforme mostrado no exemplo a seguir. Substitua os valores de exemplo por sua própria AWS região, ID da conta e função ou usuário do IAM que cria a base de conhecimento. A função de serviço do IAM associada à base de conhecimento (a função que o Amazon Bedrock usa para ler suas fontes de dados) não exige nenhuma permissão na chave KMS.

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/{{role-name}}"
            },
            "Action": [
                "kms:CreateGrant"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "bedrock.{{region}}.amazonaws.com"
                },
                "ForAllValues:StringEquals": {
                    "kms:GrantOperations": [
                        "CreateGrant",
                        "GenerateDataKey",
                        "GenerateDataKeyWithoutPlaintext",
                        "DescribeKey",
                        "Encrypt",
                        "Decrypt"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/{{role-name}}"
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "kms:ViaService": "bedrock.{{region}}.amazonaws.com"
                }
            }
        }
    ]
}
```

### Monitore suas chaves de criptografia para obter bases de conhecimento totalmente gerenciadas
<a name="encryption-kb-managed-monitor"></a>

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

Veja a seguir um exemplo de AWS CloudTrail evento que mostra a concessão que o Amazon Bedrock cria em sua AWS KMS chave quando você cria uma base de conhecimento totalmente gerenciada:

```
{
    "eventVersion": "1.09",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:SampleUser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/SampleRole/SampleUser01",
        "accountId": "111122223333",
        "accessKeyId": "EXAMPLE",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:role/SampleRole",
                "accountId": "111122223333",
                "userName": "SampleRole"
            },
            "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",
            "GenerateDataKey"
        ]
    },
    "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 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}}"
        }
    ]
}
```

------

## 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 sua base de conhecimento personalizada, você pode criptografar o trabalho com uma chave KMS personalizada.

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

## Permissões para descriptografar seu 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, você pode usar a opção de criptografia do lado do servidor Amazon SSE-S3 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 S3-managed criptografia da Amazon (SSE-S3) no Guia do usuário](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html) 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 repositório 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 AWS KMS criptografia
<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 BDA-specific permissões 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.