

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.

# Bewährte Sicherheitsmethoden für den HyperPod Ray Endpoint Operator
<a name="sagemaker-hyperpod-ray-endpoint-operator-security"></a>

Die folgenden Best Practices helfen Ihnen dabei, Ihre HyperPod Ray Endpoint Operator-Bereitstellung zu sichern. Installationsanweisungen finden Sie unter [Den HyperPod Ray Endpoint Operator installieren](sagemaker-hyperpod-ray-endpoint-operator.md).

## Konfigurieren Sie die KMS-Signatur
<a name="sagemaker-hyperpod-ray-endpoint-operator-security-kms"></a>

Wir empfehlen, den HyperPod Ray Endpoint Operator mit einem AWS KMS Schlüssel zu installieren, sodass JWT-Signaturschlüssel von und AWS KMS nicht lokal generiert werden. Dies bietet einen Out-of-Band-Sperrmechanismus: Sie können den AWS KMS Schlüssel deaktivieren, um alle Sitzungen ungültig zu machen, ohne dass ein Cluster-Zugriff erforderlich ist. CloudTrail zeichnet außerdem jedes Ereignis bei der Schlüsselgenerierung auf, sodass Sie anhand eines Prüfprotokolls das Signieren von Schlüsselrotationen nachvollziehen können. Anweisungen zur Einrichtung finden Sie unter[Richten Sie die KMS-Signatur ein (empfohlen)](sagemaker-hyperpod-ray-endpoint-operator.md#sagemaker-hyperpod-ray-endpoint-operator-kms-setup).

## Teilen Sie keine vorsignierten URLs
<a name="sagemaker-hyperpod-ray-endpoint-operator-security-presigned-urls"></a>

Eine vorsignierte URL gewährt authentifizierten Zugriff auf das Dashboard eines Ray-Clusters, das Job-Logs, Skripte, Metriken und Umgebungsvariablen enthält. Jeder mit der URL kann auf das Dashboard zugreifen, bis das Token abläuft. Das in die URL eingebettete Token ist 15 Minuten lang gültig. Wenn innerhalb dieses Fensters auf die URL zugegriffen wird, bleibt die resultierende Sitzung bis zu 6 Stunden gültig, sofern Sie nicht alle Sitzungen widerrufen.

Sowohl das Token als auch das Sitzungscookie sind auf den öffentlichen Endpunkt eines einzelnen Clusters beschränkt und können nicht für den Zugriff auf andere Cluster über den authentifizierten Pfad des HyperPod Ray Endpoint Operators verwendet werden.

## Speichern Sie keine Geheimnisse in Ray-Job-Umgebungsvariablen
<a name="sagemaker-hyperpod-ray-endpoint-operator-security-secrets"></a>

Umgebungsvariablen und Einstiegspunkt-Skripts sind über das Ray-Dashboard sichtbar. Verwenden Sie stattdessen Kubernetes Secrets oder Secrets Manager. Weitere Informationen finden Sie unter [ Was ist? AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)im *AWS Secrets Manager Benutzerhandbuch*.

## Verwenden Sie sagemaker\_ray://für die programmatische Einreichung von Jobs
<a name="sagemaker-hyperpod-ray-endpoint-operator-security-sagemaker-ray"></a>

Das `sagemaker_ray://` Adressschema verarbeitet die Authentifizierung, ohne dass eine URL in der Terminalausgabe oder in den Protokollen preisgegeben wird. Die Python-Bibliothek [ toolkit-for-ray-on-sagemaker-ai auf der PyPI-Website registriert dieses Schema, sodass sich die Standard-Jobs-CLI und das ](https://pypi.org/project/toolkit-for-ray-on-sagemaker-ai/) Python-SDK von Ray über den gesicherten Endpunkt des Clusters authentifizieren. Die Bibliothek ist in AI Distribution-Images vorinstalliert. SageMaker Weitere Informationen finden Sie unter [Senden von Aufträgen aus der Ferne mit der Toolkit-Bibliothek](sagemaker-hyperpod-ray-remote-job-submission.md).

```
ray job submit --address "sagemaker_ray://{{cluster-name}}/{{namespace}}" -- python train.py
```

## Beschränken Sie den clusterinternen Zugriff auf Ray-Dashboards
<a name="sagemaker-hyperpod-ray-endpoint-operator-security-in-cluster"></a>

Der HyperPod Ray Endpoint Operator authentifiziert den Zugriff über den öffentlichen Endpunkt, aber auf den Ray-Dashboard-Port (8265) des Head-Service kann vom Cluster-Netzwerk aus ohne Authentifizierung zugegriffen werden. Um den Dashboard-Zugriff von Nicht-Ray-Workloads aus einzuschränken, aktivieren Sie den Kubernetes-RBAC-Authentifizierungsmodus von Ray (und auf dem Head-Container). `RAY_AUTH_MODE=token` `RAY_ENABLE_K8S_TOKEN_AUTH=true` Dies erfordert Ray 2.55 oder höher und 1.6 oder höher. KubeRay Wenn diese Option aktiviert ist, lehnt der Ray-Head Anfragen ab, die kein gültiges ServiceAccount Kubernetes-Token mit Genehmigung enthalten. `ray:write` Weitere Informationen finden Sie unter [ KubeRay RBAC-Konfiguration ](https://docs.ray.io/en/latest/cluster/kubernetes/user-guides/helm-chart-rbac.html) in der Ray-Dokumentation.

Um eine stärkere Isolierung zwischen Benutzern zu erreichen, die sich einen Cluster teilen, sollten Sie die Bereitstellung RayClusters in separaten Namespaces durchführen und diese Option anwenden NetworkPolicies , um den Zugriff auf Port 8265 nur auf Traefik-Pods im Operator-Namespace () zu beschränken. `hyperpod-ray` Dazu ist ein CNI-Plug-In erforderlich, das dies NetworkPolicies durchsetzt, z. B. das Amazon VPC CNI mit. `ENABLE_NETWORK_POLICY=true` Weitere Informationen finden Sie unter [ Kubernetes-Netzwerkrichtlinien ](https://docs.aws.amazon.com/eks/latest/userguide/cni-network-policy.html) im Amazon EKS-Benutzerhandbuch. * *

Beschränken Sie außerdem die RBAC-Berechtigungen für Endbenutzer. Verweigern Sie Folgendes:
+ `pods/portforward`auf Ray Head Pods
+ `pods/exec`kein Operator oder Traefik-Pods
+ `create`ein oder `roles` `rolebindings`
+ `get` auf `secrets`
+ `impersonate`auf Dienstkonten

Weitere Informationen zu Kubernetes RBAC finden Sie unter [ Identitäts- und Zugriffsmanagement ](https://docs.aws.amazon.com/eks/latest/userguide/security-iam.html) im * Amazon EKS-Benutzerhandbuch. *

## Verwenden Sie eindeutige Sitzungsnamen für gemeinsam genutzte Ausführungsrollen
<a name="sagemaker-hyperpod-ray-endpoint-operator-security-session-names"></a>

Der HyperPod Ray Endpoint Operator identifiziert Benutzer anhand ihres vollständigen IAM-Prinzipal-ARN, der den Namen der Rollensitzung enthält (z. B.`arn:aws:sts::123456789012:assumed-role/DataScientist/alice`). Wenn mehrere Benutzer dieselbe IAM-Rolle mit demselben Sitzungsnamen übernehmen, kann der Operator sie nicht unterscheiden und behandelt sie als dieselbe Identität.

Um die Zugriffskontrolle pro Benutzer zu aktivieren, wenn Benutzer eine Ausführungsrolle gemeinsam nutzen, konfigurieren Sie für jeden Benutzer eindeutige Sitzungsnamen. Weitere Informationen finden Sie unter [ sts: RoleSessionName ](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_rolesessionname) im * IAM-Benutzerhandbuch. *

## Sperrung von Sitzungen
<a name="sagemaker-hyperpod-ray-endpoint-operator-security-revoke"></a>

Führen Sie die folgenden Befehle aus, um alle Sitzungen zu widerrufen (Clusterzugriff erforderlich). Dadurch werden Sitzungen für alle Benutzer auf allen Ray-Clustern im Amazon EKS-Cluster ungültig.

```
kubectl patch secret hyperpod-ray-endpoint-operator-extensionapi-jwt-secret \
  -n hyperpod-ray --type merge -p '{"data":null}'

kubectl create job --from=cronjob/hyperpod-ray-endpoint-operator-jwt-rotator \
  manual-rotate -n hyperpod-ray
```

Um alle Sitzungen über zu widerrufen AWS KMS (kein Cluster-Zugriff erforderlich), deaktivieren Sie den AWS KMS Schlüssel im AWS-Managementkonsole oder verwenden Sie den AWS CLI. Weitere Informationen finden Sie unter Schlüssel [ aktivieren und deaktivieren ](https://docs.aws.amazon.com/kms/latest/developerguide/enabling-keys.html) im *AWS KMS Entwicklerhandbuch*.

```
aws kms disable-key --key-id {{key-id}}
```

Bestehende Signaturschlüssel laufen innerhalb von 30 Minuten ab. Aktive Sitzungen, die mit den vorherigen Signaturschlüsseln eingerichtet wurden, bleiben gültig, bis diese Schlüssel durch die Rotation ungültig werden. Nachdem der Rotator neue Schlüssel generiert hat, können Sitzungen, die mit den alten Schlüsseln signiert wurden, nicht mehr verifiziert werden und werden effektiv widerrufen.

## Überprüfen Sie den Zugriff auf das Dashboard
<a name="sagemaker-hyperpod-ray-endpoint-operator-security-audit"></a>

Wir empfehlen Ihnen, das Amazon CloudWatch Observability Amazon EKS-Add-on für die Erfassung und Aufbewahrung von Protokollen zu installieren. Weitere Informationen finden [ Sie unter Installieren des CloudWatch Observability EKS-Add-ons ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Observability-EKS-addon.html) im * CloudWatch Amazon-Benutzerhandbuch. *

Der HyperPod Ray Endpoint Operator schreibt Zugriffsprotokolle `/aws/containerinsights/{{eks-cluster-name}}/application` aus dem `authmiddleware` Container in. Suchen Sie nach:
+ `"Session established"`— wird protokolliert, wenn ein JWT-Token erfolgreich gegen ein Sitzungscookie ausgetauscht wird.
+ `"cluster accessed"`— wird bei jeder nachfolgenden Anfrage, die das Sitzungscookie verwendet, protokolliert.

## Halte das Helm-Diagramm auf dem neuesten Stand
<a name="sagemaker-hyperpod-ray-endpoint-operator-security-helm-updates"></a>

**Wichtig**  
Das bereitgestellte Diagramm erhält nicht automatisch Sicherheitsupdates. Sie müssen ein manuelles Upgrade auf ein neueres Diagramm durchführen, sobald es verfügbar ist.

Wir empfehlen Ihnen, das HyperPod Ray Endpoint Operator Helm-Diagramm regelmäßig auf die neueste Version zu aktualisieren, um sicherzustellen, dass Sie über die neuesten Sicherheitsupdates und Verbesserungen verfügen. Wechseln Sie beim Upgrade `upgrade` im Helm-Befehl `install` zu:

```
helm upgrade --install hyperpod-ray-endpoint-operator \
  ./helm_chart/HyperPodHelmChart/charts/hyperpod-ray-endpoint-operator \
  --namespace hyperpod-ray \
  --set region={{region}} \
  --set domain={{your-route53-domain}} \
  --set manager.enableEndpointsByDefault={{true|false}} \
  --set kmsKeyArn="arn:aws:kms:{{region}}:{{account-id}}:key/{{key-id}}"
```