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.
Berechtigungen einrichten
Erforderliche Rollen Add-on und ihre Abhängigkeiten
Erforderliche IAM-Rollen für SageMaker Spaces on SageMaker HyperPod
Bei der Aktivierung SageMaker von Spaces-Funktionen (auch bekannt als SageMaker IDE/Notebooks) auf einem SageMaker HyperPod (EKS) -Cluster müssen mehrere IAM-Rollen erstellt und zugewiesen werden. Diese Rollen unterstützen sicheren Zugriff, Routing, Remote-IDE-Sitzungen und EBS-Speicherbereitstellung. Die folgende Tabelle fasst die vier Rollen zusammen und gibt an, wann sie benötigt werden.
Tabelle mit der Zusammenfassung der Rollen
| IAM Role (IAM-Rolle) | Erforderlich? | Zweck | Wer benutzt sie? | Ist die Anpassung durch die SageMaker Konsole zulässig? |
|---|---|---|---|---|
|
Rolle „Spaces“: Add-on Ausführung |
Immer erforderlich |
Ermöglicht dem Spaces-Controller, Spaces zu verwalten, vorsignierte URLs zu generieren und SSM-Sitzungen zu verwalten |
Add-on Controller-Pod (privilegiert) |
✔ Ja |
|
In-Cluster Router-Rolle |
Erforderlich für den WebUI-Zugriff |
Ermöglicht dem Router-Pod die Durchführung von KMS-Vorgängen für die JWT-Signatur (WebUI-Authentifizierung) |
In-cluster Router-Pod (privilegiert) |
✔ Ja |
|
Rolle „Von SSM verwaltete Instanz“ |
Erforderlich für den Remote-IDE-Zugriff |
Wird vom SSM Agent Sidecar für SSH-over-SSM Remote-IDE-Sitzungen verwendet |
SSM Agent in Space IDE Pods (kein zusätzlicher Pod) |
✔ Ja |
|
IAM-Rolle für den EBS-CSI-Treiber Add-on |
Immer erforderlich |
Ermöglicht dem EBS-CSI-Treiber das create/attach /modifizieren von Volumes für Spaces-Workloads |
EBS-CSI-Treiber Add-on |
Automatisch erstellt |
|
IAM-Rolle für externes DNS Add-on |
Erforderlich für den WebUI-Zugriff |
Es stellt sicher, dass Space-Endpunkten und Cluster-internen Komponenten automatisch DNS-Namen in den vom Kunden gehosteten Route 53-Zonen zugewiesen werden können. |
Externes DNS Add-on |
Automatisch erstellt |
1. Add-on Spaces-Ausführungsrolle (erforderlich)
Die Add-on Spaces-Ausführungsrolle ist immer erforderlich, da sie vom SageMaker Spaces-Addon-Controller-Pod verwendet wird, einer Verwaltungskomponente, die über das EKS-Add-on installiert wird. Diese Rolle ermöglicht es dem Controller, Spaces zu verwalten, Ressourcen bereitzustellen, mit SSM zu interagieren und vorsignierte URLs sowohl für den Remote-IDE- als auch für den WebUI-Zugriff zu generieren. Es unterstützt auch den KMS-Zugriff, der für das Signieren von Anfragen zur Authentifizierung der WebUI-HTTPS-Anfragen verwendet wird. Diese Rolle kann automatisch erstellt werden, wenn das SageMaker Spaces-Add-on über die Konsole installiert wird. SageMaker AWS Stellt für die manuelle Erstellung die AmazonSageMakerSpacesControllerPolicy verwaltete Richtlinie bereit.
Referenz-Vertrauensrichtlinie
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "aws:SourceAccount": "{{accountId}}", "aws:SourceArn": "arn:aws:eks:{{region}}:{{accountId}}:cluster/{{eksClusterName}}" } } } ] }
2. In-Cluster Router-Rolle (erforderlich für die WebUI-Authentifizierung)
Die In-Cluster Router-Rolle wird vom Router-Pod verwendet, einer privilegierten Komponente, die Spaces WebUI-Sitzungen authentifiziert. Der Router verwendet einen KMS-Schlüssel, um JWT-Token zu erstellen und zu signieren, die den Benutzerzugriff auf bestimmte Spaces autorisieren. Diese Rolle ermöglicht es dem Router-Pod, Datenschlüssel zu generieren und sie zu entschlüsseln. Ähnlich wie die Controller-Rolle erzwingt sie die Sicherheit mithilfe von Tag- und Cluster-basierten Bereichsbeschränkungen. Diese Rolle kann automatisch generiert werden, wenn das Spaces-Add-on über die AWS SageMaker Konsole installiert wird. Kunden können sie jedoch manuell erstellen.
Referenz-Vertrauensrichtlinie
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "pods.eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ], "Condition": { "StringEquals": { "aws:SourceAccount": "{{accountId}}", "aws:SourceArn": "arn:aws:eks:{{region}}:{{accountId}}:cluster/{{eksClusterName}}" } } } ] }
Richtlinie für Referenzberechtigungen
{ "Version": "2012-10-17", "Statement": [ { "Sid": "KMSDescribeKey", "Effect": "Allow", "Action": [ "kms:DescribeKey" ], "Resource": "arn:aws:kms:{{region}}:{{accountId}}:key/{{kmsKeyId}}" }, { "Sid": "KMSKeyOperations", "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:{{region}}:{{accountId}}:key/{{kmsKeyId}}", "Condition": { "StringEquals": { "kms:EncryptionContext:sagemaker:component": "amazon-sagemaker-spaces", "kms:EncryptionContext:sagemaker:eks-cluster-arn": "${aws:PrincipalTag/eks-cluster-arn}" } } } ] }
3. Rolle „Von SSM verwaltete Instanz“ (erforderlich für Remote-IDE-Zugriff)
Die Rolle der von SSM verwalteten Instanz wird bei der Registrierung der von SSM verwalteten Instanz zur Aktivierung des IDE-Remotezugriffs übergeben. Diese Rolle ermöglicht es dem SSM-Agenten, den Pod als von SSM verwaltete Instanz zu registrieren und die SSM Session Manager-Kanäle für die Remote-IDE () -Konnektivität zu verwenden. SSH-over-SSM Es kann automatisch erstellt werden, wenn Sie die Konsole verwenden. AWS
SageMaker Für manuelle Bereitstellungen müssen Kunden diese Rolle erstellen und sie dem Spaces-Add-on zur Verfügung stellen. Der Controller-Pod selbst übernimmt diese Rolle nicht; er stellt sie nur beim Aufruf ssm:CreateActivation zur Verfügung.
Referenzieren Sie die Vertrauensrichtlinie
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "{{account}}" }, "ArnEquals": { "aws:SourceArn": "arn:aws:ssm:{{region}}:{{account}}:*" } } } ] }
Richtlinie für Referenzberechtigungen
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:DescribeAssociation" ], "Resource": [ "arn:aws:ssm:{{region}}:{{account}}:association/*", "arn:aws:ssm:{{region}}:{{account}}:document/*", "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:GetDocument", "ssm:DescribeDocument" ], "Resource": "arn:aws:ssm:{{region}}:{{account}}:document/*" }, { "Effect": "Allow", "Action": [ "ssm:GetParameter", "ssm:GetParameters" ], "Resource": "arn:aws:ssm:{{region}}:{{account}}:parameter/*" }, { "Effect": "Allow", "Action": [ "ssm:ListInstanceAssociations" ], "Resource": [ "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:PutComplianceItems" ], "Resource": [ "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:UpdateAssociationStatus" ], "Resource": [ "arn:aws:ssm:{{region}}:{{account}}:document/*", "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:UpdateInstanceAssociationStatus" ], "Resource": [ "arn:aws:ssm:{{region}}:{{account}}:association/*", "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:UpdateInstanceInformation" ], "Resource": [ "arn:aws:ec2:{{region}}:{{account}}:instance/*", "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" ] }, { "Effect": "Allow", "Action": [ "ssm:GetDeployablePatchSnapshotForInstance", "ssm:GetManifest", "ssm:ListAssociations", "ssm:PutInventory", "ssm:PutConfigurePackageResult" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssmmessages:CreateControlChannel", "ssmmessages:CreateDataChannel", "ssmmessages:OpenControlChannel", "ssmmessages:OpenDataChannel" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2messages:AcknowledgeMessage", "ec2messages:DeleteMessage", "ec2messages:FailMessage", "ec2messages:GetEndpoint" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2messages:GetMessages", "ec2messages:SendReply" ], "Resource": "*", "Condition": { "ArnLike": { "ssm:SourceInstanceARN": "arn:aws:ssm:{{region}}:{{account}}:managed-instance/*" } } } ] }
4. IAM-Rolle für den EBS-CSI-Treiber Add-on
Die IAM-Rolle für den EBS-CSI-Treiber ist erforderlich, da der EBS-CSI-Treiber persistente Volumes für Spaces-Workloads bereitstellt. Die Option AWS-managed AmazonEBSCSIDriverPolicy bietet zwar grundlegende Berechtigungen, für SageMaker HyperPod Cluster sind jedoch zusätzliche Funktionen erforderlich, z. B. das Erstellen schneller Snapshot-Wiederherstellungen, das Taggen von Cluster-eigenen Volumes und Volumes für Knoten. attaching/detaching HyperPod-managed Zu diesen Berechtigungen gehören auch APIs wie SageMaker-specific . sagemaker:AttachClusterNodeVolume Wenn der EBS-CSI-Treiber nicht installiert ist, wird diese Rolle jetzt bei der Installation des Spaces-Add-ons automatisch von der SageMaker Konsole erstellt, sodass kein Eingreifen des Kunden erforderlich ist.
5. IAM-Rolle für externes DNS Add-on
Das External DNS-Add-on verwaltet DNS-Einträge für Services und Ingress-Ressourcen auf dem HyperPod Cluster. Es stellt sicher, dass Space-Endpunkten und clusterinternen Komponenten automatisch DNS-Namen in den vom Kunden gehosteten Route 53-Zonen zugewiesen werden können. Heutzutage installieren Kunden External DNS häufig manuell über eine 1-Klick-Option in der EKS-Konsole. Im Rahmen der Verbesserung des SageMaker Spaces-Erlebnisses wird diese Rolle nun bei der Installation des Spaces-Add-ons automatisch von der SageMaker Konsole erstellt, sodass kein Eingreifen des Kunden erforderlich ist.
Voraussetzungen für Direct SSH
Direct SSH erfordert die folgenden Infrastrukturvoraussetzungen. Wenn der Webbrowser-Zugriff auf Ihrem Cluster bereits aktiviert ist, sind diese Voraussetzungen bereits erfüllt. Weitere Informationen zum Webbrowser-Zugriff finden Sie unterZugriff über den Webbrowser.
-
ExternalDNS — wird über EKS-Add-Ons mit einer IAM-Rolle bereitgestellt, die über Route 53-Berechtigungen verfügt. Konfigurieren Sie ExternalDNS mit
--policy=sync(nicht der Standardeinstellungupsert-only), sodass ExternalDNS DNS-Einträge entfernt, wenn Sie einen Workspace löschen. -
Amazon Route 53 Private Hosted Zone — eine Domain oder Subdomain, die Ihnen gehört, in Route 53 registriert und mit der Cluster-VPC verknüpft ist.
-
VPC-Konnektivität von Client-Computern — VPN oder AWS Direktverbindung von Client-Computern zur Cluster-VPC. Da Direct SSH den Port auf der privaten IP-Adresse des Pods innerhalb der VPC verfügbar macht, können Sie nur dann eine Verbindung herstellen, wenn Ihr Client-Computer über dieselbe VPC, VPC-Peering, ein VPN oder Direct Connect eine Netzwerkkonnektivität zu dieser VPC hat.
-
AWS Load Balancer Controller — erforderlich, wenn Sie auch den Webbrowser-Zugriff (ALB-Ingress) verwenden. Hinweise zur HyperPod-specific Installation finden Sie unter. AWS Load Balancer Controller: HyperPod vpCID-Anforderung
Ausführliche Anweisungen zur Einrichtung und Überprüfung finden Sie unter(Optional) Voraussetzungen einrichten.
Einrichtung von Berechtigungen für AWS Toolkit für den Zugriff auf Bereiche SageMaker
Damit das Seitenfenster des AWS VS Code Toolkit-Ressourcen-Explorers SageMaker Spaces erkennen und eine Verbindung zu ihnen herstellen kann, sind die folgenden IAM-Berechtigungen erforderlich. Diese Berechtigungen ermöglichen es dem Toolkit, verfügbare SageMaker HyperPod Cluster aufzulisten, Cluster-Details abzurufen und ein Verbindungstoken für den zugehörigen Amazon EKS-Cluster abzurufen.
Erforderliche IAM-Richtlinie
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SageMakerListClusters", "Effect": "Allow", "Action": "sagemaker:ListClusters", "Resource": "*" }, { "Sid": "SageMakerDescribeCluster", "Effect": "Allow", "Action": "sagemaker:DescribeCluster", "Resource": "arn:aws:sagemaker:{{region}}:{{account}}:cluster/cluster-name" }, { "Sid": "EksDescribeCluster", "Effect": "Allow", "Action": "eks:DescribeCluster", "Resource": "arn:aws:eks:{{region}}:{{account}}:cluster/cluster-name" }, { "Sid": "EksGetToken", "Effect": "Allow", "Action": "eks:GetToken", "Resource": "*" } ] }
Empfehlungen zur Festlegung des Geltungsbereichs
-
Ersetzen Sie den Clusternamen durch die spezifischen SageMaker HyperPod Cluster, auf die Ihre Benutzer zugreifen müssen.
-
Die GetToken Aktion eks: unterstützt derzeit keine Einschränkungen auf Ressourcenebene und muss Resource: „*“ verwenden. Dies ist eine Dienstbeschränkung AWS . Die clientseitige Authentifizierung erfolgt über EKS-Zugangseinträge.