Esta página descreve como criar uma instância do Workbench da Agent Platform do Gemini Enterprise que acessa Google Cloud serviços e APIs usando 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 quais Google Cloud serviços e APIs sua Conta do Google tem acesso.
Por padrão, quando você executa um código em uma instância do Workbench da Agent Platform, ela pode acessar Google Cloud serviços e APIs usando as credenciais associadas à conta de serviço da instância. Isso significa que a instância tem o mesmo acesso que Google Cloud a conta de serviço.
Esta página descreve como criar e configurar uma instância para que ela tenha o mesmo acesso que suas credenciais de usuário. Google Cloud
Visão geral
O Workbench da Agent Platform usa um cliente OAuth global gerenciado pelo Google para gerenciar o acesso às credenciais do usuário, com escopo para os Google Cloud recursos no projeto do usuário. Os usuários precisam conceder consentimento ao cliente OAuth para gerenciar as credenciais de cada instância do Workbench da Agent Platform. Isso é feito uma vez por instância em uma caixa de diálogo que é aberta quando você clica no botão Abrir JupyterLab no Google Cloud console.
A conta de serviço usada para criar a instância do Workbench da Agent Platform é o seguinte agente de serviço:
service-PROJECT_NUMBER@gcp-sa-notebooks-vm..
Esse agente de serviço fornece permissões limitadas para serviços essenciais, como exportar 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 do 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.
Criar instâncias com scripts pós-inicialização
É possível usar scripts pós-inicialização para realizar ações depois que a instância é iniciada. Se você ativar as credenciais do usuário final na instância do Workbench da Agent Platform, as credenciais não estarão disponíveis na inicialização. Elas só estarão disponíveis depois que o proprietário da instância acessar a interface do JupyterLab pela primeira vez. Devido a esse atraso, o script precisa pesquisar a disponibilidade de credenciais antes de executar comandos que exigem autenticação. Para que o script seja executado, você precisa conceder permissão à conta de serviço da instância para ler o arquivo de script no local do Cloud Storage. Por motivos de segurança, não é possível mudar o local do script depois que a instância é criada.
O suporte a scripts pós-inicialização para instâncias com credenciais do usuário final está na GA particular. Para informações sobre o acesso a essa versão, consulte a página de solicitação de acesso.
Limitações
Considere as seguintes limitações ao planejar seu projeto:
O Workbench da Agent Platform 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 Workbench da Agent Platform com credenciais de usuário gerenciadas, os usuários não podem:
- Usar SSH para acessar a instância.
- Executar um script de inicialização do Compute Engine.
- Acessar 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 só aceita credenciais OAuth gerenciadas pelo Google.
Antes de começar
- Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
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 role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Notebooks API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.
Funções exigidas
Para receber as permissões necessárias para criar uma instância do Workbench da Agent Platform, 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 personalizados papéis ou outros predefinidos papéis.
Criar uma instância de usuário único
Para criar uma instância do Workbench da Agent Platform usando o Google Cloud console, faça o seguinte:
No Google Cloud console, acesse a página Instâncias.
Clique em Criar.
Na caixa de diálogo Nova instância, clique em Opções avançadas.
Na caixa de diálogo Criar instância, na seção Detalhes , insira as seguintes informações sobre 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ê. Confira os locais disponíveis do Workbench da Agent Platform locations.
Na seção IAM e segurança, selecione Usuário único.
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.Selecione Ativar credenciais gerenciadas de usuário final.
Preencha o restante da caixa de diálogo de criação de instância e clique em Criar.
O Workbench da Agent Platform cria uma instância e a inicia automaticamente. Quando a instância estiver pronta para uso, o Workbench da Agent Platform vai ativar um link Abrir JupyterLab no Google Cloud console.
Os usuários precisam conceder consentimento ao cliente OAuth para gerenciar as credenciais de cada instância do Workbench da Agent Platform. Isso é feito uma vez por instância. Para conceder consentimento, clique em Abrir JupyterLab e preencha a caixa de diálogo que aparece.
Se você tentar acessar a instância sem conceder consentimento, o JupyterLab vai mostrar uma mensagem para autenticar abrindo o JupyterLab no Google Cloud console.
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
Autenticar a instância com suas credenciais de usuário
O Workbench da Agent Platform pode usar o Application Default Credentials (ADC) para autenticar suas credenciais de usuário em Google Cloud serviços e APIs. Esta seção descreve como fornecer suas credenciais de usuário ao ADC se alguma das limitações impedir que você ative as credenciais gerenciadas.
As etapas de autenticação dependem se você está usando uma Conta do Google ou credenciais de terceiros.
Conta do Google
Depois de acessar o JupyterLab na instância, faça o seguinte:
No Google Cloud console, acesse a página Instâncias.
Ao lado do nome da instância, clique em Abrir JupyterLab.
No JupyterLab, selecione Arquivo > Novo > Terminal.
Na janela do terminal, execute o seguinte:
gcloud auth login
Digite
Y.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, depois que o proxy do JupyterLab estiver disponível, faça o seguinte:
Abra o JupyterLab usando o proxy federado do JupyterLab.
No JupyterLab, selecione Arquivo > Novo > Terminal.
Crie um arquivo de credenciais da federação de identidade de colaboradores com login sem tela.
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.
Siga as instruções para autenticar pelo portal de autenticação de terceiros.
Confirme se as credenciais estão acessíveis pela instância usando o seguinte comando:
gcloud auth list