View a markdown version of this page

Melhores práticas de segurança para o HyperPod Ray Endpoint Operator - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Melhores práticas de segurança para o HyperPod Ray Endpoint Operator

As práticas recomendadas a seguir ajudam você a proteger sua implantação do HyperPod Ray Endpoint Operator. Para obter instruções de instalação, consulte Instalando o HyperPod Ray Endpoint Operator.

Configurar a assinatura KMS

Recomendamos que você instale o HyperPod Ray Endpoint Operator com uma AWS KMS chave para que as chaves de assinatura do JWT sejam geradas AWS KMS em vez de localmente. Isso fornece um mecanismo de revogação fora de banda: você pode desativar a AWS KMS chave para invalidar todas as sessões sem precisar de acesso ao cluster. CloudTrail também registra cada evento de geração de chaves, fornecendo uma trilha de auditoria para assinar rotações de chaves. Consulte Configurar a assinatura KMS (recomendado) para obter instruções de configuração.

Não compartilhe URLs pré-assinadas

Um URL pré-assinado concede acesso autenticado ao painel de um cluster Ray, que inclui registros de tarefas, scripts, métricas e variáveis de ambiente. Qualquer pessoa com o URL pode acessar o painel até que o token expire. O token incorporado na URL é válido por 15 minutos. Se o URL for acessado nessa janela, a sessão resultante permanecerá válida por até 6 horas, a menos que você revogue todas as sessões.

Tanto o token quanto o cookie de sessão têm como escopo o endpoint público de um único cluster e não podem ser usados para acessar outros clusters por meio do caminho autenticado do HyperPod Ray Endpoint Operator.

Não armazene segredos nas variáveis do ambiente de trabalho do Ray

As variáveis de ambiente e os scripts de ponto de entrada são visíveis por meio do painel do Ray. Em vez disso, use o Kubernetes Secrets ou o Secrets Manager. Para obter mais informações, consulte O que é AWS Secrets Manager? no Guia do AWS Secrets Manager usuário.

Use sagemaker_ray://para envio programático de trabalhos

O esquema sagemaker_ray:// de endereço gerencia a autenticação sem expor um URL na saída ou nos registros do terminal. A biblioteca Python toolkit-for-ray-on-sagemaker-ai no site do PyPI registra esse esquema, então o Jobs CLI padrão do Ray e o SDK do Python são autenticados por meio do endpoint seguro do cluster. A biblioteca está pré-instalada nas imagens do SageMaker AI Distribution. Para obter mais informações, consulte Enviando trabalhos remotamente com a biblioteca do kit de ferramentas.

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

Restrinja o acesso no cluster aos painéis do Ray

O HyperPod Ray Endpoint Operator autentica o acesso por meio do endpoint público, mas a porta do painel Ray (8265) no serviço principal pode ser acessada de dentro da rede do cluster sem autenticação. Para limitar o acesso ao painel de cargas de trabalho que não são do Ray, ative o modo de autenticação RBAC do Kubernetes do Ray (RAY_AUTH_MODE=tokene no contêiner principal). RAY_ENABLE_K8S_TOKEN_AUTH=true Isso requer Ray 2.55 ou posterior e KubeRay 1.6 ou posterior. Quando ativado, o cabeçalho do Ray rejeita solicitações que não tenham um token Kubernetes ServiceAccount válido com permissão. ray:write Para obter mais informações, consulte a configuração KubeRay do RBAC na documentação do Ray.

Para um isolamento mais forte entre usuários que compartilham um cluster, implante RayClusters em namespaces separados e aplique NetworkPolicies essa entrada restrita na porta 8265 somente aos pods Traefik no namespace do operador (). hyperpod-ray Isso requer um plug-in CNI que imponha NetworkPolicies, como o CNI do Amazon VPC com. ENABLE_NETWORK_POLICY=true Para obter mais informações, consulte as políticas de rede do Kubernetes no Guia do usuário do Amazon EKS.

Além disso, reduza as permissões de RBAC para usuários finais. Negue o seguinte:

  • pods/portforwardem cápsulas Ray Head

  • pods/execno operador ou nos pods Traefik

  • createem roles ou rolebindings

  • get na secrets

  • impersonateem contas de serviço

Para obter mais informações sobre o Kubernetes RBAC, consulte Gerenciamento de identidade e acesso no Guia do usuário do Amazon EKS.

Use nomes de sessão exclusivos para funções de execução compartilhadas

O HyperPod Ray Endpoint Operator identifica os usuários pelo ARN principal completo do IAM, que inclui o nome da sessão da função (por exemplo,). arn:aws:sts::123456789012:assumed-role/DataScientist/alice Se vários usuários assumirem a mesma função do IAM com o mesmo nome de sessão, o operador não conseguirá diferenciá-los e os tratará como a mesma identidade.

Para ativar o controle de acesso por usuário quando os usuários compartilham uma função de execução, configure nomes de sessão exclusivos para cada usuário. Para obter mais informações, consulte sts: RoleSessionName no Guia do usuário do IAM.

Revogando sessões

Para revogar todas as sessões (requer acesso ao cluster), execute os seguintes comandos. Isso invalida as sessões para todos os usuários em todos os clusters Ray no 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

Para revogar todas as sessões por meio de AWS KMS (sem necessidade de acesso ao cluster), desative a AWS KMS chave no Console de gerenciamento da AWS ou usando o. AWS CLI Para obter mais informações, consulte Habilitar e desabilitar chaves no AWS KMS Guia do desenvolvedor do .

aws kms disable-key --key-id key-id

As chaves de assinatura existentes expiram em 30 minutos. As sessões ativas que foram estabelecidas com as chaves de assinatura anteriores permanecem válidas até que essas chaves sejam invalidadas pela rotação. Depois que o rotador gera novas chaves, as sessões assinadas pelas chaves antigas não podem mais ser verificadas e são efetivamente revogadas.

Acesso ao painel de auditoria

Recomendamos que você instale o complemento Amazon EKS do Amazon CloudWatch Observability para coleta e retenção de registros. Para obter mais informações, consulte Instalar o complemento CloudWatch Observability EKS no Guia do CloudWatch usuário da Amazon.

O HyperPod Ray Endpoint Operator grava registros de acesso a /aws/containerinsights/eks-cluster-name/application partir do authmiddleware contêiner. Pesquisar por:

  • "Session established"— registrado quando um token JWT é trocado com sucesso por um cookie de sessão.

  • "cluster accessed"— logado em cada solicitação subsequente que usa o cookie de sessão.

Mantenha o gráfico do Helm atualizado

Importante

O gráfico implantado não recebe atualizações de segurança automaticamente. Você deve atualizar manualmente para um gráfico mais novo quando ele estiver disponível.

Recomendamos que você atualize rotineiramente para a versão mais recente do gráfico HyperPod Ray Endpoint Operator Helm para garantir que você tenha as correções e melhorias de segurança mais recentes. Ao atualizar, mude install para upgrade no comando Helm:

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"