Chiffrement des tâches et artefacts de personnalisation des modèles - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Chiffrement des tâches et artefacts de personnalisation des modèles

Amazon Bedrock utilise vos données d'entraînement avec l'CreateModelCustomizationJobaction, ou avec la console, pour créer un modèle personnalisé qui est une version affinée d'un modèle de base d'Amazon Bedrock. Vos modèles personnalisés sont gérés et stockés par AWS.

Amazon Bedrock utilise les données de réglage que vous fournissez uniquement pour peaufiner un modèle de fondation Amazon Bedrock. Amazon Bedrock n'utilise pas les données de réglage fin à d'autres fins. Vos données d'entraînement ne sont pas utilisées pour entraîner les Titan modèles de base ni distribuées à des tiers. Les autres données d'utilisation, telles que les horodatages d'utilisation, le compte IDs enregistré et les autres informations enregistrées par le service, ne sont pas non plus utilisées pour entraîner les modèles.

Aucune des données de formation ou de validation que vous fournissez pour le réglage précis n'est stockée par Amazon Bedrock, une fois le travail de réglage terminé.

Notez que les modèles affinés peuvent reproduire certaines données de réglage fin lors de la génération de complétions. Si votre application ne doit pas exposer de données de réglage précis sous quelque forme que ce soit, vous devez d'abord filtrer les données confidentielles de vos données d'entraînement. Si vous avez déjà créé un modèle personnalisé à l'aide de données confidentielles par erreur, vous pouvez supprimer ce modèle personnalisé, filtrer les informations confidentielles des données d'entraînement, puis créer un nouveau modèle.

Pour chiffrer les modèles personnalisés (y compris les modèles copiés), Amazon Bedrock vous propose deux options :

  1. Clés détenues par AWS— Par défaut, Amazon Bedrock chiffre les modèles personnalisés avec. Clés détenues par AWS Vous ne pouvez ni afficher, ni gérer, ni utiliser Clés détenues par AWS, ni auditer leur utilisation. Toutefois, vous n'avez pas besoin de prendre de mesure ou de modifier les programmes pour protéger les clés qui chiffrent vos données. Pour plus d’informations, consultez Clés détenues par AWS dans le Guide du développeur AWS Key Management Service .

  2. Clés gérées par le client — Vous pouvez choisir de chiffrer des modèles personnalisés avec des clés gérées par le client que vous gérez vous-même. Pour plus d'informations AWS KMS keys, consultez la section Clés gérées par le client dans le Guide du AWS Key Management Service développeur.

Note

Amazon Bedrock active automatiquement le chiffrement au repos sans frais. Clés détenues par AWS Si vous utilisez une clé gérée par le client, AWS KMS des frais s'appliquent. Pour de plus amples informations sur la tarification, veuillez consulter AWS Key Management Service Tarification.

Pour plus d'informations à ce sujet AWS KMS, consultez le guide du AWS Key Management Service développeur.

Comment Amazon Bedrock utilise les subventions dans AWS KMS

Si vous spécifiez une clé gérée par le client pour chiffrer un modèle personnalisé pour une tâche de personnalisation ou de copie de modèle, Amazon Bedrock crée une KMS subvention principale associée au modèle personnalisé en votre nom en envoyant une CreateGrantdemande à. AWS KMS Cette subvention permet à Amazon Bedrock d'accéder à votre clé gérée par le client et de l'utiliser. Les subventions AWS KMS sont utilisées pour donner à Amazon Bedrock l'accès à une KMS clé du compte d'un client.

Amazon Bedrock a besoin de la subvention principale pour utiliser votre clé gérée par le client pour les opérations internes suivantes :

  • Envoyez DescribeKeydes demandes AWS KMS à pour vérifier que l'ID de KMS clé symétrique géré par le client que vous avez saisi lors de la création de la tâche est valide.

  • Envoyez GenerateDataKeyet déchiffrez des demandes visant AWS KMS à générer des clés de données chiffrées par la clé gérée par votre client et à déchiffrer les clés de données chiffrées afin qu'elles puissent être utilisées pour chiffrer les artefacts du modèle.

  • Envoyez des CreateGrantdemandes AWS KMS à pour créer des autorisations secondaires limitées avec un sous-ensemble des opérations ci-dessus (DescribeKey,,Decrypt)GenerateDataKey, pour l'exécution asynchrone de la personnalisation du modèle, de la copie du modèle ou de la création de débit provisionné.

  • Amazon Bedrock indique un capital partant à la retraite lors de la création des subventions, afin que le service puisse envoyer une RetireGrantdemande.

Vous avez un accès complet à votre AWS KMS clé gérée par le client. Vous pouvez révoquer l'accès à la subvention en suivant les étapes décrites dans les sections Retrait et révocation des subventions du guide du AWS Key Management Service développeur ou supprimer l'accès du service à votre clé gérée par le client à tout moment en modifiant la politique relative aux clés. Dans ce cas, Amazon Bedrock ne pourra pas accéder au modèle personnalisé chiffré par votre clé.

