Criar uma instância com acesso às credenciais do usuário

Nesta página, descrevemos como criar uma instância do Vertex AI Workbench que acessa serviços e APIs do Google Cloud com suas credenciais de usuário.

Suas credenciais de usuário são as credenciais associadas à sua Conta do Google. Suas credenciais de usuário determinam a quais serviços e APIs sua Conta do Google tem acesso. Google Cloud

Por padrão, quando você executa um código em uma instância do Vertex AI Workbench, ela pode acessar serviços e APIs do Google Cloud usando as credenciais associadas à conta de serviço da instância. Isso significa que a instância tem o mesmo acesso a Google Cloud que a conta de serviço.

Nesta página, descrevemos como criar e configurar uma instância para que ela tenha o mesmo acesso a Google Cloud que suas credenciais de usuário.

Visão geral

O Vertex AI Workbench usa um cliente OAuth global gerenciado pelo Google para gerenciar o acesso às credenciais do usuário, com escopo para os recursos Google Cloud no projeto do usuário. Os usuários precisam dar consentimento ao cliente OAuth para gerenciar as credenciais de cada instância do Vertex AI Workbench. Isso é feito uma vez por instância em uma caixa de diálogo que aparece quando você clica no botão Abrir JupyterLab no console do Google Cloud .

A conta de serviço usada para criar a instância do Vertex AI Workbench é o seguinte agente de serviço:

service-PROJECT_NUMBER@gcp-sa-notebooks-vm.iam.gserviceaccount.com.

Esse agente de serviço oferece permissões limitadas para serviços essenciais, como exportação de registros. Os usuários não podem especificar uma conta de serviço diferente se o recurso de credenciais do usuário final estiver ativado.

As instâncias com credenciais de usuário final ativadas têm o rótulo notebooks-managed-euc: true do Compute Engine e a chave de metadados euc-enabled: true anexada ao recurso de VM para indicar a ativação do recurso.

Limitações

Considere as seguintes limitações ao planejar seu projeto:

  • O Vertex AI Workbench usa um cliente OAuth global gerenciado pelo Google para gerenciar o acesso às credenciais do usuário. As organizações não podem ativar controles refinados, acessar o cliente OAuth ou usar o registro em log para verificar o uso do cliente OAuth.

  • Para proteger a segurança das instâncias do Vertex AI Workbench com credenciais de usuário gerenciadas, os usuários não podem:

    • Use SSH para acessar a instância.
    • Execute um script pós-inicialização.
    • Acesse a página detalhada da VM.
    • Usar uma imagem que não foi criada pelo Google.
  • O uso de credenciais de terceiros não é compatível porque o cliente OAuth aceita apenas credenciais OAuth gerenciadas pelo Google.

Antes de começar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Notebooks API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Notebooks API.

    Enable the API

  8. Funções exigidas

    Para receber as permissões necessárias para criar uma instância do Vertex AI Workbench, peça ao administrador para conceder a você o papel do IAM de Executor de notebooks (roles/notebooks.runner) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

    Também é possível conseguir as permissões necessárias usando papéis personalizados ou outros papéis predefinidos.

    Criar uma única instância de usuário

    Para criar uma instância do Vertex AI Workbench usando o console Google Cloud , faça o seguinte:

    1. No console Google Cloud , acesse a página Instâncias.

      Acesse "Instâncias"

    2. Clique em Criar.

    3. Na caixa de diálogo Nova instância, clique em Opções avançadas.

    4. Na caixa de diálogo Criar instância, na seção Detalhes, forneça as seguintes informações para a nova instância:

      • Nome: forneça um nome para a nova instância. O nome precisa começar com uma letra seguida por até 62 letras minúsculas, números ou hifens (-) e não pode terminar com um hífen.
      • Região e Zona: selecione uma região e zona para a nova instância. Para ter o melhor desempenho de rede, selecione a região mais próxima de você. Veja os locais disponíveis do Vertex AI Workbench.
    5. Na seção IAM e segurança, selecione Usuário único.

    6. No campo E-mail do usuário, insira a conta de usuário a que você quer conceder acesso. Se o usuário especificado não for o criador da instância, você precisará conceder o papel de usuário da conta de serviço (roles/iam.serviceAccountUser) ao conta de serviço da instância.

    7. Selecione Ativar credenciais gerenciadas de usuário final.

    8. Preencha o restante da caixa de diálogo de criação de instância e clique em Criar.

      O Vertex AI Workbench cria uma instância e a inicia automaticamente. Quando a instância estiver pronta para uso, o Vertex AI Workbench ativa um link Abrir JupyterLab no console Google Cloud .

    9. Os usuários precisam dar consentimento ao cliente OAuth para gerenciar as credenciais de cada instância do Vertex AI Workbench. Isso é feito uma vez por instância. Para conceder consentimento, clique em Abrir JupyterLab e conclua a caixa de diálogo que aparece.

      Se você tentar acessar a instância sem dar consentimento, o JupyterLab vai mostrar uma mensagem para autenticar abrindo o JupyterLab no consoleGoogle Cloud .

    10. Para verificar se as credenciais do usuário final estão disponíveis no JupyterLab, abra um terminal no JupyterLab e insira o seguinte comando:

      gcloud auth list

    Autentique a instância com suas credenciais de usuário.

    O Vertex AI Workbench pode usar o Application Default Credentials (ADC) para autenticar suas credenciais de usuário em serviços e APIs do Google Cloud . Esta seção descreve como fornecer suas credenciais de usuário à ADC se alguma das limitações impedir que você ative as credenciais gerenciadas.

    As etapas de autenticação dependem do uso de uma Conta do Google ou de credenciais de terceiros.

    Conta do Google

    Depois de acessar o JupyterLab na instância, faça o seguinte:

    1. No console Google Cloud , acesse a página Instâncias.

      Acesse "Instâncias"

    2. Ao lado do nome da instância, clique em Abrir JupyterLab.

    3. No JupyterLab, selecione Arquivo > Novo > Terminal.

    4. Na janela do terminal, execute o seguinte:

      gcloud auth login
    5. Digite Y.

    6. Siga as instruções para copiar um código de verificação e inseri-lo no terminal.

    Credenciais de terceiros

    Se você criou uma instância com credenciais de terceiros, faça o seguinte depois que o proxy do JupyterLab estiver disponível:

    1. Abra o JupyterLab usando o proxy federado do JupyterLab.

    2. No JupyterLab, selecione Arquivo > Novo > Terminal.

    3. Crie um arquivo de credenciais da federação de identidade da força de trabalho com login sem interface gráfica.

    4. Na janela do terminal, execute o seguinte:

      gcloud auth login --cred-file="CREDENTIAL_FILE"

      Substitua CREDENTIAL_FILE pelo caminho e nome do arquivo de credenciais que você criou.

    5. Siga as instruções para fazer a autenticação pelo portal de autenticação de terceiros.

    6. Confirme se as credenciais estão acessíveis na instância usando o seguinte comando:

      gcloud auth list