Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verschlüsselung im Ruhezustand für mehrstufiges Reinforcement Learning
Optionen für die Verschlüsselung im Ruhezustand
Multi-turn Reinforcement Learning-Jobs in Amazon SageMaker AI verschlüsseln alle Daten im Ruhezustand. Ihre Trainingseingabedaten, Ausgabedaten (einschließlich Modell-Checkpoints und trainierter Modellartefakte) und Zwischendaten, die in Amazon S3 gespeichert sind, werden mit serverseitiger Verschlüsselung verschlüsselt. Sie müssen keine zusätzliche Konfiguration vornehmen, um sicherzustellen, dass Ihre Daten im Ruhezustand verschlüsselt werden.
Amazon SageMaker AI unterstützt die folgenden Verschlüsselungsoptionen für Multi-Turn-RL-Jobs:
-
Server-side Verschlüsselung mit AWS eigenem KMS-Schlüssel — Standardmäßig verschlüsselt Amazon SageMaker AI alle Trainingsausgaben und Zwischendaten mit einem AWS eigenen KMS-Schlüssel. Es ist keine zusätzliche Konfiguration erforderlich.
-
Server-side Verschlüsselung mit AWS KMS Schlüsseln (SSE-KMS) — Sie können optional einen vom Kunden verwalteten KMS-Schlüssel angeben, um Ihre Trainingsausgabedaten in Amazon S3 zu verschlüsseln. Wenn Ihre Eingabedaten in Amazon S3 bereits mit einem vom Kunden verwalteten Schlüssel verschlüsselt sind, muss die Ausführungsrolle die Berechtigung haben, diese Daten zu entschlüsseln.
Verschlüsselung von Daten im Ruhezustand mithilfe des vom Kunden verwalteten Systems AWS KMS keys
Wie Multi-Turn RL einen vom Kunden verwalteten KMS-Schlüssel verwendet
Wenn Sie in der Ausgabekonfiguration Ihres Multi-Turn-RL-Jobs einen vom Kunden verwalteten KMS-Schlüssel angeben, verwendet Amazon SageMaker AI diesen Schlüssel, um die folgenden Ressourcen in Amazon S3 zu verschlüsseln:
-
Trainingsausgabedaten, einschließlich trainierter Modellartefakte (Gewichte des LoRa-Adapters)
-
Zwischenmodell input/output (wiederaufrufbare Modell-Checkpoints und Trajektoriendaten)
-
MLflow-Versuchsdaten und -spuren
Wenn Sie einen vom Kunden verwalteten KMS-Schlüssel angeben, verwendet Amazon SageMaker AI zwei Mechanismen, um Ihre Daten zu verschlüsseln:
-
Zuschüsse — Bei der Erstellung des Jobs verwendet Amazon SageMaker AI die Anmeldeinformationen des Anrufers, um eine oder zwei Zuschüsse für den KMS-Schlüssel zu vergeben:
-
Write Grant — Wird für jeden Job erstellt, für den ein vom Kunden verwalteter Schlüssel angegeben ist. Ermöglicht dem Service, den Checkpoint des aktuellen Jobs und die temporären Daten, die während des Trainings auf der Plattform gespeichert wurden, zu verschlüsseln und zu entschlüsseln.
-
Read Grant — Wird nur für iterative Jobs erstellt, die am Checkpoint eines vorherigen Jobs fortgesetzt werden, wenn für den vorherigen Job auch ein vom Kunden verwalteter Schlüssel verwendet wurde. Ermöglicht dem Service, die Checkpoint-Daten des vorherigen Jobs zu entschlüsseln. Diese Genehmigung erlaubt nur die Entschlüsselung und nicht das Schreiben neuer Daten.
Alle Zuschüsse werden automatisch zurückgezogen, wenn der Auftrag abgeschlossen ist. Dadurch wird sichergestellt, dass der Dienst nach Ablauf des Auftragslebenszyklus keinen Zugriff mehr auf den Schlüssel hat.
-
-
Ausführungsrolle — Beim Speichern von Ausgabedaten (Modellartefakte, Checkpoints) in Ihrem Amazon S3-Bucket verwendet Amazon SageMaker AI die von Ihnen angegebene Ausführungsrolle. Die Ausführungsrolle muss über Berechtigungen verfügen, um den KMS-Schlüssel für die Verschlüsselung und Entschlüsselung über Amazon S3 zu verwenden.
Während eines Trainingsauftrags finden die folgenden AWS KMS Operationen statt:
-
kms:GenerateDataKey— Wird über Amazon S3 aufgerufen, wenn verschlüsselte Ausgabedaten (Modellartefakte, Prüfpunkte und Protokolle) geschrieben werden. -
kms:Decrypt— Wird über Amazon S3 aufgerufen, wenn verschlüsselte Eingabedaten oder zuvor geschriebene Ausgabedaten gelesen werden. -
kms:DescribeKey— Wird von der Anruferidentität bei der Auftragserstellung aufgerufen, um die Konfiguration und den Status des KMS-Schlüssels zu überprüfen. -
kms:CreateGrant— Wird von der Anruferidentität bei der Auftragserstellung aufgerufen, um dem Dienst die Erlaubnis zu erteilen, temporäre Daten während des Lebenszyklus des Jobs auf der Plattform zu speichern.
Der Dienst speichert keine Datenschlüssel im Cache. Jeder Amazon S3-Lese- oder Schreibvorgang wird AWS KMS unabhängig voneinander über die Amazon S3-Serviceintegration aufgerufen.
Konfiguration eines vom Kunden verwalteten KMS-Schlüssels
Multi-turn RL-Jobs unterstützen nur symmetrische AWS KMS Schlüssel. Multi-region Schlüssel werden nicht unterstützt.
Konfiguration von Berechtigungen zur Verwendung eines vom Kunden verwalteten KMS-Schlüssels
Um einen vom Kunden verwalteten KMS-Schlüssel für Multi-Turn-RL-Jobs zu verwenden, müssen Sie Berechtigungen sowohl für die IAM-Ausführungsrolle als auch für die KMS-Schlüsselrichtlinie konfigurieren.
Berechtigungen für die Ausführungsrolle
Die IAM-Ausführungsrolle, die Sie an die CreateJob API übergeben, muss über die folgenden Berechtigungen verfügen. AWS KMS Diese Berechtigungen ermöglichen es dem Trainingsjob, Ausgabedaten zu verschlüsseln und Eingabedaten über Amazon S3 zu entschlüsseln.
{ "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— Erforderlich, um verschlüsselte Eingabedaten und zuvor geschriebene Ausgabedaten von Amazon S3 zu lesen. -
kms:GenerateDataKey— Erforderlich, um in Amazon S3 geschriebene Ausgabedaten (Modellartefakte, Checkpoints) zu verschlüsseln.
Die kms:ViaService Bedingung beschränkt die Verwendung des Schlüssels auf Anfragen, die über Amazon S3 eingehen, und verhindert so, dass der Schlüssel für andere Zwecke verwendet wird.
Berechtigungen für die Rolle „Agent Runtime“
Die Agenten-Laufzeitrolle, die Ihr Amazon AgentCore Bedrock-Agent oder AWS Lambda -Forwarder übernimmt, muss über die folgenden AWS KMS Berechtigungen verfügen. SageMaker Die KI überprüft, ob der Anrufer über diese Berechtigungen verfügt, bevor er den KMS-Schlüssel während eines Multi-Turn Reinforcement Learning-Jobs (RL) verwendet.
{ "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" } } } ] }
Die kms:ViaService Bedingung für die Agenten-Runtime-Rolle gibt ansagemaker.*.amazonaws.com, dass der SageMaker AI-Laufzeitdienst die AWS KMS Operationen im Namen des Aufrufers ausführt. Im Gegensatz dazu verwendet die Ausführungsrolle, s3.*.amazonaws.com weil sie über Amazon S3 auf den Schlüssel zugreift.
KMS-Schlüsselrichtlinie
Die standardmäßige KMS-Schlüsselrichtlinie ermöglicht bereits IAM-Rollen im selben Konto, den Schlüssel zu verwenden. Optional können Sie die folgende Anweisung hinzufügen, um den Zugriff nur auf die Ausführungsrolle und die Agenten-Laufzeitrolle weiter einzuschränken:
{ "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" ] } } }
Damit der Aufrufer Zuschüsse gewähren und den Schlüssel beschreiben kann, fügen Sie der Schlüsselrichtlinie die folgende Anweisung hinzu:
{ "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" } } }
Erstellen eines RL-Auftrags mit mehreren Turn mithilfe eines vom Kunden verwalteten KMS-Schlüssels
Um Ausgabedaten mit Ihrem vom Kunden verwalteten KMS-Schlüssel zu verschlüsseln, geben Sie in Ihrer CreateJob Anfrage den Schlüssel-ARN OutputDataConfig im KmsKeyArn Feld von an. Weitere Informationen finden Sie CreateJob in der SageMaker AI-API-Referenz.
Das folgende Beispiel zeigt, wie ein KMS-Schlüssel angegeben wird inOutputDataConfig:
{ "OutputDataConfig": { "S3OutputPath": "s3://your-bucket/output/", "KmsKeyArn": "arn:aws:kms:region:account-id:key/key-id" } }
Wenn Ihre Eingabedaten in Amazon S3 mit einem vom Kunden verwalteten Schlüssel (SSE-KMS) verschlüsselt sind, stellen Sie sicher, dass die Ausführungsrolle die kms:Decrypt Berechtigung für diesen Schlüssel hat. Sie können denselben Schlüssel für die Eingabe- und Ausgabeverschlüsselung oder unterschiedliche Schlüssel verwenden.
Einschränkung des Zugriffs auf den vom Kunden verwalteten KMS-Schlüssel
Sie können die folgenden Mechanismen verwenden, um den Zugriff auf Ihren vom Kunden verwalteten KMS-Schlüssel einzuschränken:
- Sagemaker: OutputKmsKeyArn Bedingungsschlüssel
-
Verwenden Sie den
sagemaker:OutputKmsKeyArnBedingungsschlüssel in der IAM-Richtlinie des Aufrufers, um zu steuern, welcher KMS-Schlüssel für die Verschlüsselung der Auftragsausgabe angegeben werden kann. Auf diese Weise können Administratoren durchsetzen, dass bei der Erstellung von Multiturn-RL-Jobs nur zugelassene Schlüssel verwendet werden. Die vollständige Liste der SageMaker KI-Bedingungsschlüssel finden Sie unter Aktionen, Ressourcen und Bedingungsschlüssel für Amazon SageMaker AI."Condition": { "ArnEquals": { "sagemaker:OutputKmsKeyArn": "arn:aws:kms:region:account-id:key/key-id" } } - Verwirrter Stellvertreter, Schutz
-
Verwenden Sie die
aws:SourceArnaws:SourceAccountBedingungstasten oder in Ihrer KMS-Schlüsselrichtlinie, um das Problem mit dem verwirrten Stellvertreter zu vermeiden. Dadurch wird sichergestellt, dass nur Anfragen, die von Ihrem spezifischen Konto oder Ihrer Ressource stammen, den Schlüssel verwenden können."Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:region:account-id:job/*" } }
Verschlüsselungskontext für Multi-Turn-RL-Jobs
Wenn ein Multi-Turn-RL-Job Daten mithilfe Ihres vom Kunden verwalteten KMS-Schlüssels verschlüsselt, fügt Amazon SageMaker AI in jede über Amazon S3 gestellte AWS KMS Anfrage einen Verschlüsselungskontext ein. Ein Verschlüsselungskontext besteht aus einer Reihe von Schlüssel-Wert-Paaren, die zusätzliche authentifizierte Daten (AAD) für Operationen bereitstellen. AWS KMS Der Verschlüsselungskontext ist angemeldet AWS CloudTrail und kann in KMS-Schlüsselrichtlinien und Gewährleistungsbeschränkungen verwendet werden, um den Zugriff weiter einzuschränken.
Amazon SageMaker AI verwendet das folgende Schlüssel-Wert-Paar für den Verschlüsselungskontext für mehrstufige RL-Trainingsjobs:
{ "aws:sagemaker:finetuning-job-arn": "arn:aws:sagemaker:region:account-id:job/AgentRFT/job-name" }
Für Multi-Turn-RL-Evaluierungsjobs verwendet der Verschlüsselungskontext:
{ "aws:sagemaker:agent-rft-evaluation-job-arn": "arn:aws:sagemaker:region:account-id:job/AgentRFTEvaluation/job-name" }
Der Verschlüsselungskontext ist an den spezifischen Job gebunden, der die verschlüsselten Daten erstellt. Jeder Job verschlüsselt seine eigene Ausgabe mit seinem eigenen ARN im Verschlüsselungskontext. Dadurch wird eine kryptografische Bindung zwischen den verschlüsselten Daten und dem Job, der sie generiert hat, hergestellt.
Verwendung des Verschlüsselungskontextes in wichtigen Richtlinien
Der Verschlüsselungskontext wird automatisch durch die Zuschussbeschränkungen durchgesetzt, die Amazon SageMaker AI bei der Schaffung von Arbeitsplätzen festlegt. Sie müssen Ihrer KMS-Schlüsselrichtlinie keine Bedingungen für den Verschlüsselungskontext hinzufügen, damit die Verschlüsselung ordnungsgemäß funktioniert.
Wenn Sie der kms:CreateGrant Anweisung in Ihrer KMS-Schlüsselrichtlinie Bedingungen für den Verschlüsselungskontext hinzufügen, müssen Sie in iterativen Schulungsketten Zuschüsse sowohl für den aktuellen als auch für den vorherigen Job gewähren. Das folgende Beispiel ermöglicht es Amazon SageMaker AI, Zuschüsse mit einem beliebigen ARN für Schulungsjobs im Verschlüsselungskontext zu erstellen:
{ "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" } } }
Anmerkung
Wenn Sie kms:CreateGrant sich im Verschlüsselungskontext auf einen bestimmten Job-ARN beschränken, schlägt das iterative Training fehl, da Amazon SageMaker AI auch einen Read Grant mit dem ARN des vorherigen Jobs als Verschlüsselungskontext erstellt. Verwenden Sie ein Platzhaltermuster, um Zuschüsse für jeden Job in Ihrem Konto zuzulassen.
Verschlüsselungskontext im iterativen Training
Wenn Sie iterative Trainingsaufträge ausführen (bei denen ein nachfolgender Job vom Checkpoint eines vorherigen Jobs aus wieder aufgenommen wird), enthält der Verschlüsselungskontext für jeden Job den eigenen ARN dieses Jobs. Amazon SageMaker AI verwaltet automatisch zwei AWS KMS Zuschüsse zur Unterstützung iterativer Schulungen:
-
Write Grant — Ermöglicht dem aktuellen Job, seine eigenen Checkpoint-Daten zu verschlüsseln, wobei der ARN des aktuellen Jobs als Verschlüsselungskontext verwendet wird.
-
Read Grant — Ermöglicht dem aktuellen Job, Checkpoint-Daten aus dem vorherigen Job zu entschlüsseln, wobei der ARN des vorherigen Jobs als Verschlüsselungskontext verwendet wird.
Beide Zuschüsse werden automatisch zurückgezogen, wenn der Auftrag abgeschlossen ist. Für iterative Schulungen zur Arbeit mit vom Kunden verwalteten Schlüsseln müssen Sie keine weiteren wichtigen Grundsatzerklärungen hinzufügen.
Verschlüsselungskontext in AWS CloudTrail
Wenn Sie die CloudTrail Protokolle für AWS KMS API-Aufrufe überprüfen, die von RL-Aufträgen mit mehreren Turn getätigt wurden, wird der Verschlüsselungskontext im requestParameters Feld des Protokolleintrags angezeigt. Anhand dieser Informationen können Sie ermitteln, welcher Job einen bestimmten Verschlüsselungs- oder Entschlüsselungsvorgang für Ihre Daten ausgeführt hat.
Überwachung der Multi-Turn-RL-Interaktion mit AWS KMS
Sie können AWS CloudTrail es verwenden, um AWS KMS API-Aufrufe zu überwachen, die im Namen Ihrer Multi-Turn-RL-Jobs getätigt wurden. Die folgenden CloudTrail Ereignisnamen sind für die Überwachung der Verwendung von KMS-Schlüsseln relevant:
-
Decrypt— Wird protokolliert, wenn der Job verschlüsselte Daten von Amazon S3 liest. -
GenerateDataKey— Wird protokolliert, wenn der Job verschlüsselte Daten in Amazon S3 schreibt. -
CreateGrant— Wird protokolliert, wenn der Anrufer bei der Erstellung des Jobs einen Zuschuss gewährt. -
DescribeKey— Wird protokolliert, wenn der Auftrag den KMS-Schlüssel für die Validierung beschreibt.
Achten Sie in den CloudTrail Protokolleinträgen für diese Ereignisse auf die folgenden Werte:
-
request Parameters.granteePrincipal — Zeigt für
CreateGrantEreignisse den Dienstprinzipal an, der den Zuschuss erhalten hat (job.sagemaker.amazonaws.com).
Weitere Informationen zur Protokollierung von AWS KMS API-Aufrufen finden Sie unter Protokollieren von AWS KMS API-Aufrufen mit AWS CloudTrail im AWS KMS Entwicklerhandbuch.