Cycle de vie des subventions primaires et secondaires pour les modèles personnalisés

  • Les subventions principales ont une longue durée de vie et restent actives tant que les modèles personnalisés associés sont toujours utilisés. Lorsqu'un modèle personnalisé est supprimé, la subvention principale correspondante est automatiquement retirée.

  • Les subventions secondaires sont de courte durée. Ils sont automatiquement retirés dès que l'opération effectuée par Amazon Bedrock pour le compte des clients est terminée. Par exemple, une fois qu'une tâche de copie de modèle est terminée, la subvention secondaire qui autorisait Amazon Bedrock à chiffrer le modèle personnalisé copié sera immédiatement retirée.

Découvrez comment créer une clé gérée par le client et comment y associer une politique clé

Pour chiffrer une AWS ressource à l'aide d'une clé que vous créez et gérez, vous devez suivre les étapes générales suivantes :

  1. (Prérequis) Assurez-vous que votre IAM rôle dispose des autorisations nécessaires pour effectuer l'CreateKeyaction.

  2. Suivez les étapes de la section Création de clés pour créer une clé gérée par le client à l'aide de la AWS KMS console ou de l'CreateKeyopération.

  3. La création de la clé renvoie un Arn pour la clé que vous pouvez utiliser pour les opérations nécessitant l'utilisation de la clé (par exemple, lors de la soumission d'une tâche de personnalisation de modèle ou lors de l'exécution d'une inférence de modèle).

  4. Créez et associez une politique clé à la clé avec les autorisations requises. Pour créer une politique clé, suivez les étapes décrites dans la section Création d'une politique clé dans le guide du AWS Key Management Service développeur.

Autorisations et politiques clés pour les modèles personnalisés et copiés

Après avoir créé une KMS clé, vous devez y associer une politique clé. Les politiques clés sont des politiques basées sur les ressources que vous associez à votre clé gérée par le client pour contrôler l'accès à celle-ci. Chaque clé gérée par le client doit avoir exactement une stratégie de clé, qui contient des instructions qui déterminent les personnes pouvant utiliser la clé et comment elles peuvent l’utiliser. Vous pouvez définir une politique clé lorsque vous créez votre clé gérée par le client. Vous pouvez modifier la politique clé à tout moment, mais il se peut qu'il y ait un bref délai avant que la modification ne soit complètement disponible AWS KMS. Pour plus d'informations, consultez Gestion de l'accès aux clés gérées par le client dans le Guide du développeur AWS Key Management Service.

Les KMS actions suivantes sont utilisées pour les clés qui chiffrent les modèles personnalisés et copiés :

  1. kms : CreateGrant — Crée une subvention pour une clé gérée par le client en autorisant le principal du service Amazon Bedrock à accéder à la KMS clé spécifiée par le biais d'opérations de subvention. Pour plus d'informations sur les subventions, consultez la section Subventions AWS KMS dans le guide du AWS Key Management Service développeur.

    Note

    Amazon Bedrock met également en place un capital de retraite et retire automatiquement la subvention lorsqu'elle n'est plus requise.

  2. kms : DescribeKey — Fournit les informations clés gérées par le client pour permettre à Amazon Bedrock de valider la clé.

  3. kms : GenerateDataKey — Fournit les informations clés gérées par le client pour permettre à Amazon Bedrock de valider l'accès des utilisateurs. Amazon Bedrock Stores a généré du texte chiffré à côté du modèle personnalisé à utiliser comme contrôle de validation supplémentaire auprès des utilisateurs du modèle personnalisé.

  4. KMS:Decrypt — Déchiffre le texte chiffré stocké pour vérifier que le rôle dispose d'un accès approprié à la clé qui chiffre le modèle personnalisé. KMS

Pour des raisons de sécurité optimales, nous vous recommandons d'inclure la clé de ViaService condition kms : afin de limiter l'accès à la clé du service Amazon Bedrock.

Bien que vous ne puissiez associer qu'une seule politique clé à une clé, vous pouvez associer plusieurs instructions à la politique clé en ajoutant des instructions à la liste dans le Statement champ de la politique.

Les instructions suivantes concernent le chiffrement des modèles personnalisés et copiés :

Pour utiliser votre clé gérée par le client pour chiffrer un modèle personnalisé ou copié, incluez la déclaration suivante dans une politique de clé afin d'autoriser le chiffrement d'un modèle. Dans le Principal champ, ajoutez les comptes que vous souhaitez autoriser à chiffrer et à déchiffrer la clé de la liste à laquelle le AWS sous-champ correspond. Si vous utilisez la clé de kms:ViaService condition, vous pouvez ajouter une ligne pour chaque région ou utiliser * à la place de ${region} pour autoriser toutes les régions qui prennent en charge 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" ] } } }

Pour autoriser l'accès à un modèle chiffré avec une KMS clé, incluez l'instruction suivante dans une politique de clé afin d'autoriser le déchiffrement de la clé. Dans le Principal champ, ajoutez les comptes que vous souhaitez autoriser à déchiffrer la clé de la liste à laquelle le AWS sous-champ correspond. Si vous utilisez la clé de kms:ViaService condition, vous pouvez ajouter une ligne pour chaque région ou utiliser * à la place de ${region} pour autoriser toutes les régions qui prennent en charge 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" ] } } }

