

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 no Amazon OpenSearch Serverless
<a name="serverless-encryption"></a>

## Criptografia em repouso
<a name="serverless-encryption-at-rest"></a>

Cada coleção Amazon OpenSearch Serverless que você cria é protegida com criptografia de dados em repouso, um recurso de segurança que ajuda a impedir o acesso não autorizado aos seus dados. A criptografia em repouso usa AWS Key Management Service (AWS KMS) para armazenar e gerenciar suas chaves de criptografia. Ela usa o algoritmo Advanced Encryption Standard com chaves de 256 bits (AES-256) para executar a criptografia.

**Topics**
+ [Políticas de criptografia](#serverless-encryption-policies)
+ [Considerações](#serverless-encryption-considerations)
+ [Permissões obrigatórias](#serverless-encryption-permissions)
+ [Política de chaves para uma chave gerenciada pelo cliente](#serverless-customer-cmk-policy)
+ [Como o OpenSearch Serverless usa subsídios em AWS KMS](#serverless-encryption-grants)
+ [Criação de políticas de criptografia (console)](#serverless-encryption-console)
+ [Criação de políticas de criptografia (AWS CLI)](#serverless-encryption-cli)
+ [Exibição de políticas de criptografia](#serverless-encryption-list)
+ [Atualização de políticas de criptografia](#serverless-encryption-update)
+ [Exclusão de políticas de criptografia](#serverless-encryption-delete)

### Políticas de criptografia
<a name="serverless-encryption-policies"></a>

Com as políticas de criptografia, é possível gerenciar várias coleções em grande escala atribuindo automaticamente uma chave de criptografia às coleções recém-criadas que correspondam a um nome ou padrão específico.

Ao criar uma política de criptografia, é possível especificar um *prefixo*, que é uma regra de correspondência baseada em curingas, como `MyCollection*`, ou inserir um único nome de coleção. Em seguida, quando você criar uma coleção que corresponda a esse padrão de nome ou prefixo, a política e a chave do KMS correspondente serão automaticamente atribuídas a ela.

Ao criar uma coleção, você pode especificar uma AWS KMS chave de duas maneiras: por meio de políticas de segurança ou diretamente na `CreateCollection` solicitação. Se você fornecer uma AWS KMS chave como parte da `CreateCollection` solicitação, ela terá precedência sobre qualquer política de segurança correspondente. Com essa abordagem, você tem a flexibilidade de substituir as configurações de criptografia baseadas em políticas para coleções específicas quando necessário.

![\[Encryption policy creation process with rules and collection matching to KMS key.\]](http://docs.aws.amazon.com/pt_br/opensearch-service/latest/developerguide/images/serverless-encryption.png)


As políticas de criptografia contêm os seguintes elementos:
+ `Rules`: uma ou mais regras de correspondência de coleções, cada uma com os seguintes subelementos:
  + `ResourceType`: no momento, a única opção é “collection” (coleção). As políticas de criptografia se aplicam somente aos recursos de coleção.
  + `Resource`: um ou mais nomes ou padrões de coleção aos quais a política será aplicada, no formato `collection/<collection name|pattern>`.
+ `AWSOwnedKey`: opção de uso de uma Chave pertencente à AWS.
+ `KmsARN`: se você definir `AWSOwnedKey` como falso, especifique o nome do recurso da Amazon (ARN) da chave do KMS com a qual criptografar as coleções associadas. Se você incluir esse parâmetro, o OpenSearch Serverless ignorará o parâmetro. `AWSOwnedKey`

O exemplo de política a seguir atribuirá uma chave gerenciada pelo cliente a qualquer coleção futura denominada `autopartsinventory`, bem como às coleções que comecem com o termo “sales” (vendas):

```
{
   "Rules":[
      {
         "ResourceType":"collection",
         "Resource":[
            "collection/autopartsinventory",
            "collection/sales*"
         ]
      }
   ],
   "AWSOwnedKey":false,
   "KmsARN":"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36"
}
```

Mesmo que uma política corresponda a um nome de coleção, é possível optar por substituir essa atribuição automática durante a criação da coleção se o padrão do recurso contiver um caractere curinga (\$1). Se você optar por substituir a atribuição automática de chaves, o OpenSearch Serverless cria uma política de criptografia para você chamada **auto-< *collection-name* >** e a anexa à coleção. Inicialmente, a política só se aplica a uma única coleção, mas é possível modificá-la para incluir coleções adicionais.

Se você modificar as regras de política para que não correspondam mais a uma coleção, a chave do KMS associada não terá a atribuição a essa coleção cancelada. A coleção permanece sempre criptografada com sua chave de criptografia inicial. Se você desejar alterar a chave de criptografia de uma coleção, deverá recriar a coleção.

Se as regras de várias políticas corresponderem a uma coleção, a regra mais específica será usada. Por exemplo, se uma política contiver uma regra para `collection/log*` e outra para `collection/logSpecial`, a chave de criptografia da segunda política será usada porque é mais específica.

Você não pode usar um nome ou prefixo em uma política se ela já existir em outra política. OpenSearch O Serverless exibirá um erro se você tentar configurar padrões de recursos idênticos em políticas de criptografia diferentes.

### Considerações
<a name="serverless-encryption-considerations"></a>

Considere o seguinte ao configurar a criptografia de suas coleções:
+ A criptografia em repouso é *obrigatória* para todas as coleções do Sem Servidor.
+ Você tem a opção de usar uma chave gerenciada pelo cliente ou uma Chave pertencente à AWS. Se você escolher uma chave gerenciada pelo cliente, recomendamos habilitar a [rotação automática de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html).
+ Não é possível alterar a chave de criptografia de uma coleção depois que a coleção é criada. Escolha cuidadosamente qual AWS KMS usar na primeira vez que você configura uma coleção.
+ Uma coleção só pode corresponder a uma única política de criptografia.
+ Coleções com chaves KMS exclusivas não podem compartilhar Unidades de OpenSearch Computação (OCUs) com outras coleções. Cada coleção com uma chave exclusiva requer suas próprias 4 OCUs.
+ Se você atualizar a chave do KMS em uma política de criptografia, a alteração não afetará as coleções correspondentes existentes com as chaves do KMS já atribuídas.
+ OpenSearch O Serverless não verifica explicitamente as permissões do usuário nas chaves gerenciadas pelo cliente. Se um usuário tiver permissões para acessar uma coleção por meio de uma política de acesso a dados, ele poderá ingerir e consultar os dados criptografados com a chave associada.

### Permissões obrigatórias
<a name="serverless-encryption-permissions"></a>

A criptografia em repouso para OpenSearch Serverless usa as seguintes permissões AWS Identity and Access Management (IAM). É possível especificar as condições do IAM para restringir os usuários a coleções específicas.
+ `aoss:CreateSecurityPolicy`: cria uma política de criptografia.
+ `aoss:ListSecurityPolicies`: lista todas as políticas e coleções de criptografia às quais elas estão vinculadas.
+ `aoss:GetSecurityPolicy`: exibe os detalhes de uma política de criptografia específica.
+ `aoss:UpdateSecurityPolicy`: modifica uma política de criptografia.
+ `aoss:DeleteSecurityPolicy`: exclui uma política de criptografia.

O exemplo a seguir de política de acesso baseada em identidade fornece as permissões mínimas necessárias para que um usuário gerencie políticas de criptografia com o padrão de recursos `collection/application-logs`.

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

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "aoss:CreateSecurityPolicy",
            "aoss:UpdateSecurityPolicy",
            "aoss:DeleteSecurityPolicy",
            "aoss:GetSecurityPolicy"
         ],
         "Resource":"*",
         "Condition":{
            "StringEquals":{
               "aoss:collection":"application-logs"
            }
         }
      },
      {
         "Effect":"Allow",
         "Action":[
            "aoss:ListSecurityPolicies"
         ],
         "Resource":"*"
      }
   ]
}
```

------

### Política de chaves para uma chave gerenciada pelo cliente
<a name="serverless-customer-cmk-policy"></a>

Se você selecionar uma [chave gerenciada pelo cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) para proteger uma coleção, a OpenSearch Serverless obterá permissão para usar a chave KMS em nome do diretor que faz a seleção. Esse diretor, um usuário ou uma função, deve ter as permissões na chave KMS que o OpenSearch Serverless exige. É possível fornecer essas permissões em uma [política de chaves](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) ou em uma [política do IAM](https://docs.aws.amazon.com/kms/latest/developerguide/iam-policies.html).

OpenSearch O Serverless faz `GenerateDataKey` e faz chamadas à API `Decrypt` KMS durante operações de manutenção, como escalonamento automático e atualizações de software. Você pode observar essas chamadas fora dos padrões de tráfego típicos. Essas chamadas fazem parte das operações normais do serviço e não indicam tráfego ativo de usuários. 

OpenSearch O Serverless gera um `KMSKeyInaccessibleException` quando não consegue acessar a chave KMS que criptografa seus dados em repouso. Isso ocorre quando você desativa ou exclui a chave KMS ou revoga as concessões que permitem que o OpenSearch Serverless use a chave.

No mínimo, o OpenSearch Serverless exige as seguintes permissões em uma chave gerenciada pelo cliente:
+ [kms: DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)
+ [kms: CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)

Por exemplo:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
        "Action": "kms:DescribeKey",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/Dale"
        },
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "kms:ViaService": "aoss.us-east-1.amazonaws.com"
            }
        }
    },
    {
        "Action": "kms:CreateGrant",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::123456789012:user/Dale"
        },
        "Resource": "*",
        "Condition": {
            "StringEquals": {
                "kms:ViaService": "aoss.us-east-1.amazonaws.com"
            },
            "ForAllValues:StringEquals": {
                "kms:GrantOperations": [
                    "Decrypt",
                    "GenerateDataKey"
                ]
            },
            "Bool": {
                "kms:GrantIsForAWSResource": "true"
            }
        }
    }
  ]
}
```

------

OpenSearch [Sem servidor, crie uma concessão com as permissões [kms: GenerateDataKey e kms:decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html).](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)

Para saber mais, consulte [Uso de políticas de chaves no AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) no *Guia do desenvolvedor do AWS Key Management Service *.

### Como o OpenSearch Serverless usa subsídios em AWS KMS
<a name="serverless-encryption-grants"></a>

OpenSearch O Serverless exige uma [concessão](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) para usar uma chave gerenciada pelo cliente.

Quando você cria uma política de criptografia em sua conta com uma nova chave, o OpenSearch Serverless cria uma concessão em seu nome enviando uma [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html)solicitação para. AWS KMS As concessões AWS KMS são usadas para dar acesso OpenSearch sem servidor a uma chave KMS em uma conta de cliente.

OpenSearch O Serverless exige que a concessão use sua chave gerenciada pelo cliente para as seguintes operações internas:
+ Envie [DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html)solicitações AWS KMS para verificar se a ID simétrica da chave gerenciada pelo cliente fornecida é válida. 
+ Envie [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)solicitações para a chave KMS para criar chaves de dados com as quais criptografar objetos.
+ Envie solicitações de [descriptografia para AWS KMS descriptografar](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html) as chaves de dados criptografadas para que elas possam ser usadas para criptografar seus dados. 

É possível revogar o acesso à concessão, ou remover o acesso do serviço à chave gerenciada pelo cliente a qualquer momento. Se você fizer isso, o OpenSearch Serverless não poderá acessar nenhum dos dados criptografados pela chave gerenciada pelo cliente, o que afeta todas as operações que dependem desses dados, levando a `AccessDeniedException` erros e falhas nos fluxos de trabalho assíncronos.

OpenSearch O Serverless retira as concessões em um fluxo de trabalho assíncrono quando uma determinada chave gerenciada pelo cliente não está associada a nenhuma política ou coleção de segurança.

### Criação de políticas de criptografia (console)
<a name="serverless-encryption-console"></a>

Em uma política de criptografia, você especifica uma chave do KMS e uma série de padrões de coleção aos quais a política se aplicará. Qualquer nova coleção que corresponda a um dos padrões definidos na política receberá a chave do KMS correspondente quando você criar a coleção. Recomendamos que você crie políticas de criptografia *antes* de começar a criar coleções.

**Para criar uma política de criptografia OpenSearch sem servidor**

1. Abra o console do Amazon OpenSearch Service em [https://console.aws.amazon.com/aos/casa](https://console.aws.amazon.com/aos/home).

1. No painel de navegação à esquerda, expanda **Sem Servidor** e escolha **Políticas de criptografia**.

1. Escolha **Criar política de criptografia**.

1. Forneça um nome e uma descrição para a política.

1. Em **Recursos**, insira um ou mais padrões de recursos para essa política de criptografia. Todas as coleções recém-criadas na Conta da AWS e região atual que correspondam a um dos padrões serão automaticamente atribuídas a essa política. Por exemplo, se você inserir `ApplicationLogs` (sem nenhum curinga) e depois criar uma coleção com esse nome, a política e a chave do KMS correspondente serão atribuídas a essa coleção.

   Você também pode fornecer um prefixo como `Logs*`, que atribuirá a política a qualquer nova coleção com nomes começando com `Logs`. Usando curingas, é possível gerenciar as configurações de criptografia para várias coleções em grande escala.

1. Em **Criptografia**, escolha uma chave do KMS para usar.

1. Escolha **Criar**.

#### Próxima etapa: criar coleções
<a name="serverless-encryption-next"></a>

Depois de configurar uma ou mais políticas de criptografia, será possível começar a criar coleções que correspondam às regras definidas nessas políticas. Para instruções, consulte [Criação de coleções](serverless-create.md).

Na etapa **Criptografias** da criação da coleção, o OpenSearch Serverless informa que o nome inserido corresponde ao padrão definido em uma política de criptografia e atribui automaticamente a chave KMS correspondente à coleção. Se o padrão do recurso contiver um curinga (\$1), será possível optar por substituir a correspondência e selecionar sua própria chave.

### Criação de políticas de criptografia (AWS CLI)
<a name="serverless-encryption-cli"></a>

Para criar uma política de criptografia usando as operações da API OpenSearch Serverless, você especifica padrões de recursos e uma chave de criptografia no formato JSON. A [CreateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateSecurityPolicy.html)solicitação aceita políticas embutidas e arquivos.json.

As políticas de criptografia têm o formato a seguir. Esse arquivo `my-policy.json` de exemplo corresponde a qualquer coleção futura denominada `autopartsinventory`, bem como a qualquer coleção com nomes iniciando por `sales`.

```
{
   "Rules":[
      {
         "ResourceType":"collection",
         "Resource":[
            "collection/autopartsinventory",
            "collection/sales*"
         ]
      }
   ],
   "AWSOwnedKey":false,
   "KmsARN":"arn:aws:kms:us-east-1:123456789012:key/93fd6da4-a317-4c17-bfe9-382b5d988b36"
}
```

Para usar uma chave de propriedade do serviço, defina `AWSOwnedKey` como `true`:

```
{
   "Rules":[
      {
         "ResourceType":"collection",
         "Resource":[
            "collection/autopartsinventory",
            "collection/sales*"
         ]
      }
   ],
   "AWSOwnedKey":true
}
```

A solicitação a seguir cria a política de criptografia:

```
aws opensearchserverless create-security-policy \
    --name sales-inventory \
    --type encryption \
    --policy file://my-policy.json
```

Em seguida, use a operação da [CreateCollection](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_CreateCollection.html)API para criar uma ou mais coleções que correspondam a um dos padrões de recursos.

### Exibição de políticas de criptografia
<a name="serverless-encryption-list"></a>

Antes de criar uma coleção, talvez você queira pré-visualizar as políticas de criptografia existentes em sua conta para ver qual delas tem um padrão de recurso que corresponda ao nome da sua coleção. A [ListSecurityPolicies](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_ListSecurityPolicies.html)solicitação a seguir lista todas as políticas de criptografia em sua conta:

```
aws opensearchserverless list-security-policies --type encryption
```

A solicitação retorna informações sobre todas as políticas de criptografia configuradas. Use o conteúdo do elemento `policy` para visualizar as regras de padrões definidas na política:

```
{
   "securityPolicyDetails": [ 
      { 
         "createdDate": 1663693217826,
         "description": "Sample encryption policy",
         "lastModifiedDate": 1663693217826,
         "name": "my-policy",
         "policy": "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection/autopartsinventory\",\"collection/sales*\"]}],\"AWSOwnedKey\":true}",
         "policyVersion": "MTY2MzY5MzIxNzgyNl8x",
         "type": "encryption"
      }
   ]
}
```

Para ver informações detalhadas sobre uma política específica, incluindo a chave KMS, use o [GetSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_GetSecurityPolicy.html)comando.

### Atualização de políticas de criptografia
<a name="serverless-encryption-update"></a>

Se você atualizar a chave do KMS em uma política de criptografia, a alteração só se aplicará às coleções recém-criadas que correspondam ao nome ou padrão configurado. Isso não afeta as coleções existentes que já tenham chaves do KMS atribuídas. 

O mesmo se aplica às regras de correspondência das políticas. Se você adicionar, modificar ou excluir uma regra, a alteração só se aplicará às coleções recém-criadas. As coleções existentes não perdem suas chaves do KMS atribuídas se você modificar as regras de uma política para que ela não corresponda mais ao nome de uma coleção.

**Para atualizar uma política de criptografia no console OpenSearch sem servidor, escolha **Políticas de criptografia**, selecione a política a ser modificada e escolha Editar.** Faça suas alterações e escolha **Salvar**.

Para atualizar uma política de criptografia usando a API OpenSearch Serverless, use a [UpdateSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateSecurityPolicy.html)operação. A solicitação a seguir atualiza uma política de criptografia com um novo documento JSON de política:

```
aws opensearchserverless update-security-policy \
    --name sales-inventory \
    --type encryption \
    --policy-version 2 \
    --policy file://my-new-policy.json
```

### Exclusão de políticas de criptografia
<a name="serverless-encryption-delete"></a>

Quando você exclui uma política de criptografia, todas as coleções que estiverem usando a chave do KMS definida na política não são afetadas. **Para excluir uma política no console OpenSearch sem servidor, selecione a política e escolha Excluir.**

Você também pode usar a [DeleteSecurityPolicy](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_DeleteSecurityPolicy.html)operação:

```
aws opensearchserverless delete-security-policy --name my-policy --type encryption
```

## Criptografia em trânsito
<a name="serverless-encryption-in-transit"></a>

No OpenSearch Serverless, todos os caminhos em uma coleção são criptografados em trânsito usando o Transport Layer Security 1.2 (TLS) com uma cifra AES-256 padrão do setor. O acesso a todos APIs os painéis do Opensearch também é feito por meio do TLS 1.2. O TLS é um conjunto de protocolos criptográficos padrão do setor usados para criptografar informações que são trocadas pela rede.