Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Le migliori pratiche di sicurezza per Ray Endpoint HyperPod Operator
Le seguenti best practice consentono di proteggere l'implementazione di Ray Endpoint Operator HyperPod . Per le istruzioni di installazione, consulta Installazione di HyperPod Ray Endpoint Operator.
Configura la firma KMS
Si consiglia di installare HyperPod Ray Endpoint Operator con una AWS KMS chiave in modo che le chiavi di firma JWT vengano generate da AWS KMS anziché localmente. Ciò fornisce un meccanismo di revoca fuori banda: è possibile disabilitare la AWS KMS chiave per invalidare tutte le sessioni senza richiedere l'accesso al cluster. CloudTrail registra inoltre ogni evento di generazione delle chiavi, fornendo una pista di controllo per la firma delle rotazioni delle chiavi. Per le istruzioni di configurazione, vedereConfigura la firma KMS (scelta consigliata).
Non condividere URL prefirmati
Un URL prefirmato garantisce l'accesso autenticato alla dashboard di un cluster Ray, che include registri di lavoro, script, metriche e variabili di ambiente. Chiunque disponga dell'URL può accedere alla dashboard fino alla scadenza del token. Il token incorporato nell'URL è valido per 15 minuti. Se si accede all'URL all'interno di quella finestra, la sessione risultante rimane valida per un massimo di 6 ore a meno che non revochi tutte le sessioni.
Sia il token che il cookie di sessione hanno come ambito l'endpoint pubblico di un singolo cluster e non possono essere utilizzati per accedere ad altri cluster tramite il percorso autenticato di HyperPod Ray Endpoint Operator.
Non memorizzate i segreti nelle variabili di ambiente di lavoro di Ray
Le variabili di ambiente e gli script entrypoint sono visibili tramite la dashboard di Ray. Usa invece Kubernetes Secrets o Secrets Manager. Per ulteriori informazioni, vedi Che cos'è? AWS Secrets Managernella Guida AWS Secrets Manager per l'utente.
Usa sagemaker_ray://per l'invio programmatico dei lavori
Lo schema di sagemaker_ray:// indirizzi gestisce l'autenticazione senza esporre un URL nell'output o nei log del terminale. La libreria Python toolkit-for-ray-on-sagemaker-ai sul sito web
ray job submit --address "sagemaker_ray://cluster-name/namespace" -- python train.py
Limita l'accesso all'interno del cluster alle dashboard Ray
Il HyperPod Ray Endpoint Operator autentica l'accesso tramite l'endpoint pubblico, ma la porta Ray dashboard (8265) sul servizio principale è accessibile dall'interno della rete del cluster senza autenticazione. Per limitare l'accesso al dashboard da carichi di lavoro non Ray, abilita la modalità di autenticazione Kubernetes RBAC di Ray (e sul contenitore principale). RAY_AUTH_MODE=token RAY_ENABLE_K8S_TOKEN_AUTH=true Ciò richiede Ray 2.55 o successivo e 1.6 o successivo. KubeRay Quando è abilitato, Ray head rifiuta le richieste che non contengono un token ServiceAccount Kubernetes valido con autorizzazione. ray:write Per ulteriori informazioni, consultate la configurazione KubeRay RBAC nella documentazione di Ray.
Per un maggiore isolamento tra gli utenti che condividono un cluster, esegui il deployment RayClusters in namespace separati e applica NetworkPolicies questa limitazione dell'ingresso sulla porta 8265 ai soli pod Traefik nello spazio dei nomi degli operatori (). hyperpod-ray Ciò richiede un plug-in CNI che lo applichi, ad esempio Amazon VPC CNI with. NetworkPolicies ENABLE_NETWORK_POLICY=true Per ulteriori informazioni, consulta le politiche di rete Kubernetes nella Amazon EKS User Guide.
Inoltre, riduci l'ambito delle autorizzazioni RBAC per gli utenti finali. Nega quanto segue:
-
pods/portforwardsu Ray Head Pods -
pods/execsu pod operator o Traefik -
createrolessu orolebindings -
get-secrets -
impersonatesugli account di servizio
Per ulteriori informazioni su Kubernetes RBAC, consulta Gestione delle identità e degli accessi nella Amazon EKS User Guide.
Usa nomi di sessione univoci per i ruoli di esecuzione condivisi
Il HyperPod Ray Endpoint Operator identifica gli utenti in base al loro ARN principale IAM completo, che include il nome della sessione del ruolo (ad esempio,). arn:aws:sts::123456789012:assumed-role/DataScientist/alice Se più utenti assumono lo stesso ruolo IAM con lo stesso nome di sessione, l'operatore non può distinguerli e li tratta come la stessa identità.
Per abilitare il controllo dell'accesso per utente quando gli utenti condividono un ruolo di esecuzione, configura nomi di sessione univoci per ogni utente. Per ulteriori informazioni, consulta sts: RoleSessionName nella IAM User Guide.
Revoca delle sessioni
Per revocare tutte le sessioni (richiede l'accesso al cluster), esegui i seguenti comandi. Ciò invalida le sessioni per tutti gli utenti su tutti i cluster Ray del cluster Amazon EKS.
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
Per revocare tutte le sessioni tramite AWS KMS (non è richiesto l'accesso al cluster), disabilita la AWS KMS chiave in o utilizzando il Console di gestione AWS . AWS CLI Per ulteriori informazioni, consulta Abilitazione e disabilitazione delle chiavi nella Guida per gli AWS KMS sviluppatori.
aws kms disable-key --key-idkey-id
Le chiavi di firma esistenti scadono entro 30 minuti. Le sessioni attive stabilite con le chiavi di firma precedenti rimangono valide fino a quando tali chiavi non vengono invalidate dalla rotazione. Dopo che il rotatore ha generato nuove chiavi, le sessioni firmate con le vecchie chiavi non possono più essere verificate e vengono effettivamente revocate.
Accesso al pannello di controllo
Ti consigliamo di installare il componente aggiuntivo Amazon CloudWatch Observability Amazon EKS per la raccolta e la conservazione dei log. Per ulteriori informazioni, consulta Installare il componente aggiuntivo CloudWatch Observability EKS nella Amazon User Guide. CloudWatch
L'operatore HyperPod Ray Endpoint scrive i log di accesso /aws/containerinsights/ dal contenitore. eks-cluster-name/applicationauthmiddleware Cerca:
-
"Session established"— registrato quando un token JWT viene scambiato con successo con un cookie di sessione. -
"cluster accessed"— connesso a ogni richiesta successiva che utilizza il cookie di sessione.
Mantieni aggiornato il grafico di Helm
Importante
Il grafico distribuito non riceve automaticamente gli aggiornamenti di sicurezza. È necessario eseguire l'aggiornamento manuale a un grafico più recente quando sarà disponibile.
Ti consigliamo di eseguire regolarmente l'aggiornamento alla versione più recente del grafico HyperPod Ray Endpoint Operator Helm per assicurarti di disporre delle correzioni e dei miglioramenti di sicurezza più recenti. Durante l'aggiornamento, passate al comando Helm: install upgrade
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"