Criptografia de trabalhos de personalização de modelos e artefatos - 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 trabalhos de personalização de modelos e artefatos

O Amazon Bedrock usa seus dados de treinamento com a CreateModelCustomizationJobação ou com o console 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 por AWS.

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. Seus dados de treinamento não são usados para treinar a base Titan modelos ou distribuídos a terceiros. Outros dados de uso, como registros de data e hora de usoIDs, 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, gerenciar Chaves 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 obter mais informações, consulte Chaves pertencentes à AWS no Guia do desenvolvedor do AWS Key Management Service .

  2. 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 sobre AWS KMS keys, consulte Chaves gerenciadas pelo cliente no Guia do AWS Key Management Service desenvolvedor.

nota

O Amazon Bedrock habilita automaticamente a criptografia em repouso Chaves pertencentes à AWS , usando gratuitamente. 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.

Para obter mais informações sobre AWS KMS, consulte o Guia do AWS Key Management Service desenvolvedor.

Como o Amazon Bedrock usa subsídios em AWS KMS

Se você especificar uma chave gerenciada pelo cliente para criptografar um modelo personalizado para um trabalho de personalização ou cópia de modelo, o Amazon Bedrock cria uma KMS concessão primária associada ao modelo personalizado em seu nome enviando uma CreateGrantsolicitação para. 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 KMS chave 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 DescribeKeysolicitações AWS KMS para verificar se o ID simétrico da KMS chave gerenciada pelo cliente que você inseriu ao criar o trabalho é válido.

  • Envie GenerateDataKeye descriptografe 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 CreateGrantsolicitaçõ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

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 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 personalizado criptografado pela chave.

Ciclo de vida de concessões primárias e secundárias para modelos personalizados

  • 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

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 IAM função tenha permissões para a ação CreateKey.

  2. Siga as etapas em Criação de chaves para criar uma chave gerenciada pelo cliente usando o AWS KMS console ou a CreateKeyoperação.

  3. 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 ou ao executar uma inferência de modelo).

  4. 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 no Guia do AWS Key Management Service desenvolvedor.

Permissões e políticas de chave para modelos personalizados e copiados

Depois de criar uma KMS chave, você anexa uma política de chaves a ela. As políticas de chave são políticas baseadas em recursos 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 o AWS KMS. Para obter mais informações, consulte Gerenciar o acesso às chaves gerenciadas pelo cliente no Guia do desenvolvedor do AWS Key Management Service.

As KMS ações a seguir são usadas para chaves que criptografam modelos personalizados e copiados:

  1. kms: CreateGrant — Cria uma concessão para uma chave gerenciada pelo cliente, permitindo que o principal serviço Amazon Bedrock acesse a KMS chave especificada por meio de operações de concessão. Para obter mais informações sobre concessões, consulte Concessões no AWS KMS 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.

  2. kms: DescribeKey — Fornece os detalhes da chave gerenciada pelo cliente para permitir que o Amazon Bedrock valide a chave.

  3. kms: GenerateDataKey — 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.

  4. kms:Decrypt — Descriptografa o texto cifrado armazenado para validar se a função tem acesso adequado à chave que criptografa o modelo personalizado. KMS

Como melhor prática de segurança, recomendamos que você inclua a chave de ViaService condição kms: 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:

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 * no lugar de ${region} 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" ] } } }

Para permitir o acesso a um modelo que foi criptografado com uma KMS chave, inclua a seguinte declaração em uma política de chaves 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 * no lugar de ${region} 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:

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

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

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "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" ] } } } ] }

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 e Permitir acesso a um modelo criptografado 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.

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

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "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" ] } } }, { "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" ] } } } ] }

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

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

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

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "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" ] } } } ] }

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 e Permitir acesso a um modelo criptografado 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.

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

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "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" ] } } }, { "Sid": "PermissionsDecryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:role/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

Se o modelo de origem que você copiará estiver criptografado com uma KMS chave, anexe a declaração de Permitir acesso a um modelo criptografado à política de chaves 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:

{ "Version": "2012-10-17", "Id": "PermissionsSourceModelKey", "Statement": [ { "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" ] } } } ] }

Monitorar as chaves de criptografia para o serviço Amazon Bedrock

Ao usar uma chave gerenciada pelo AWS KMS cliente com seus recursos do Amazon Bedrock, você pode usar AWS CloudTrailo Amazon CloudWatch Logs para rastrear solicitações para as quais o Amazon Bedrock envia. AWS KMS

A seguir está um exemplo de AWS CloudTrail evento CreateGrantpara monitorar 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/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

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 ou com KMS criptografia AWS KMS SSE-, dependendo de como você configura o bucket S3.