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

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 fino que você fornece somente para ajustar um modelo básico do Amazon Bedrock. O Amazon Bedrock não usa dados de ajuste fino para nenhuma outra finalidade. Seus dados de treinamento não são usados para treinar os Titan modelos básicos nem distribuídos para 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 validação que você fornece para o ajuste fino é armazenado pelo Amazon Bedrock após a conclusão do trabalho de ajuste fino.

Observe que modelos ajustados podem reproduzir alguns dos dados de ajuste fino enquanto geram conclusões. Se seu aplicativo não deve expor dados de ajuste fino de nenhuma forma, primeiro você deve filtrar os dados confidenciais dos seus dados de treinamento. Se você já criou um modelo personalizado usando dados confidenciais por engano, pode excluir esse modelo personalizado, filtrar as informações confidenciais dos dados de treinamento e criar um novo 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, você não precisa tomar nenhuma medida nem alterar nenhum 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 — Você pode 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 a definição de preço, 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 do 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 sua 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 sua chave gerenciada pelo cliente para as 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. Você pode revogar o acesso à concessão seguindo as etapas em Aposentadoria e revogação de concessões no Guia do AWS Key Management Service Desenvolvedor ou remover o acesso do serviço à sua chave gerenciada pelo cliente a qualquer momento modificando a política de chaves. Se você fizer isso, o Amazon Bedrock não poderá acessar o modelo personalizado criptografado pela sua chave.

Ciclo de vida de subsídios primários e secundários para modelos personalizados

  • Os subsídios primários têm uma vida útil longa e permanecem ativos enquanto os modelos personalizados associados ainda estiverem em uso. Quando um modelo personalizado é excluído, a concessão principal correspondente é automaticamente retirada.

  • Os subsídios secundários duram pouco. Eles são automaticamente retirados assim que a operação que o Amazon Bedrock executa em nome dos clientes é concluída. Por exemplo, quando um trabalho de cópia do modelo for concluído, a concessão secundária que permitiu ao Amazon Bedrock criptografar o modelo personalizado copiado será retirada imediatamente.

Entenda como criar uma chave gerenciada pelo cliente e como anexar uma política de chaves 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 você pode usar para operações que exigem o uso da chave (por exemplo, ao enviar um trabalho de personalização do modelo ou ao executar a inferência do modelo).

  4. Crie e anexe uma política de chaves à 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 principais para modelos personalizados e copiados

Depois de criar uma KMS chave, você anexa uma política de chaves a ela. Políticas-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 chaves, 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. Você pode modificar a política de chaves a qualquer momento, mas pode haver um breve atraso até que a alteração esteja disponível por toda parte AWS KMS. Para obter mais informações, consulte Managing access to customer managed keys (Administrando o acesso a 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 subsídios, consulte Subsídios AWS KMS no Guia do AWS Key Management Service desenvolvedor.

    nota

    O Amazon Bedrock também configura um diretor que se aposenta e retira automaticamente o subsídio depois que ele não for mais necessário.

  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 junto com 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 você só possa anexar uma política de chave a uma chave, você pode anexar várias declarações à política de chaves adicionando declarações à lista no Statement campo da política.

As declarações a seguir são relevantes para criptografar modelos personalizados e copiados:

Para usar sua chave gerenciada pelo cliente para criptografar um modelo personalizado ou copiado, inclua a seguinte declaração em uma política de chaves para permitir a criptografia de um modelo. No Principal campo, adicione contas que você deseja permitir que criptografem e descriptografem a chave na lista para a qual o subcampo mapeia. AWS 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}:user/${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 Principal campo, adicione contas que você deseja permitir para descriptografar a chave na lista para a qual o AWS subcampo mapeia. 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}:user/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } }

Para saber mais sobre as principais políticas que você precisa criar, expanda a seção que corresponde ao seu 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, você só precisará da declaração deCriptografar um modelo. No Principal campo do modelo de política a seguir, adicione contas que você deseja permitir que personalizem e invoque o modelo personalizado à lista para a qual o AWS subcampo mapeia.

{ "Version": "2012-10-17", "Id": "PermissionsCustomModelKey", "Statement": [ { "Sid": "PermissionsEncryptCustomModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${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, você precisará da declaração de Criptografar um modelo e. Permitir acesso a um modelo criptografado Modifique as declarações no seguinte modelo de política da seguinte forma:

  1. A primeira declaração permite a criptografia e a decodificação da chave. No Principal campo, adicione contas que você deseja permitir para personalizar o modelo personalizado à lista para a qual o AWS subcampo mapeia.

  2. A segunda declaração permite somente a decodificação da chave. No Principal campo, adicione contas que você deseja permitir que invocem somente o modelo personalizado à lista para a qual o AWS subcampo mapeia.

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

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

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 criarão a cópia do modelo, você só precisará da declaração de. Criptografar um modelo No Principal campo do modelo de política a seguir, adicione contas que você deseja permitir a cópia e invoque o modelo copiado na lista para a qual o AWS subcampo mapeia:

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${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 copiado forem diferentes da função que criará a cópia do modelo, você precisará da instrução de e. Criptografar um modelo Permitir acesso a um modelo criptografado Modifique as declarações no seguinte modelo de política da seguinte forma:

  1. A primeira declaração permite a criptografia e a decodificação da chave. No Principal campo, adicione contas que você deseja permitir para criar o modelo copiado à lista para a qual o AWS subcampo mapeia.

  2. A segunda declaração permite somente a decodificação da chave. No Principal campo, adicione contas que você deseja permitir que invocem somente o modelo copiado na lista para a qual o AWS subcampo mapeia.

{ "Version": "2012-10-17", "Id": "PermissionsCopiedModelKey", "Statement": [ { "Sid": "PermissionsEncryptCopiedModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${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}:user/${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 decifre a chave que criptografa o modelo de origem. No Principal campo do modelo de política a seguir, adicione as contas que você deseja permitir para copiar o modelo de origem na lista para a qual o AWS subcampo mapeia:

{ "Version": "2012-10-17", "Id": "PermissionsSourceModelKey", "Statement": [ { "Sid": "PermissionsDecryptModel", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::${account-id}:user/${role}" ] }, "Action": [ "kms:Decrypt" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "bedrock.${region}.amazonaws.com" ] } } } ] }

Monitore suas 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" }

Criptografia de dados de treinamento, validação e saída

Ao usar o Amazon Bedrock para executar um trabalho de personalização de modelo, você armazena os arquivos de entrada em seu 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 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.