AWS Identity and Access Management für SageMaker HyperPod - 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.

AWS Identity and Access Management für SageMaker HyperPod

AWS Identity and Access Management (IAM) ist ein AWS Dienst, der einem Administrator hilft, den Zugriff auf Ressourcen sicher zu AWS kontrollieren. IAM-Administratoren kontrollieren, wer authentifiziert (angemeldet) und autorisiert (mit Berechtigungen ausgestattet) werden kann, um Amazon-EKS-Ressourcen zu nutzen. IAM ist ein AWS Dienst, den Sie ohne zusätzliche Kosten nutzen können.

Wichtig

Benutzerdefinierte IAM-Richtlinien, die es Amazon SageMaker Studio oder Amazon SageMaker Studio Classic ermöglichen, SageMaker Amazon-Ressourcen zu erstellen, müssen auch Berechtigungen zum Hinzufügen von Tags zu diesen Ressourcen gewähren. Die Berechtigung zum Hinzufügen von Tags zu Ressourcen ist erforderlich, da Studio und Studio Classic automatisch alle von ihnen erstellten Ressourcen taggen. Wenn eine IAM-Richtlinie Studio und Studio Classic das Erstellen von Ressourcen, aber kein Tagging erlaubt, können "AccessDenied" Fehler auftreten, wenn versucht wird, Ressourcen zu erstellen. Weitere Informationen finden Sie unter Stellen Sie Berechtigungen für das Taggen von KI-Ressourcen SageMaker bereit.

AWS verwaltete Richtlinien für Amazon SageMaker AIdie Berechtigungen zum Erstellen von SageMaker Ressourcen gewähren, beinhalten bereits Berechtigungen zum Hinzufügen von Tags beim Erstellen dieser Ressourcen.

Nehmen wir an, dass es zwei SageMaker HyperPod Hauptnutzerschichten gibt: Cluster-Admin-Benutzer und Data-Scientist-Benutzer.

  • Cluster-Admin-Benutzer — Sind für die Erstellung und Verwaltung von SageMaker HyperPod Clustern verantwortlich. Dazu gehören die Konfiguration der HyperPod Cluster und die Verwaltung des Benutzerzugriffs auf sie.

    • Erstellen und konfigurieren Sie SageMaker HyperPod Cluster mit Slurm oder Amazon EKS.

    • Erstellen und konfigurieren Sie IAM-Rollen für Data-Scientist-Benutzer und HyperPod Cluster-Ressourcen.

    • Für die SageMaker HyperPod Orchestrierung mit Amazon EKS müssen Sie EKS-Zugriffseinträge, rollenbasierte Zugriffskontrolle (RBAC) und Pod Identity erstellen und konfigurieren, um datenwissenschaftliche Anwendungsfälle zu erfüllen.

  • Anwender von Data Scientists — Konzentrieren Sie sich auf das Training mit ML-Modellen. Sie verwenden den Open-Source-Orchestrator oder die SageMaker HyperPod CLI, um Schulungsjobs einzureichen und zu verwalten.

    • Nehmen Sie die von Cluster-Administratorbenutzern bereitgestellte IAM-Rolle an und verwenden Sie sie.

    • Interagieren Sie mit dem Open-Source-Orchestrator, der von SageMaker HyperPod (Slurm oder Kubernetes) oder der SageMaker HyperPod CLI CLIs unterstützt wird, um die Clusterkapazität zu überprüfen, eine Verbindung zum Cluster herzustellen und Workloads einzureichen.

Richten Sie IAM-Rollen für Cluster-Administratoren ein, indem Sie die richtigen Berechtigungen oder Richtlinien für den Betrieb von Clustern hinzufügen. SageMaker HyperPod Cluster-Administratoren sollten außerdem IAM-Rollen einrichten, um SageMaker HyperPod Ressourcen bereitzustellen, die für den Betrieb und die Kommunikation mit den erforderlichen AWS Ressourcen wie Amazon S3 CloudWatch, Amazon und AWS Systems Manager (SSM) zuständig sind. Schließlich sollten der AWS Kontoadministrator oder die Cluster-Administratoren Wissenschaftlern Berechtigungen für den Zugriff auf die SageMaker HyperPod Cluster und die Ausführung von ML-Workloads gewähren.

Je nachdem, welchen Orchestrator Sie wählen, können die für den Clusteradministrator und die Wissenschaftler erforderlichen Berechtigungen variieren. Sie können auch den Umfang der Berechtigungen für verschiedene Aktionen in den Rollen mithilfe der Bedingungsschlüssel pro Dienst steuern. Verwenden Sie die folgenden Referenzen zur Serviceautorisierung, um den detaillierten Umfang der Dienste im Zusammenhang mit hinzuzufügen SageMaker HyperPod.

IAM-Benutzer für den Cluster-Administrator

