Richten Sie IAM Berechtigungen ein für MLflow - Amazon SageMaker

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.

Richten Sie IAM Berechtigungen ein für MLflow

Sie müssen die erforderlichen IAM Servicerollen konfigurieren, um mit Amazon MLflow zu beginnen SageMaker.

Wenn Sie eine neue SageMaker Amazon-Domain für den Zugriff auf Ihre Experimente in Studio erstellen, können Sie die erforderlichen IAM Berechtigungen bei der Domaineinrichtung konfigurieren. Weitere Informationen finden Sie unter Richten Sie MLflow IAM Berechtigungen ein, wenn Sie eine neue Domain erstellen.

Informationen zum Einrichten von Berechtigungen mithilfe der IAM Konsole finden Sie unterErstellen Sie die erforderlichen IAM Servicerollen in der IAM Konsole.

Sie müssen die Autorisierungskontrollen für sagemaker-mlflow Aktionen konfigurieren. Sie können optional detailliertere Autorisierungskontrollen definieren, um MLflow aktionsspezifische Berechtigungen zu regeln. Weitere Informationen finden Sie unter Erstellen Sie aktionsspezifische Autorisierungskontrollen.

Richten Sie MLflow IAM Berechtigungen ein, wenn Sie eine neue Domain erstellen

Wenn Sie eine neue SageMaker Amazon-Domain für Ihre Organisation einrichten, können Sie die IAM Berechtigungen für Ihre Domain-Servicerolle in den Einstellungen „Benutzer“ und „ML-Aktivitäten“ konfigurieren.

Um IAM Berechtigungen für die Verwendung MLflow mit SageMaker bei der Einrichtung einer neuen Domain zu konfigurieren
  1. Richten Sie mithilfe der SageMaker Konsole eine neue Domain ein. Wählen Sie auf der Seite SageMakerDomain einrichten die Option Für Organisationen einrichten aus. Weitere Informationen finden Sie unter Benutzerdefiniertes Setup mit der Konsole.

  2. Wählen Sie beim Einrichten von Benutzern und ML-Aktivitäten aus den folgenden ML-Aktivitäten fürMLflow: Verwenden MLflow, Verwalten von MLflow Tracking-Servern und Zugriff auf AWS Dienste für erforderlich MLflow. Weitere Informationen zu diesen Aktivitäten finden Sie in den Erläuterungen zu diesem Verfahren.

  3. Schließen Sie die Einrichtung und Erstellung Ihrer neuen Domain ab.

Die folgenden MLflow ML-Aktivitäten sind in Amazon SageMaker Role Manager verfügbar:

  • Verwendung MLflow: Diese ML-Aktivität gewährt der Domain-Servicerolle die Berechtigung, Anrufe MLflow REST APIs zur Verwaltung von Experimenten, Durchläufen und Modellen in durchzuführenMLflow.

  • MLflowTracking-Server verwalten: Diese ML-Aktivität gewährt der Domänendienstrolle die Berechtigung, Tracking-Server zu erstellen, zu aktualisieren, zu starten, zu beenden und zu löschen.

  • Zugriff auf AWS Services erforderlich für MLflow: Diese ML-Aktivität stellt die Berechtigungen für die Domain-Servicerolle bereit, die für den Zugriff auf Amazon S3 und die SageMaker Model Registry erforderlich sind. Auf diese Weise können Sie die Domain-Servicerolle als Tracking-Server-Server-Server-Serverrolle verwenden.

Weitere Informationen zu ML-Aktivitäten im Rollenmanager finden Sie unterReferenz zur ML-Aktivität.

Erstellen Sie die erforderlichen IAM Servicerollen in der IAM Konsole

Wenn Sie Ihre Domain-Servicerolle nicht erstellt oder aktualisiert haben, müssen Sie stattdessen die folgenden Servicerollen in der IAM Konsole erstellen, um einen MLflow Tracking-Server zu erstellen und zu verwenden:

  • Eine IAM Tracking-Server-Server-Server-Serverrolle, mit der der Tracking-Server auf SageMaker Ressourcen zugreifen kann

  • Eine SageMaker IAM Servicerolle, mit der MLflow Ressourcen erstellt und verwaltet werden SageMaker können

IAMRichtlinien für die IAM Tracking-Server-Server-Server-Serverrolle

Die IAM Tracking-Server-Server-Server-Serverrolle wird vom Tracking-Server verwendet, um auf die benötigten Ressourcen wie Amazon S3 und die SageMaker Model Registry zuzugreifen.

Verwenden Sie bei der Erstellung der IAM Tracking-Server-Server-Server-Server-Serverrolle die folgende IAM Vertrauensrichtlinie:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Fügen Sie in der IAM Konsole Ihrer Tracking-Server-Servicerolle die folgende Berechtigungsrichtlinie hinzu:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:Put*", "s3:List*", "sagemaker:AddTags", "sagemaker:CreateModelPackageGroup", "sagemaker:CreateModelPackage", "sagemaker:UpdateModelPackage", "sagemaker:DescribeModelPackageGroup" ], "Resource": "*" } ] }

IAMRichtlinie für die SageMaker IAM Servicerolle

Die SageMaker Servicerolle wird vom Client verwendet, der auf den MLflow Tracking-Server zugreift, und benötigt Zugriffsberechtigungen MLflow RESTAPIs. Die SageMaker Servicerolle benötigt außerdem SageMaker API Berechtigungen zum Erstellen, Aktualisieren, Starten, Stoppen und Löschen von Tracking-Servern.