Pour en savoir plus sur les politiques clés que vous devez créer, développez la section correspondant à votre cas d'utilisation :

Si vous envisagez de chiffrer un modèle que vous personnalisez à l'aide d'une KMS clé, la politique en matière de clé dépendra de votre cas d'utilisation. Développez la section correspondant à votre cas d'utilisation :

Si les rôles qui invoqueront le modèle personnalisé sont les mêmes que ceux qui personnaliseront le modèle, vous n'avez besoin que de l'instruction deChiffrer un modèle. Dans le Principal champ du modèle de politique suivant, ajoutez les comptes que vous souhaitez autoriser à personnaliser et invoquez le modèle personnalisé dans la liste à laquelle le AWS sous-champ correspond.

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

Si les rôles qui invoqueront le modèle personnalisé sont différents du rôle qui personnalisera le modèle, vous avez besoin à la fois de l'instruction de Chiffrer un modèle etAutoriser l'accès à un modèle crypté. Modifiez les instructions dans le modèle de politique suivant comme suit :

  1. La première instruction permet le chiffrement et le déchiffrement de la clé. Dans le Principal champ, ajoutez les comptes que vous souhaitez autoriser pour personnaliser le modèle personnalisé à la liste à laquelle le AWS sous-champ correspond.

  2. La deuxième instruction permet uniquement le déchiffrement de la clé. Dans le Principal champ, ajoutez les comptes que vous souhaitez autoriser uniquement à invoquer le modèle personnalisé à la liste à laquelle le AWS sous-champ correspond.

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

Lorsque vous copiez un modèle que vous possédez ou qui a été partagé avec vous, vous devrez peut-être gérer jusqu'à deux politiques clés :

Si vous prévoyez d'utiliser une KMS clé pour chiffrer un modèle copié, la politique en matière de clé dépendra de votre cas d'utilisation. Développez la section correspondant à votre cas d'utilisation :

Si les rôles qui invoqueront le modèle copié sont les mêmes que ceux qui créeront la copie du modèle, vous n'avez besoin que de l'instruction fromChiffrer un modèle. Dans le Principal champ du modèle de politique suivant, ajoutez les comptes que vous souhaitez autoriser à copier et invoquez le modèle copié dans la liste à laquelle le AWS sous-champ correspond :

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

Si les rôles qui invoqueront le modèle copié sont différents du rôle qui créera la copie du modèle, vous avez besoin à la fois de l'instruction from Chiffrer un modèle etAutoriser l'accès à un modèle crypté. Modifiez les instructions dans le modèle de politique suivant comme suit :

  1. La première instruction permet le chiffrement et le déchiffrement de la clé. Dans le Principal champ, ajoutez les comptes que vous souhaitez autoriser à créer le modèle copié à la liste à laquelle le AWS sous-champ correspond.

  2. La deuxième instruction permet uniquement le déchiffrement de la clé. Dans le Principal champ, ajoutez les comptes que vous souhaitez autoriser uniquement à invoquer le modèle copié dans la liste à laquelle le AWS sous-champ correspond.

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

Si le modèle source que vous allez copier est chiffré à l'aide d'une KMS clé, joignez l'instruction from Autoriser l'accès à un modèle crypté à la politique de clé pour la clé qui chiffre le modèle source. Cette instruction permet au rôle de copie du modèle de déchiffrer la clé qui chiffre le modèle source. Dans le Principal champ du modèle de politique suivant, ajoutez les comptes que vous souhaitez autoriser à copier le modèle source dans la liste à laquelle le AWS sous-champ correspond :

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

Surveillez vos clés de chiffrement pour le service Amazon Bedrock

Lorsque vous utilisez une clé gérée par le AWS KMS client avec vos ressources Amazon Bedrock, vous pouvez utiliser AWS CloudTrailAmazon CloudWatch Logs pour suivre les demandes auxquelles Amazon Bedrock envoie. AWS KMS

Voici un exemple d' AWS CloudTrail événement permettant de CreateGrantsurveiller les KMS opérations appelées par Amazon Bedrock pour créer une subvention principale :

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

Chiffrement des données de formation, de validation et de sortie

Lorsque vous utilisez Amazon Bedrock pour exécuter une tâche de personnalisation de modèle, vous stockez les fichiers d'entrée dans votre compartiment Amazon S3. Une fois la tâche terminée, Amazon Bedrock stocke les fichiers de mesures de sortie dans le compartiment S3 que vous avez spécifié lors de la création de la tâche, ainsi que les artefacts du modèle personnalisé qui en résultent dans un compartiment S3 contrôlé par. AWS

Les fichiers de sortie sont chiffrés avec les configurations de chiffrement du compartiment S3. Ils sont chiffrés soit avec le chiffrement côté serveur -S3, soit avec le KMSchiffrement AWS KMS SSE -, selon la façon dont vous avez configuré le SSE compartiment S3.