Crie uma instância com acesso às credenciais do utilizador

Esta página descreve como criar uma instância do Vertex AI Workbench que acede Google Cloud a serviços e APIs através das suas credenciais de utilizador.

As suas credenciais de utilizador são as credenciais associadas à sua Conta Google. As suas credenciais de utilizador determinam a que Google Cloud serviços e APIs a sua Conta Google tem acesso.

Por predefinição, quando executa código numa instância do Vertex AI Workbench, a instância pode aceder a Google Cloud serviços e APIs através das credenciais associadas à conta de serviço da instância. Isto significa que a sua instância tem o mesmo acesso ao Google Cloud que a conta de serviço.

Esta página descreve como criar e configurar uma instância para que tenha o mesmo acesso que as suas credenciais de utilizador. Google Cloud

Vista geral

O Vertex AI Workbench usa um cliente OAuth gerido pela Google global para gerir o acesso às credenciais do utilizador, com âmbito nos recursos Google Cloud no projeto do utilizador. Os utilizadores têm de conceder consentimento ao cliente OAuth para gerir as respetivas credenciais para cada instância do Vertex AI Workbench. Isto é feito uma vez por instância através de uma caixa de diálogo que é aberta quando clica no botão Abrir JupyterLab na Google Cloud consola.

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

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

Este agente de serviço fornece autorizações limitadas para serviços essenciais, como a exportação de registos. Os utilizadores não podem especificar uma conta de serviço diferente se a funcionalidade de credenciais do utilizador final estiver ativada.

As instâncias com credenciais de utilizador final ativadas têm a etiqueta do notebooks-managed-euc: trueCompute Engine e a chave de metadados euc-enabled: true anexadas ao recurso de VM para indicar a ativação da funcionalidade.

Limitações

Considere as seguintes limitações quando planear o seu projeto:

  • O Vertex AI Workbench usa um cliente OAuth gerido pela Google global para gerir o acesso às credenciais do utilizador. As organizações não podem implementar controlos detalhados, aceder ao cliente OAuth nem usar o registo para verificar a utilização do cliente OAuth.

  • Para proteger a segurança das instâncias do Vertex AI Workbench com credenciais de utilizador geridas, os utilizadores não podem:

    • Use o SSH para aceder à instância.
    • Executar um script de pós-arranque.
    • Aceda à página detalhada da VM.
    • Usar uma imagem que não tenha sido criada pela Google.
  • A utilização de credenciais de terceiros não é suportada porque o cliente OAuth só suporta credenciais OAuth geridas pela 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.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  4. Enable the Notebooks API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  7. Enable the Notebooks API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Funções necessárias

    Para receber as autorizações de que precisa para criar uma instância do Vertex AI Workbench, peça ao seu administrador para lhe conceder a função de IAM Notebooks Runner (roles/notebooks.runner) no projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

    Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.

    Crie uma única instância de utilizador

    Para criar uma instância do Vertex AI Workbench através da consola Google Cloud , faça o seguinte:

    1. Na Google Cloud consola, aceda à página Instâncias.

      Aceda a Instâncias

    2. Clique em  Criar novo.

    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 secção Detalhes, faculte as seguintes informações para a sua nova instância:

      • Nome: indique um nome para a nova instância. O nome tem de começar por uma letra, seguida de até 62 letras minúsculas, números ou hífenes (-) e não pode terminar com um hífen.
      • Região e Zona: selecione uma região e uma zona para a nova instância. Para o melhor desempenho da rede, selecione a região geograficamente mais próxima de si. Consulte as localizações do Vertex AI Workbench disponíveis.
    5. Na secção IAM e segurança, selecione Utilizador único.

    6. No campo Email do utilizador, introduza a conta de utilizador à qual quer conceder acesso. Se o utilizador especificado não for o criador da instância, tem de conceder-lhe a função Utilizador da conta de serviço (roles/iam.serviceAccountUser) na conta de serviço da instância.

    7. Selecione Ativar credenciais de utilizador final geridas.

    8. Conclua o resto da caixa de diálogo de criação da instância e, de seguida, clique em Criar.

      O Vertex AI Workbench cria uma instância e inicia-a automaticamente. Quando a instância estiver pronta a usar, o Vertex AI Workbench ativa um link Abrir JupyterLab na Google Cloud consola.

    9. Os utilizadores têm de conceder consentimento ao cliente OAuth para gerir as respetivas credenciais para cada instância do Vertex AI Workbench. Isto é feito uma vez por instância. Para conceder consentimento, clique em Abrir JupyterLab e conclua a caixa de diálogo apresentada.

      Se tentar aceder à instância sem conceder consentimento, o JupyterLab apresenta uma mensagem para autenticar abrindo o JupyterLab a partir daGoogle Cloud consola.

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

      gcloud auth list

    Autentique a instância com as suas credenciais de utilizador

    O Vertex AI Workbench pode usar as Credenciais padrão da aplicação (ADC) para autenticar as suas credenciais de utilizador em Google Cloud serviços e APIs. Esta secção descreve como fornecer as suas credenciais de utilizador ao ADC se alguma das limitações impedir a ativação das credenciais geridas.

    Os passos de autenticação dependem de estar a usar uma Conta Google ou credenciais de terceiros.

    Conta Google

    Depois de poder aceder ao JupyterLab na sua instância, faça o seguinte:

    1. Na Google Cloud consola, aceda à página Instâncias.

      Aceda a Instâncias

    2. Junto ao nome da instância, clique em Abrir JupyterLab.

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

    4. Na janela do terminal, execute o seguinte:

      gcloud auth login
    5. Introduza Y.

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

    Credenciais de terceiros

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

    1. Abra o JupyterLab através do proxy federado do JupyterLab.

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

    3. Crie um ficheiro de credenciais da Workforce Identity Federation com o início de sessão sem interface.

    4. Na janela do terminal, execute o seguinte:

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

      Substitua CREDENTIAL_FILE pelo caminho e nome do ficheiro de credenciais que criou.

    5. Siga as instruções para fazer a autenticação através do portal de autenticação de terceiros.

    6. Confirme que as suas credenciais estão acessíveis através da sua instância usando o seguinte comando:

      gcloud auth list