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 au repos pour un apprentissage par renforcement multi-tours
Options de chiffrement au repos
Multi-turn les tâches d'apprentissage par renforcement dans Amazon SageMaker AI chiffrent toutes les données au repos. Vos données d'entrée d'entraînement, vos données de sortie (y compris les points de contrôle du modèle et les artefacts du modèle entraîné) et les données intermédiaires stockées dans Amazon S3 sont chiffrées à l'aide d'un chiffrement côté serveur. Vous n'avez pas besoin d'effectuer de configuration supplémentaire pour vous assurer que vos données sont cryptées au repos.
Amazon SageMaker AI prend en charge les options de chiffrement suivantes pour les tâches RL multitours :
-
Server-side chiffrement avec une clé KMS AWS propriétaire : par défaut, Amazon SageMaker AI chiffre tous les résultats d'entraînement et les données intermédiaires à l'aide d'une clé KMS AWS propriétaire. Aucune configuration supplémentaire n’est requise.
-
Server-side chiffrement avec AWS KMS clés (SSE-KMS) : vous pouvez éventuellement spécifier une clé KMS gérée par le client pour chiffrer vos données de sortie d'entraînement dans Amazon S3. Si vos données d'entrée dans Amazon S3 sont déjà chiffrées à l'aide d'une clé gérée par le client, le rôle d'exécution doit être autorisé à déchiffrer ces données.
Chiffrement des données au repos à l'aide de la solution gérée par le client AWS KMS clés
Comment RL multitour utilise une clé KMS gérée par le client
Lorsque vous spécifiez une clé KMS gérée par le client dans la configuration de sortie de votre tâche RL multitour, Amazon SageMaker AI utilise cette clé pour chiffrer les ressources suivantes dans Amazon S3 :
-
Données de sortie d'entraînement, y compris les artefacts du modèle entraîné (poids de l'adaptateur LoRa)
-
Modèle intermédiaire input/output (points de contrôle du modèle réutilisables et données de trajectoire)
-
Données et traces de l'expérience MLflow
Lorsque vous spécifiez une clé KMS gérée par le client, Amazon SageMaker AI utilise deux mécanismes pour chiffrer vos données :
-
Subventions : au moment de la création d'un emploi, Amazon SageMaker AI utilise les informations d'identification de l'appelant pour créer une ou deux autorisations sur la clé KMS :
-
Subvention d'écriture : créée pour chaque tâche qui spécifie une clé gérée par le client. Permet au service de crypter et de déchiffrer le point de contrôle de la tâche en cours et les données temporaires stockées sur la plateforme pendant la formation.
-
Autorisation de lecture : créée uniquement pour les tâches itératives qui reprennent le point de contrôle d'une tâche précédente lorsque celle-ci utilisait également une clé gérée par le client. Permet au service de déchiffrer les données du point de contrôle de la tâche précédente. Cette autorisation n'autorise que le déchiffrement et n'autorise pas l'écriture de nouvelles données.
Toutes les subventions sont automatiquement retirées lorsque la tâche est terminée, ce qui garantit que le service n'a plus accès à la clé une fois le cycle de vie de la tâche terminé.
-
-
Rôle d'exécution : lorsque vous enregistrez des données de sortie (artefacts de modèle, points de contrôle) dans votre compartiment Amazon S3, Amazon SageMaker AI utilise le rôle d'exécution que vous fournissez. Le rôle d'exécution doit être autorisé à utiliser la clé KMS pour le chiffrement et le déchiffrement via Amazon S3.
Au cours d'un travail de formation, les AWS KMS opérations suivantes ont lieu :
-
kms:GenerateDataKey— Appelé via Amazon S3 lors de l'écriture de données de sortie chiffrées (artefacts de modèle, points de contrôle et journaux). -
kms:Decrypt— Appelé via Amazon S3 lors de la lecture de données d'entrée cryptées ou de données de sortie précédemment écrites. -
kms:DescribeKey— Appelé par l'identité de l'appelant au moment de la création de la tâche pour vérifier la configuration et l'état de la clé KMS. -
kms:CreateGrant— Appelé par l'identité de l'appelant au moment de la création de la tâche pour autoriser le service à stocker des données temporaires sur la plateforme pendant le cycle de vie de la tâche.
Le service ne met pas en cache les clés de données. Chaque opération de lecture ou d'écriture Amazon S3 appelle AWS KMS indépendamment via l'intégration du service Amazon S3.
Configuration d'une clé KMS gérée par le client
Multi-turn Les tâches RL ne prennent en charge que AWS KMS les clés symétriques. Multi-region les clés ne sont pas prises en charge.
Configuration des autorisations pour utiliser une clé KMS gérée par le client
Pour utiliser une clé KMS gérée par le client avec des tâches RL multitours, vous devez configurer des autorisations à la fois sur le rôle d'exécution IAM et sur la politique de clé KMS.
Autorisations du rôle d’exécution
Le rôle d'exécution IAM que vous transmettez à l'CreateJobAPI doit disposer des AWS KMS autorisations suivantes. Ces autorisations permettent à la tâche de formation de chiffrer les données de sortie et de déchiffrer les données d'entrée via Amazon S3.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "KMSPermissionsForS3Encryption", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "StringLike": { "kms:ViaService": "s3.*.amazonaws.com" } } } ] }
-
kms:Decrypt— Nécessaire pour lire les données d'entrée cryptées et les données de sortie précédemment écrites depuis Amazon S3. -
kms:GenerateDataKey— Nécessaire pour chiffrer les données de sortie (artefacts du modèle, points de contrôle) écrites sur Amazon S3.
La kms:ViaService condition limite l'utilisation de la clé aux demandes provenant d'Amazon S3, empêchant ainsi toute utilisation de la clé à d'autres fins.
Autorisations relatives au rôle d'exécution des agents
Le rôle d'exécution de l'agent assumé par votre AgentCore agent ou AWS Lambda redirecteur Amazon Bedrock doit disposer des autorisations suivantes AWS KMS . SageMaker L'IA vérifie que l'appelant dispose de ces autorisations avant d'utiliser la touche KMS lors d'une tâche d'apprentissage par renforcement (RL) en plusieurs tours.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "KMSPermissionsForMTRLRuntime", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:region:account-id:key/key-id", "Condition": { "StringLike": { "kms:ViaService": "sagemaker.*.amazonaws.com" } } } ] }
La kms:ViaService condition pour le rôle d'exécution de l'agent est sagemaker.*.amazonaws.com spécifiée parce que le service d'exécution SageMaker AI effectue les AWS KMS opérations pour le compte de l'appelant. En revanche, le rôle d'exécution est utilisé s3.*.amazonaws.com car il accède à la clé via Amazon S3.
Politique de clé KMS
La politique de clé KMS par défaut autorise déjà les rôles IAM du même compte à utiliser la clé. Vous pouvez éventuellement ajouter l'instruction suivante pour restreindre davantage l'accès uniquement au rôle d'exécution et au rôle d'exécution de l'agent :
{ "Sid": "AllowMTRLJobEncryption", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::account-id:role/SageMakerExecutionRole", "arn:aws:iam::account-id:role/AgentRuntimeRole" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": [ "s3.*.amazonaws.com", "sagemaker.*.amazonaws.com" ] } } }
Pour permettre à l'appelant de créer des autorisations et de décrire la clé, ajoutez l'instruction suivante à la politique de clé :
{ "Sid": "AllowCreateGrantForCaller", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/CallerRole" }, "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:CallerAccount": "account-id" }, "StringLike": { "kms:ViaService": "sagemaker.*.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }
Création d'une tâche RL à plusieurs tours avec une clé KMS gérée par le client
Pour chiffrer les données de sortie à l'aide de la clé KMS gérée par le client, spécifiez l'ARN de la clé OutputDataConfig dans le KmsKeyArn champ de votre CreateJob demande. Pour plus d'informations, consultez CreateJob la référence de l'API SageMaker AI.
L'exemple suivant montre comment spécifier une clé KMS dans OutputDataConfig :
{ "OutputDataConfig": { "S3OutputPath": "s3://your-bucket/output/", "KmsKeyArn": "arn:aws:kms:region:account-id:key/key-id" } }
Si vos données d'entrée dans Amazon S3 sont chiffrées à l'aide d'une clé gérée par le client (SSE-KMS), assurez-vous que le rôle d'exécution est kms:Decrypt autorisé pour cette clé. Vous pouvez utiliser la même clé pour le chiffrement des entrées et des sorties, ou utiliser des clés différentes.
Limiter l'accès à la clé KMS gérée par le client
Vous pouvez utiliser les mécanismes suivants pour restreindre l'accès à la clé KMS gérée par le client :
- sagemaker : clé de OutputKmsKeyArn condition
-
Utilisez la clé de
sagemaker:OutputKmsKeyArncondition dans la politique IAM de l'appelant pour contrôler quelle clé KMS peut être spécifiée pour le chiffrement des résultats des tâches. Cela permet aux administrateurs de faire en sorte que seules les clés approuvées soient utilisées lors de la création de tâches RL multitours. Pour obtenir la liste complète des clés de condition d' SageMaker IA, consultez la section Actions, ressources et clés de condition pour Amazon SageMaker AI."Condition": { "ArnEquals": { "sagemaker:OutputKmsKeyArn": "arn:aws:kms:region:account-id:key/key-id" } } - Protection adjointe confuse
-
Utilisez les touches de
aws:SourceAccountconditionaws:SourceArnou de votre politique de clé KMS pour éviter tout problème de confusion entre les sous-ministres. Cela garantit que seules les demandes provenant de votre compte ou de votre ressource spécifique peuvent utiliser la clé."Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:region:account-id:job/*" } }
Contexte de chiffrement pour les tâches RL multitours
Lorsqu'une tâche RL multitour chiffre des données à l'aide de la clé KMS gérée par le client, Amazon SageMaker AI inclut un contexte de chiffrement dans chaque AWS KMS demande effectuée via Amazon S3. Un contexte de chiffrement est un ensemble de paires clé-valeur qui fournissent des données authentifiées supplémentaires (AAD) pour les opérations. AWS KMS Le contexte de chiffrement est connecté AWS CloudTrail et peut être utilisé dans les politiques de clé KMS et des contraintes d'octroi pour restreindre davantage l'accès.
Amazon SageMaker AI utilise la paire clé-valeur de contexte de chiffrement suivante pour les tâches de formation RL à plusieurs tours :
{ "aws:sagemaker:finetuning-job-arn": "arn:aws:sagemaker:region:account-id:job/AgentRFT/job-name" }
Pour les tâches d'évaluation d'URL multitours, le contexte de chiffrement utilise :
{ "aws:sagemaker:agent-rft-evaluation-job-arn": "arn:aws:sagemaker:region:account-id:job/AgentRFTEvaluation/job-name" }
Le contexte de chiffrement est lié à la tâche spécifique qui crée les données chiffrées. Chaque tâche chiffre sa propre sortie avec son propre ARN dans le contexte du chiffrement. Cela fournit une liaison cryptographique entre les données chiffrées et la tâche qui les a produites.
Utilisation du contexte de chiffrement dans les politiques clés
Le contexte de chiffrement est appliqué automatiquement par le biais des contraintes d'autorisation qu'Amazon SageMaker AI crée au moment de la création d'un emploi. Il n'est pas nécessaire d'ajouter des conditions de contexte de chiffrement à votre politique de clé KMS pour que le chiffrement fonctionne correctement.
Si vous ajoutez des conditions de contexte de chiffrement à l'kms:CreateGrantinstruction de votre politique de clé KMS, vous devez autoriser les subventions pour la tâche en cours et la tâche précédente dans des chaînes de formation itératives. L'exemple suivant permet à Amazon SageMaker AI de créer des subventions avec l'ARN de n'importe quel job de formation dans le contexte du chiffrement :
{ "Sid": "AllowCreateGrantForCaller", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::account-id:role/CallerRole" }, "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:ViaService": "sagemaker.*.amazonaws.com", "kms:EncryptionContext:aws:sagemaker:finetuning-job-arn": "arn:aws:sagemaker:region:account-id:job/AgentRFT/*" }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }
Note
Si vous vous limitez kms:CreateGrant à un seul ARN de tâche spécifique dans le contexte de chiffrement, la formation itérative échouera car Amazon SageMaker AI crée également une autorisation de lecture avec l'ARN de la tâche précédente comme contexte de chiffrement. Utilisez un schéma générique pour autoriser les subventions pour n'importe quel emploi de votre compte.
Contexte de chiffrement dans la formation itérative
Lorsque vous exécutez des tâches de formation itératives (lorsqu'une tâche suivante reprend le point de contrôle d'une tâche précédente), le contexte de chiffrement de chaque tâche contient son propre ARN. Amazon SageMaker AI gère automatiquement deux AWS KMS subventions pour soutenir la formation itérative :
-
Autorisation d'écriture : autorise la tâche en cours à chiffrer ses propres données de point de contrôle en utilisant l'ARN de la tâche en cours comme contexte de chiffrement.
-
Autorisation de lecture : autorise la tâche en cours à déchiffrer les données de point de contrôle de la tâche précédente en utilisant l'ARN de la tâche précédente comme contexte de chiffrement.
Les deux subventions sont automatiquement retirées à la fin du travail. Vous n'avez pas besoin d'ajouter de déclarations de politique clés supplémentaires pour que la formation itérative fonctionne avec les clés gérées par le client.
Contexte de chiffrement dans AWS CloudTrail
Lorsque vous consultez CloudTrail les journaux des appels d' AWS KMS API effectués par des tâches RL multitours, le contexte de chiffrement apparaît dans le requestParameters champ de l'entrée du journal. Vous pouvez utiliser ces informations pour déterminer quelle tâche a effectué une opération de chiffrement ou de déchiffrement spécifique sur vos données.
Surveillance de l'interaction RL multitour avec AWS KMS
Vous pouvez l'utiliser AWS CloudTrail pour surveiller les appels AWS KMS d'API effectués pour le compte de vos tâches RL multitours. Les noms CloudTrail d'événements suivants sont pertinents pour surveiller l'utilisation des clés KMS :
-
Decrypt— Enregistré lorsque la tâche lit des données chiffrées depuis Amazon S3. -
GenerateDataKey— Enregistré lorsque la tâche écrit des données chiffrées sur Amazon S3. -
CreateGrant— Enregistré lorsque l'appelant crée une subvention au moment de la création d'un emploi. -
DescribeKey— Enregistré lorsque la tâche décrit la clé KMS à des fins de validation.
Dans les entrées du CloudTrail journal relatives à ces événements, recherchez les valeurs suivantes :
-
request Parameters.granteePrincipal — Pour les
CreateGrantévénements, indique le responsable du service qui a reçu la subvention (job.sagemaker.amazonaws.com).
Pour plus d'informations sur la journalisation des appels d' AWS KMS API, consultez la section Journalisation des appels d' AWS KMS API avec AWS CloudTrail dans le Guide du AWS KMS développeur.