Criptografia no Amazon OpenSearch de tecnologia sem servidor - OpenSearch Serviço Amazon

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 de tecnologia sem servidor

Criptografia em repouso

Cada coleção do Amazon OpenSearch Sem Servidor 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.

Políticas de criptografia

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.

Encryption policy creation process with rules and collection matching to KMS key.

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 Sem Servidor 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:encryption: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 (*). Se você optar por substituir a atribuição automática de chaves, o OpenSearch Sem Servidor criará uma política de criptografia para você chamada auto-<nome-da-coleção> e a anexará à 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 um prefixo em uma política se ele já existir em outra política. O OpenSearch Sem Servidor exibirá um erro se você tentar configurar padrões de recursos idênticos em políticas de criptografia diferentes.

Considerações

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.

  • Não é possível alterar a chave de criptografia de uma coleção depois que a coleção é criada. Escolha com cuidado qual AWS KMS usar na primeira vez que configurar uma coleção.

  • Uma coleção só pode corresponder a uma única política de criptografia.

  • Coleções com chaves do KMS exclusivas não podem compartilhar unidades de computação (OCUs) do OpenSearch 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.

  • O OpenSearch Sem Servidor 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 criptografia em repouso do OpenSearch Sem Servidor usa as seguintes permissões do 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.

{ "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

Se você selecionar uma chave gerenciada pelo cliente para proteger uma coleção, o OpenSearch Sem Servidor obterá permissão para usar a chave do KMS em nome da entidade principal que fizer a seleção. Essa entidade principal, um usuário ou um perfil, deve ter as permissões em uma chave do KMS solicitada pelo OpenSearch Sem Servidor. É possível fornecer essas permissões em uma política de chaves ou em uma política do IAM.

No mínimo, oOpenSearch Sem Servidor exige as seguintes permissões em uma chave gerenciada pelo cliente:

Por exemplo:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "aoss.us-east-1.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }

O OpenSearch Sem Servidor cria uma concessão com as permissões kms:GenerateDataKey e kms:Decrypt.

Para obter mais informações, consulte Uso de políticas de chaves no AWS KMS no Guia do desenvolvedor do AWS Key Management Service.

Como o OpenSearch Sem Servidor usa concessões no AWS KMS

O OpenSearch Sem Servidor exige uma concessão para usar uma chave gerenciada pelo cliente.

Quando você cria uma política de criptografia em sua conta com uma nova chave, o OpenSearch Sem Servidor cria uma concessão em seu nome enviando uma solicitação CreateGrant para AWS KMS. As concessões no AWS KMS são usadas para dar ao OpenSearch Sem Servidor acesso a uma chave do KMS em uma conta de cliente.

O OpenSearch Sem Servidor exige a concessão para usar sua chave gerenciada pelo cliente para as seguintes operações internas:

  • Enviar solicitações DescribeKey para AWS KMS para verificar se o ID de chave simétrico gerenciado pelo cliente fornecido é válido.

  • Enviar solicitações GenerateDataKey para a chave do KMS para criar chaves de dados com as quais criptografar objetos.

  • Enviar solicitações Decrypt para AWS KMS para descriptografar 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 Sem Servidor não poderá acessar nenhum dos dados criptografados pela chave gerenciada pelo cliente, o que afetará todas as operações que dependam desses dados, causando erros AccessDeniedException e falhas nos fluxos de trabalho assíncronos.

O OpenSearch Sem Servidor retira 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)

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 do OpenSearch Sem Servidor
  1. Abra o console do Amazon OpenSearch Service em https://console.aws.amazon.com/aos/home.

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

  3. Escolha Criar política de criptografia.

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

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

  6. Em Criptografia, escolha uma chave do KMS para usar.

  7. Escolha Criar.

Próxima etapa: criar coleções

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 obter instruções, consulte Criação de coleções.

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

Criação de políticas de criptografia (AWS CLI)

Para criar uma política de criptografia usando as operações da API do OpenSearch Sem Servidor, você especifica padrões de recursos e uma chave de criptografia no formato JSON. A solicitação CreateSecurityPolicy aceita tanto políticas em linha quanto 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:encryption: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 API CreateCollection para criar uma ou mais coleções que correspondam a um dos padrões de recursos.

Exibição de políticas de criptografia

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 solicitação ListSecurityPolicies 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 exibir informações detalhadas sobre uma política específica, incluindo a chave do KMS, use o comando GetSecurityPolicy.

Atualização de políticas de criptografia

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 do OpenSearch de tecnologia 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 do OpenSearch Sem Servidor, use a operação UpdateSecurityPolicy. 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

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 do OpenSearch de tecnologia sem servidor, selecione a política e escolha Excluir.

Você também pode usar a operação DeleteSecurityPolicy:

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

Criptografia em trânsito

Na tecnologia sem servidor do OpenSearch, 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 todas as APIs e OpenSearch Dashboards 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.