Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Usar autenticação PAM - Amazon EMR

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á.

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á.

Usar autenticação PAM

A criação de usuários do PAM JupyterHub no Amazon EMR é um processo de duas etapas. A primeira etapa é adicionar usuários ao sistema operacional em execução no contêiner jupyterhub no nó principal e adicionar um diretório inicial do usuário correspondente para cada usuário. A segunda etapa é adicionar esses usuários do sistema operacional como JupyterHub usuários — um processo conhecido como lista branca em. JupyterHub Depois que um JupyterHub usuário é adicionado, ele pode se conectar ao JupyterHub URL e fornecer suas credenciais do sistema operacional para acesso.

Quando um usuário faz login, JupyterHub abre a instância do servidor do notebook para esse usuário, que é salva no diretório inicial do usuário no nó principal, que é/var/lib/jupyter/home/username. Se uma instância do servidor do notebook não existir, JupyterHub gera uma instância do notebook no diretório inicial do usuário. As seções a seguir demonstram como adicionar usuários individualmente ao sistema operacional e ao sistema operacional JupyterHub, seguido por um script bash rudimentar que adiciona vários usuários.

Adicionar um usuário do sistema operacional ao contêiner

O exemplo a seguir usa primeiro o comando useradd dentro do contêiner para adicionar um único usuário, diego e criar um diretório inicial para esse usuário. O segundo comando usa chpasswd para estabelecer uma senha de diego para este usuário. Os comandos são executados na linha de comando do nó principal enquanto conectado usando SSH. Você também pode executar esses comandos usando uma etapa conforme descrito anteriormente em Administração por envio de etapas.

sudo docker exec jupyterhub useradd -m -s /bin/bash -N diego sudo docker exec jupyterhub bash -c "echo diego:diego | chpasswd"

Adicionando um JupyterHub usuário

Você pode usar o painel do administrador JupyterHub ou a API REST para adicionar usuários e administradores, ou apenas usuários.

Para adicionar usuários e administradores usando o painel de administração no JupyterHub
  1. Conecte-se ao nó principal usando SSH e faça login em https: //:9443 MasterNodeDNS com uma identidade que tenha permissões de administrador.

  2. Escolha Control Panel (Painel de Controle), Admin.

  3. Escolha User (Usuário), Add Users (Adicionar usuários) ou escolha Admin, Add Admins (Adicionar admins).

Para adicionar um usuário usando a API REST
  1. Conecte-se ao nó principal usando o SSH e use o seguinte comando no nó principal, ou execute o comando como uma etapa.

  2. Adquira um token administrativo para fazer solicitações de API e substitua-o AdminToken na etapa seguinte por esse token.

  3. Use o comando a seguir, UserName substituindo-o por um usuário do sistema operacional que tenha sido criado dentro do contêiner.

    curl -XPOST -H "Authorization: token AdminToken" "https://$(hostname):9443/hub/api/users/UserName
nota

Você é automaticamente adicionado como usuário JupyterHub não administrador ao fazer login na interface da JupyterHub web pela primeira vez.

Exemplo: script Bash para adicionar vários usuários

O exemplo de script bash a seguir reúne as etapas anteriores desta seção para criar vários JupyterHub usuários. O script pode ser executado diretamente no nó principal, ou pode ser carregado no Amazon S3 e, em seguida, executado como uma etapa.

O script primeiro estabelece uma matriz de nomes de usuário e usa o comando jupyterhub token para criar um token de API para o administrador padrão, jovyan. Em seguida, ele cria um usuário do sistema operacional no contêiner jupyterhub para cada usuário, atribuindo uma senha inicial a cada um que é igual ao seu nome de usuário. Por fim, ele chama a operação da API REST para criar cada usuário em JupyterHub. Ele transmite o token gerado anteriormente no script e envia a resposta REST para o jq para facilitar a visualização.

# Bulk add users to container and JupyterHub with temp password of username set -x USERS=(shirley diego ana richard li john mary anaya) TOKEN=$(sudo docker exec jupyterhub /opt/conda/bin/jupyterhub token jovyan | tail -1) for i in "${USERS[@]}"; do sudo docker exec jupyterhub useradd -m -s /bin/bash -N $i sudo docker exec jupyterhub bash -c "echo $i:$i | chpasswd" curl -XPOST --silent -k https://$(hostname):9443/hub/api/users/$i \ -H "Authorization: token $TOKEN" | jq done

Salve o script em um local do Amazon S3, como s3://amzn-s3-demo-bucket/createjupyterusers.sh. Em seguida, você pode usar o script-runner.jar para executá-lo como uma etapa.

Exemplo: executar o script ao criar um cluster (AWS CLI)

nota

Os caracteres de continuação de linha do Linux (\) são incluídos para facilitar a leitura. Eles podem ser removidos ou usados ​​em comandos do Linux. No Windows, remova-os ou substitua-os por um sinal de interpolação (^).

aws emr create-cluster --name="MyJupyterHubCluster" --release-label emr-5.36.2 \ --applications Name=JupyterHub --log-uri s3://amzn-s3-demo-bucket/MyJupyterClusterLogs \ --use-default-roles --instance-type m5.xlarge --instance-count 2 --ec2-attributes KeyName=MyKeyPair \ --steps Type=CUSTOM_JAR,Name=CustomJAR,ActionOnFailure=CONTINUE,\ Jar=s3://region.elasticmapreduce/libs/script-runner/script-runner.jar,Args=["s3://amzn-s3-demo-bucket/createjupyterusers.sh"]

Executar o script em um cluster existente (AWS CLI)

nota

Os caracteres de continuação de linha do Linux (\) são incluídos para facilitar a leitura. Eles podem ser removidos ou usados ​​em comandos do Linux. No Windows, remova-os ou substitua-os por um sinal de interpolação (^).

aws emr add-steps --cluster-id j-XXXXXXXX --steps Type=CUSTOM_JAR,\ Name=CustomJAR,ActionOnFailure=CONTINUE,\ Jar=s3://region.elasticmapreduce/libs/script-runner/script-runner.jar,Args=["s3://amzn-s3-demo-bucket/createjupyterusers.sh"]
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.