Clusteradministratoren (Admins) betreiben und konfigurieren SageMaker HyperPod Cluster und führen die Aufgaben in. SageMaker HyperPod Betrieb Das folgende Richtlinienbeispiel umfasst die Mindestberechtigungen für Clusteradministratoren, um den SageMaker HyperPod Kern auszuführen APIs und SageMaker HyperPod Cluster innerhalb Ihres AWS Kontos zu verwalten.

Slurm
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateCluster", "sagemaker:ListClusters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sagemaker:DeleteCluster", "sagemaker:DescribeCluster", "sagemaker:DescribeClusterNode", "sagemaker:ListClusterNodes", "sagemaker:UpdateCluster", "sagemaker:UpdateClusterSoftware", "sagemaker:BatchDeleteClusterNodes" ], "Resource": "arn:aws:sagemaker:region:account-id:cluster/*" } ] }
Amazon EKS
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": <execution-role-arn> }, { "Effect": "Allow", "Action": [ "sagemaker:CreateCluster", "sagemaker:DeleteCluster", "sagemaker:DescribeCluster", "sagemaker:DescribeCluterNode", "sagemaker:ListClusterNodes", "sagemaker:ListClusters", "sagemaker:UpdateCluster", "sagemaker:UpdateClusterSoftware", "sagemaker:BatchDeleteClusterNodes", "eks:DescribeCluster", "eks:CreateAccessEntry", "eks:DescribeAccessEntry", "eks:DeleteAccessEntry", "eks:AssociateAccessPolicy", "iam:CreateServiceLinkedRole" ], "Resource": "*" } ] }

Um Berechtigungen für den Zugriff auf die SageMaker AI-Konsole zu erteilen, verwenden Sie die Beispielrichtlinie unter Erforderliche Berechtigungen für die Nutzung der Amazon SageMaker AI-Konsole.

Um Zugriffsberechtigungen für die Amazon EC2 Systems Manager Manager-Konsole zu gewähren, verwenden Sie die Beispielrichtlinie, die Sie im AWS Systems Manager Benutzerhandbuch unter AWS Systems Manager Konsole verwenden finden.

Sie könnten auch erwägen, die AmazonSageMakerFullAccessRichtlinie an die Rolle anzuhängen. Beachten Sie jedoch, dass die AmazonSageMakerFullAccess Richtlinie Berechtigungen für die gesamten SageMaker API-Aufrufe, Funktionen und Ressourcen gewährt.

Hinweise zu IAM-Benutzern im Allgemeinen finden Sie unter IAM-Benutzer im AWS Identity and Access Management Benutzerhandbuch.

IAM-Benutzer für Wissenschaftler

Wissenschaftler melden sich bei ML-Workloads an und führen sie auf SageMaker HyperPod Clusterknoten aus, die von Clusteradministratoren bereitgestellt werden. Wissenschaftlern in Ihrem AWS Konto sollten Sie die Erlaubnis erteilen, den "ssm:StartSession" SSM-Befehl auszuführen. start-session Im Folgenden finden Sie ein Richtlinienbeispiel für IAM-Benutzer.

Slurm

Fügen Sie die folgende Richtlinie hinzu, um SSM-Sitzungsberechtigungen zum Herstellen einer Verbindung mit einem SSM-Ziel für alle Ressourcen zu gewähren. Dadurch können Sie auf Cluster zugreifen HyperPod.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }
Amazon EKS

Gewähren Sie Datenwissenschaftlern die folgenden IAM-Rollenberechtigungen zur Ausführung hyperpod list-clusters und hyperpod connect-cluster Befehle unter den HyperPod CLI-Befehlen. Weitere Informationen zur HyperPod CLI finden Sie unterAusführung von Jobs auf SageMaker HyperPod Clustern, die von Amazon EKS orchestriert wurden. Sie umfasst auch SSM-Sitzungsberechtigungen für alle Ressourcen, um eine Verbindung zu einem SSM-Ziel herzustellen. Dadurch können Sie auf Cluster zugreifen HyperPod .

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DescribeHyerpodClusterPermissions", "Effect": "Allow", "Action": [ "sagemaker:DescribeCluster" ], "Resource": "<hyperpod-cluster-arn>" }, { "Sid": "UseEksClusterPermissions", "Effect": "Allow", "Action": [ "eks:DescribeCluster", ], "Resource": "<eks-cluster-arn>" }, { "Sid": "ListClustersPermission", "Effect": "Allow", "Action": [ "sagemaker:ListClusters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }

Informationen darüber, wie Datenwissenschaftlern IAM-Benutzern oder -Rollen Zugriff auf Kubernetes APIs im Cluster gewährt werden, finden Sie unter Gewähren Sie IAM-Benutzern und -Rollen Zugriff auf Kubernetes APIs im Amazon EKS-Benutzerhandbuch.

IAM-Rolle für SageMaker HyperPod

Damit SageMaker HyperPod Cluster ausgeführt werden und mit den erforderlichen AWS Ressourcen kommunizieren können, müssen Sie eine IAM-Rolle erstellen, die der HyperPod Cluster übernehmen soll.

Beginnen Sie mit dem Anhängen der verwalteten Rolle. AWS verwaltete Richtlinie: AmazonSageMakerHyperPodServiceRolePolicy Aufgrund dieser AWS verwalteten Richtlinie übernehmen SageMaker HyperPod Cluster-Instance-Gruppen die Rolle, mit Amazon CloudWatch, Amazon S3 und AWS Systems Manager Agent (SSM-Agent) zu kommunizieren. Diese verwaltete Richtlinie ist die Mindestanforderung für den ordnungsgemäßen Betrieb von SageMaker HyperPod Ressourcen. Daher müssen Sie allen Instance-Gruppen eine IAM-Rolle mit dieser Richtlinie zuweisen.

Tipp

Je nachdem, was Sie bei der Gestaltung der Berechtigungsstufen für mehrere Instanzgruppen bevorzugen, können Sie auch mehrere IAM-Rollen einrichten und sie verschiedenen Instanzgruppen zuordnen. Wenn Sie Ihren Cluster-Benutzerzugriff auf bestimmte SageMaker HyperPod Clusterknoten einrichten, übernehmen die Knoten die Rolle mit den ausgewählten Berechtigungen, die Sie manuell zugewiesen haben.

Wenn Sie den Zugriff für Wissenschaftler auf bestimmte Clusterknoten einrichten AWS Systems Manager(siehe auchEinrichtung AWS Systems Manager und „Run As“ für die Cluster-Benutzerzugriffskontrolle), übernehmen die Clusterknoten die Rolle mit den selektiven Berechtigungen, die Sie manuell zuweisen.

Wenn Sie mit der Erstellung der IAM-Rollen fertig sind, notieren Sie sich deren Namen und ARNs. Sie verwenden die Rollen beim Erstellen eines SageMaker HyperPod Clusters und gewähren dabei jeder Instanzgruppe die richtigen Berechtigungen, um mit den erforderlichen AWS Ressourcen zu kommunizieren.

Slurm

Für „ HyperPod Orchestrated with Slurm“ müssen Sie die folgende verwaltete Richtlinie an die SageMaker HyperPod IAM-Rolle anhängen.

(Optional) Zusätzliche Berechtigungen für die Verwendung SageMaker HyperPod mit Amazon Virtual Private Cloud

Wenn Sie Ihre eigene Amazon Virtual Private Cloud (VPC) anstelle der standardmäßigen SageMaker KI-VPC verwenden möchten, sollten Sie der IAM-Rolle für die folgenden zusätzlichen Berechtigungen hinzufügen. SageMaker HyperPod

{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DetachNetworkInterface" ], "Resource": "*" } { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] }

In der folgenden Liste ist aufgeführt, welche Berechtigungen erforderlich sind, um SageMaker HyperPod Cluster-Funktionen zu aktivieren, wenn Sie den Cluster mit Ihrer eigenen Amazon VPC konfigurieren.

  • Die folgenden ec2 Berechtigungen sind erforderlich, um die Konfiguration eines SageMaker HyperPod Clusters mit Ihrer VPC zu ermöglichen.

    { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }
  • Die folgende ec2 Berechtigung ist erforderlich, um die SageMaker HyperPod automatische Wiederaufnahmefunktion zu aktivieren.

    { "Effect": "Allow", "Action": [ "ec2:DetachNetworkInterface" ], "Resource": "*" }
  • Die folgende ec2 Berechtigung ermöglicht SageMaker HyperPod das Erstellen von Tags auf den Netzwerkschnittstellen in Ihrem Konto.

    { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] }
Amazon EKS

Für die HyperPod Orchestrierung mit Amazon EKS müssen Sie die folgenden verwalteten Richtlinien an die SageMaker HyperPod IAM-Rolle anhängen.

Fügen Sie der Rolle zusätzlich zu den verwalteten Richtlinien die folgende Berechtigungsrichtlinie hinzu.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssignPrivateIpAddresses", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DetachNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute", "ec2:UnassignPrivateIpAddresses", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer", "eks-auth:AssumeRoleForPodIdentity" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] } ] }
Anmerkung

Die "eks-auth:AssumeRoleForPodIdentity" Erlaubnis ist optional. Sie ist erforderlich, wenn Sie EKS Pod Identity verwenden möchten.

SageMaker HyperPod Mit dem Dienst verknüpfte Rolle

HyperPod Erstellt für Amazon EKS-Unterstützung in SageMaker HyperPod eine serviceverknüpfte Rolle mit AWS verwaltete Richtlinie: AmazonSageMakerHyperPodServiceRolePolicy zur Überwachung und Unterstützung der Resilienz Ihres EKS-Clusters, z. B. zum Ersetzen von Knoten und zum Neustarten von Jobs.

IAM-Richtlinien für Amazon EKS