View a markdown version of this page

Verwenden Sie AWS KMS Berechtigungen für MLflow Apps - Amazon SageMaker KI

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.

Verwenden Sie AWS KMS Berechtigungen für MLflow Apps

Sie können Ihre Daten im Ruhezustand mithilfe der Verschlüsselung für MLflow Apps schützen. Standardmäßig verwenden MLflow Apps eine serverseitige Verschlüsselung mit einem AWS eigenen Schlüssel. SageMaker unterstützt auch eine Option für die serverseitige Verschlüsselung mit einem vom Kunden verwalteten KMS-Schlüssel.

Anmerkung

Der vom Kunden verwaltete Schlüssel verschlüsselt die Daten, die für die SageMaker MLflow App verwaltet werden. Er verschlüsselt nicht die Artefakte, die Sie in Ihrem eigenen Amazon S3-Artefaktspeicher speichern. Dieser Amazon S3-Bucket wird von Ihnen erstellt und gehört Ihnen. Er wird nicht von AWS Ihnen verwaltet. Sie sind also für die Konfiguration der Verschlüsselung verantwortlich. Um Ihre Artefakte mit einem vom Kunden verwalteten Schlüssel zu verschlüsseln, legen Sie die Standardverschlüsselung für Ihren Amazon S3-Bucket fest. Weitere Informationen finden Sie unter Einstellen des standardmäßigen serverseitigen Verschlüsselungsverhaltens für Amazon S3-Buckets im Amazon Simple Storage Service User Guide.

Server-side Verschlüsselung mit AWS eigene Schlüssel

Standardmäßig verschlüsseln MLflow Apps Ihre Daten im Ruhezustand mit einem AWS eigenen Schlüssel.

Server-side Verschlüsselung mit vom Kunden verwalteten KMS-Schlüsseln

Optional können Sie einen symmetrischen, vom Kunden verwalteten Schlüssel verwenden, den Sie selbst erstellen, besitzen und verwalten, um die bestehende AWS Verschlüsselung zu ersetzen. Da Sie die volle Kontrolle über diese Verschlüsselungsebene haben, können Sie beispielsweise folgende Aufgaben ausführen:

  • Festlegung und Pflege wichtiger Richtlinien

  • Festlegung und Aufrechterhaltung von IAM-Richtlinien und -Zuschüssen

  • Aktivieren und Deaktivieren wichtiger Richtlinien

  • Kryptographisches Material mit rotierendem Schlüssel

  • Hinzufügen von -Tags

  • Erstellen von Schlüsselaliasen

  • Schlüssel für das Löschen von Schlüsseln planen

Weitere Informationen finden Sie unter Kundenverwaltete Schlüssel im AWS Key Management Service Entwicklerhandbuch.

Wie MLflow Apps verwenden Zuschüsse in AWS KMS

Um Ihren vom Kunden verwalteten Schlüssel verwenden zu können, ist für Ihre MLflow App ein Zuschuss erforderlich. Wenn Sie eine MLflow App erstellen, die mit einem vom Kunden verwalteten Schlüssel verschlüsselt ist, SageMaker wird in Ihrem Namen ein Zuschuss gewährt, indem Sie eine CreateGrant Anfrage an senden AWS KMS. AWS KMS Mit Zuschüssen erhalten MLflow Apps Zugriff auf Ihren vom Kunden verwalteten Schlüssel. Wenn Sie eine MLflow App löschen, wird SageMaker der Zuschuss aufgehoben.

Sie können den Zuschuss jederzeit widerrufen oder dem Dienst den Zugriff auf Ihren vom Kunden verwalteten Schlüssel entziehen. Durch den Widerruf des Zugriffs wird eine laufende MLflow App nicht sofort unterbrochen. Die darunterliegende Speicherebene verwendet weiterhin den Zugriff, der bei der Erstellung der App gewährt wurde. Nachdem Sie den Zugriff widerrufen haben, SageMaker können Sie Ihren Schlüssel nicht mehr für nachfolgende Vorgänge verwenden, für die er erforderlich ist, z. B. für geplante Wartungsarbeiten. Wenn Ihr Schlüssel dauerhaft nicht mehr verfügbar ist — zum Beispiel, wenn Sie ihn deaktivieren oder seine Löschung planen — können Ihre gespeicherten Daten nicht mehr entschlüsselt werden und die MLflow App kann nicht mehr wiederhergestellt werden.