Sie können eine neue Rolle erstellen oder eine bestehende Rolle aktualisieren. Für die SageMaker Servicerolle ist die folgende Richtlinie erforderlich:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker-mlflow:*", "sagemaker:CreateMlflowTrackingServer", "sagemaker:UpdateMlflowTrackingServer", "sagemaker:DeleteMlflowTrackingServer", "sagemaker:StartMlflowTrackingServer", "sagemaker:StopMlflowTrackingServer", "sagemaker:CreatePresignedMlflowTrackingServerUrl" ], "Resource": "*" } ] }

Erstellen Sie aktionsspezifische Autorisierungskontrollen

Sie müssen Autorisierungskontrollen für einrichten und können optional aktionsspezifische Autorisierungskontrollen konfigurierensagemaker-mlflow, um detailliertere MLflow Berechtigungen zu regeln, die Ihre Benutzer auf einem Tracking-Server haben. MLflow

Anmerkung

Bei den folgenden Schritten wird davon ausgegangen, dass ARN für einen MLflow Tracking-Server bereits ein verfügbarer Server verfügbar ist. Informationen zum Erstellen eines Trackingservers finden Sie unter Erstellen Sie mit Studio einen Tracking-Server oderErstellen Sie einen Tracking-Server mit dem AWS CLI.

Mit dem folgenden Befehl wird eine Datei mit dem Namen erstelltmlflow-policy.json, die Ihrem Tracking-Server IAM Berechtigungen für alle verfügbaren SageMaker MLflow Aktionen gewährt. Sie können die Berechtigungen eines Benutzers optional einschränken, indem Sie die spezifischen Aktionen auswählen, die dieser Benutzer ausführen soll. Für eine Liste der verfügbaren Aktionen sieheIAMunterstützte Aktionen für MLflow.

# Replace "Resource":"*" with "Resource":"TrackingServerArn" # Replace "sagemaker-mlflow:*" with specific actions printf '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker-mlflow:*", "Resource": "*" } ] }' > mlflow-policy.json

Verwenden Sie die mlflow-policy.json Datei, um eine IAM Richtlinie mit dem zu erstellen AWS CLI.

aws iam create-policy \ --policy-name MLflowPolicy \ --policy-document file://mlflow-policy.json

Rufen Sie Ihre Konto-ID ab und fügen Sie die Richtlinie Ihrer IAM Rolle hinzu.

# Get your account ID aws sts get-caller-identity # Attach the IAM policy using your exported role and account ID aws iam attach-role-policy \ --role-name $role_name \ --policy-arn arn:aws:iam::123456789012:policy/MLflowPolicy

IAMunterstützte Aktionen für MLflow

Die folgenden SageMaker MLflow Aktionen werden für die Autorisierungszugriffskontrolle unterstützt:

  • SageMaker-MLFlow: AccessUI

  • sagemaker-mlflow: CreateExperiment

  • sagemaker-mlflow: SearchExperiments

  • sagemaker-mlflow: GetExperiment

  • sagemaker-mlflow: GetExperimentByName

  • sagemaker-mlflow: DeleteExperiment

  • sagemaker-mlflow: RestoreExperiment

  • sagemaker-mlflow: UpdateExperiment

  • sagemaker-mlflow: CreateRun

  • sagemaker-mlflow: DeleteRun

  • sagemaker-mlflow: RestoreRun

  • sagemaker-mlflow: GetRun

  • sagemaker-mlflow: LogMetric

  • sagemaker-mlflow: LogBatch

  • sagemaker-mlflow: LogModel

  • sagemaker-mlflow: LogInputs

  • sagemaker-mlflow: SetExperimentTag

  • sagemaker-mlflow: SetTag

  • sagemaker-mlflow: DeleteTag

  • sagemaker-mlflow: LogParam

  • sagemaker-mlflow: GetMetricHistory

  • sagemaker-mlflow: SearchRuns

  • sagemaker-mlflow: ListArtifacts

  • sagemaker-mlflow: UpdateRun

  • sagemaker-mlflow: CreateRegisteredModel

  • sagemaker-mlflow: GetRegisteredModel

  • sagemaker-mlflow: RenameRegisteredModel

  • sagemaker-mlflow: UpdateRegisteredModel

  • sagemaker-mlflow: DeleteRegisteredModel

  • sagemaker-mlflow: GetLatestModelVersions

  • sagemaker-mlflow: CreateModelVersion

  • sagemaker-mlflow: GetModelVersion

  • sagemaker-mlflow: UpdateModelVersion

  • sagemaker-mlflow: DeleteModelVersion

  • sagemaker-mlflow: SearchModelVersions

  • sagemaker-mlflow: GetDownload URIForModelVersionArtifacts

  • sagemaker-mlflow: TransitionModelVersionStage

  • sagemaker-mlflow: SearchRegisteredModels

  • sagemaker-mlflow: SetRegisteredModelTag

  • sagemaker-mlflow: DeleteRegisteredModelTag

  • sagemaker-mlflow: DeleteModelVersionTag

  • sagemaker-mlflow: DeleteRegisteredModelAlias

  • sagemaker-mlflow: SetRegisteredModelAlias

  • sagemaker-mlflow: GetModelVersionByAlias