Criptografia de dados para trabalhos de avaliação de base de conhecimento - Amazon Bedrock

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 para trabalhos de avaliação de base de conhecimento

Durante um trabalho de avaliação de base de conhecimento, o Amazon Bedrock faz uma cópia temporária dos dados. O Amazon Bedrock exclui os dados após a conclusão do trabalho. Para criptografar os dados, o Amazon Bedrock usa uma chave do KMS. Ele usa uma chave do KMS que você especifica ou uma chave de propriedade do Amazon Bedrock.

O Amazon Bedrock exige o IAM e AWS KMS as permissões nas seções a seguir para que possa usar sua chave KMS para fazer o seguinte:

  • Descriptografar seus dados.

  • Criptografar a cópia temporária que o Amazon Bedrock faz.

Ao criar um trabalho de avaliação de base de conhecimento, você pode optar por usar uma chave do KMS de propriedade do Amazon Bedrock ou escolher sua própria chave gerenciada pelo cliente. Se você não especificar uma chave gerenciada pelo cliente, o Amazon Bedrock usará a chave dele por padrão.

Para poder usar uma chave gerenciada pelo cliente, você deve fazer o seguinte:

  • Adicione as ações e os recursos necessários à política do perfil de serviço do IAM.

  • Adicione os elementos necessários da política de chave do KMS.

  • Crie uma política que possa interagir com sua chave gerenciada pelo cliente. Isso é especificado em uma política de chave do KMS separada.

Elementos de política necessários

As políticas de chave do IAM e do KMS nas seções abaixo incluem os seguintes elementos obrigatórios:

  • kms:Decrypt: para arquivos que você criptografou com a sua chave do KMS, fornece ao Amazon Bedrock permissões para acessar e descriptografar esses arquivos.

  • kms:GenerateDataKey: controla a permissão para usar a chave do KMS para gerar chaves de dados. O Amazon Bedrock usa GenerateDataKey para criptografar os dados temporários que armazena para o trabalho de avaliação.

  • kms:DescribeKey: fornece informações detalhadas sobre uma chave do KMS.

  • kms:ViaService— A chave de condição limita o uso de uma chave KMS para solicitar AWS serviços específicos. É necessário especificar os seguintes serviços:

    • Amazon S3, porque o Amazon Bedrock armazena uma cópia temporária dos seus dados em um local do Amazon S3 pertencente ao Amazon Bedrock.

    • Amazon Bedrock, porque o serviço de avaliação chama a API das Bases de Conhecimento do Amazon Bedrock para executar o fluxo de trabalho da base de conhecimento.

  • kms:EncryptionContext:context-key— Essa chave de condição limita o acesso às AWS KMS operações para que elas sejam específicas somente ao contexto de criptografia fornecido.

Requisitos de política do IAM

No perfil do IAM que você usa com o Amazon Bedrock, a política do IAM correspondente deve ter os elementos a seguir. Para saber mais sobre como gerenciar suas AWS KMS chaves, consulte Como usar políticas do IAM com AWS KMS.

Os trabalhos de avaliação da base de conhecimento no Amazon Bedrock usam chaves AWS próprias. Para obter mais informações sobre chaves AWS próprias, consulte chaves AWS próprias no Guia do AWS Key Management Service desenvolvedor.

Veja a seguir um exemplo de política do IAM que contém somente as ações e os recursos necessários do AWS KMS.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "CustomKMSKeyProvidedToBedrockEncryption", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-east-1:123456789012:key/*" ], "Condition": { "StringEquals": { "kms:ViaService": [ "s3.us-east-1.amazonaws.com" ] } } }, { "Sid": "CustomKMSKeyProvidedToBedrockEvalKMS", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-1:123456789012:key/*" ], "Condition": { "StringLike": { "kms:EncryptionContext:evaluationJobArn": "arn:aws:bedrock:us-east-1:123456789012:evaluation-job/*" } } }, { "Sid": "CustomKMSKeyProvidedToBedrockKBDecryption", "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-east-1:123456789012:key/*" ], "Condition": { "StringLike": { "kms:EncryptionContext:knowledgeBaseArn": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*" } } }, { "Sid": "CustomKMSKeyProvidedToBedrockKBEncryption", "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-1:123456789012:key/*" ], "Condition": { "StringLike": { "kms:EncryptionContext:knowledgeBaseArn": "arn:aws:bedrock:us-east-1:123456789012:knowledge-base/*" }, "StringEquals": { "kms:ViaService": [ "bedrock.us-east-1.amazonaws.com" ] } } }, { "Sid": "CustomKMSKeyProvidedToBedrockKBGenerateDataKey", "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": [ "arn:aws:kms:us-east-1:123456789012:key/*" ], "Condition": { "StringLike": { "kms:EncryptionContext:CustomerAwsAccountId": "123456789012", "kms:EncryptionContext:SessionId": "*" }, "StringEquals": { "kms:ViaService": [ "bedrock.us-east-1.amazonaws.com" ] } } }, { "Sid": "CustomKMSDescribeKeyProvidedToBedrock", "Effect": "Allow", "Action": [ "kms:DescribeKey" ], "Resource": [ "arn:aws:kms:us-east-1:123456789012:key/*" ] } ] }

AWS KMSprincipais requisitos de política

Cada chave do KMS deve ter uma única política de chaves. As instruções na política de chaves determinam quem tem permissão para usar a chave do KMS e como eles podem usá-la. Você também pode usar políticas do IAM e concessões para controlar o acesso às chaves do KMS, mas cada chave do KMS deve ter uma política de chave.

Adicione a declaração a seguir à sua política de chave existente do KMS. Ele fornece ao Amazon Bedrock permissões para armazenar temporariamente seus dados em um bucket do S3 usando a chave do KMS que você especificou.

Configurando permissões do KMS para funções de chamada CreateEvaluationJob de API

Verifique se você tem DescribeKey GenerateDataKey, e as permissões Decrypt para sua função usada para criar o trabalho de avaliação na chave KMS que você usa em seu trabalho de avaliação.

Exemplo de política de chave do KMS

{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/APICallingRole" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey", "kmsDescribeKey" ], "Resource": "*" } ] }

Exemplo de política do IAM para CreateEvaluationJob API de Role Calling

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