Konfiguration eines vom Kunden verwalteten KMS-Schlüssels für MLflow App

Sie können einen symmetrischen, vom Kunden verwalteten Schlüssel erstellen, indem Sie die AWS-Managementkonsole oder die AWS KMS APIs verwenden.

Sie können den vom Kunden verwalteten Schlüssel für eine MLflow App nur bei der Erstellung angeben. Sie können ihn für die gesamte Lebensdauer der App nicht ändern. MLflow Apps unterstützen nicht das Umschalten einer vorhandenen App zwischen einem AWS eigenen Schlüssel und einem vom Kunden verwalteten Schlüssel oder das Ersetzen eines vom Kunden verwalteten Schlüssels durch einen anderen. Wenn Sie einen anderen Schlüssel verwenden möchten, löschen Sie die MLflow App und erstellen Sie einen neuen mit der gewünschten Verschlüsselungskonfiguration.

Erstellen eines symmetrischen, vom Kunden verwalteten Schlüssels

Befolgen Sie die Schritte zur Erstellung von KMS-Schlüsseln mit symmetrischer Verschlüsselung im AWS Key Management Service -Entwicklerhandbuch.

Schlüsselrichtlinie

Schlüsselrichtlinien steuern den Zugriff auf den vom Kunden verwalteten Schlüssel. Jeder vom Kunden verwaltete Schlüssel muss über genau eine Schlüsselrichtlinie verfügen, die aussagt, wer den Schlüssel wie verwenden kann. Wenn Sie Ihren kundenseitig verwalteten Schlüssel erstellen, können Sie eine Schlüsselrichtlinie angeben. Weitere Informationen finden Sie unter Festlegen des Zugriffs auf AWS KMS -Schlüssel im AWS Key Management Service Entwicklerhandbuch.

Um Ihren vom Kunden verwalteten Schlüssel mit Ihrer MLflow App zu verwenden, muss Ihre Schlüsselrichtlinie die folgenden API-Operationen zulassen. Das Prinzip dieser Operationen hängt davon ab, ob die Rolle zum Erstellen oder Verwenden der Anwendung verwendet wird.

Im Folgenden finden Sie Beispiele für Richtlinienerklärungen, die Sie für MLflow Apps hinzufügen können, je nachdem, ob es sich bei der Persona um einen Administrator oder einen Benutzer handelt. Weitere Informationen zum Festlegen von Berechtigungen in einer Richtlinie finden Sie unter AWS KMS Berechtigungen im AWS Key Management Service Entwicklerhandbuch. Weitere Informationen zur Fehlerbehebung finden Sie unter Fehlerbehebung beim Schlüsselzugriff im AWS Key Management Service Entwicklerhandbuch.

Administrator

Die folgende Richtlinie kann für den Administrator verwendet werden, der MLflow Apps erstellt.

{ "Sid": "AllowMLflowAppAdministratorAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/mlflow-app-admin-role" }, "Action": [ "kms:CreateGrant", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "kms:ViaService": "sagemaker.region.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "CreateGrant", "Decrypt", "DescribeKey", "Encrypt", "GenerateDataKey", "GenerateDataKeyWithoutPlaintext", "ReEncryptFrom", "ReEncryptTo", "RetireGrant" ] } } }
  • kms:ViaService— Beschränkt die Verwendung des Schlüssels auf Anfragen, die aus SageMaker einer bestimmten Region stammen. Mit können die kms:DescribeKey Berechtigungen kms:CreateGrant und nur dann ausgeübt werden"kms:ViaService": "sagemaker.region.amazonaws.com", wenn die Anfrage in SageMaker Ihrem Namen gestellt wird — nicht direkt von einem anderen Auftraggeber oder Dienst. Dadurch wird sichergestellt, dass Ihr Schlüssel nur für Ihre MLflow App verwendet wird.

  • kms:GrantOperations— Schränkt die Operationen ein, die der SageMaker Zuschuss enthalten darf. Wenn Sie eine MLflow App erstellen, werden SageMaker Aufrufe ausgeführt, CreateGrant um der Datenebene zu ermöglichen, Ihre Daten im Ruhezustand zu verschlüsseln und zu entschlüsseln. Wenn Sie kms:GrantOperations die kms:CreateGrant Anweisung ergänzen, wird sichergestellt, dass nur ein Zuschuss erstellt werden SageMaker kann, der genau die für diesen Zweck erforderlichen Operationen enthält — CreateGrant DecryptDescribeKey,Encrypt,GenerateDataKey,GenerateDataKeyWithoutPlaintext, ReEncryptFromReEncryptTo, und. RetireGrant

  • Verschlüsselungskontext — Nicht zutreffend. MLflow Apps legen keinen benutzerdefinierten Verschlüsselungskontext für die Gewährung fest, sodass Sie den kms:EncryptionContext Bedingungsschlüssel nicht verwenden können, um den Zugriff weiter einzuschränken.

Benutzer

Der Zugriff auf eine MLflow App — über die MLflow APIs oder eine vorsignierte URL — ist nicht erforderlich. AWS KMS SageMaker verschlüsselt und entschlüsselt Ihre Daten im Ruhezustand für Sie, und es erfolgt keine AWS KMS Anfrage, wenn Sie auf die App zugreifen. Wenn Sie auf eine MLflow App zugreifen, benötigen Sie daher keine AWS KMS Berechtigungen. Sie müssen den AWS KMS Zugriff nicht berücksichtigen, wenn Sie Sicherheitsrichtlinien für Ihre Benutzer definieren.

Neues erstellen MLflow App mit einem vom Kunden verwalteten KMS-Schlüssel

Um Ihre MLflow App mit einem vom Kunden verwalteten Schlüssel zu verschlüsseln, geben Sie den Schlüssel beim Erstellen der App mithilfe des --kms-key-id create-mlflow-app AWS CLI Befehlsparameters an. Wenn Sie diesen Parameter weglassen, wird ein AWS eigener Schlüssel SageMaker verwendet. Die Rolle, die Aufrufe haben create-mlflow-app müssen, kms:CreateGrant und die kms:DescribeKey Berechtigungen für den vom Kunden verwalteten Schlüssel.

aws sagemaker create-mlflow-app \ --name app-name \ --artifact-store-uri s3://bucket-name \ --role-arn role-arn \ --kms-key-id your-kms-key-id \ --region your-region

Weitere Informationen zum Erstellen einer MLflow App finden Sie unterErstellen Sie die MLFlow-App.

Überwachen MLflow Interaktion der Apps mit AWS KMS

Sie können CloudTrail damit nachverfolgen, welche Anfragen in AWS KMS Ihrem Namen gestellt werden, wenn Ihre MLflow App einen vom Kunden verwalteten Schlüssel verwendet. Weitere Informationen zum Suchen und Interpretieren von AWS KMS Ereignissen in CloudTrail finden Sie unter Protokollieren von AWS KMS API-Aufrufen mit CloudTrail im AWS Key Management Service Entwicklerhandbuch.

Die folgenden AWS KMS CloudTrail Ereignisse werden für eine MLflow App aufgezeichnet, die mit einem vom Kunden verwalteten Schlüssel verschlüsselt wurde:

  • DescribeKeyund CreateGrant — Aufgenommen, wenn Sie eine MLflow App erstellen. SageMaker validiert Ihren Schlüssel und gewährt die Genehmigung, mit der Ihre gespeicherten Daten in Ihrem Namen ver- und entschlüsselt werden können.

  • GenerateDataKeyWithoutPlaintextEncrypt, und Decrypt — Aufgenommen, während die MLflow App bereitgestellt wird und während sie läuft. Die SageMaker zugrunde liegende Speicherebene verwendet Ihren vom Kunden verwalteten Schlüssel, um Ihre Daten im Ruhezustand zu verschlüsseln und zu entschlüsseln. Diese Anfragen werden von AWS Diensten gestellt, die im Rahmen des Zuschusses in Ihrem Namen handeln. Das CloudTrail userIdentity Element zeigt also einen AWS Dienst als Anrufer an und nicht als IAM-Prinzipal aus Ihrem Konto.

  • RetireGrant— Aufgenommen, wenn Sie eine MLflow App löschen. Die für die App gewährten Zuschüsse werden eingestellt, sodass Ihr vom Kunden verwalteter Schlüssel nicht mehr dafür verwendet werden kann.