Controle de acesso

É comum que vários membros da equipe colaborem na criação de um agente e que os serviços acessem o agente. Com os papéis, é possível controlar o acesso e as permissões concedidas aos principais.

Se você estiver usando a API, também será possível ter um ou mais aplicativos que enviam solicitações a um agente. Nesse caso, controle o acesso com as contas de serviço.

É possível controlar o acesso usando o gerenciamento de identidade e acesso (IAM, na sigla em inglês) ou o Console do Dialogflow. Existem algumas situações em que você precisa usar o console do Google Cloud:

  • O console do Dialogflow fornece o papel Administrador de agente (Proprietário do projeto do IAM) ao usuário que criou o agente. Se você quiser alterar o administrador, adicionar vários administradores para um agente ou remover administradores para um agente, você precisará usar o console do Google Cloud.
  • Se você tiver integrações com outros recursos do Google Cloud, como o Cloud Functions, e não quiser conceder acesso total ao projeto para um aplicativo, atribua os papéis da API Dialogflow (administrador, cliente ou leitor) no console do Google Cloud para IAM.
  • Um subconjunto de papéis do IAM tem papéis correspondentes no Console do Dialogflow. Se você quiser conceder um papel que não existe no console do Dialogflow, use o console do Google Cloud.

Papéis

Confira na tabela a seguir os papéis comuns relevantes para o Dialogflow. Os resumos de permissões na tabela usam os seguintes termos:

  • Acesso total: permissão para modificar o acesso, criar, excluir, editar e ler qualquer recurso.
  • Acesso para edição: permissão para criar, excluir, editar e ler qualquer recurso.
  • Acesso à sessão: permissão para chamar métodos para recursos somente de execução durante uma conversa, como detecção de intent, atualização de contexto, atualização de entidades de sessão ou interações de conversa do Agent Assist. Esse acesso fornece um subconjunto de permissões encontradas no acesso total e de edição.
  • Acesso de leitura: permissão para ler qualquer recurso.
Papel no Console do Dialogflow Papel do IAM Resumo da permissão Detalhes da permissão
Admin Projeto >
Proprietário
Conceda a proprietários de projetos que precisam de acesso total a todos os recursos do Google Cloud e do Dialogflow:
  • Acesso total a todos os recursos do projeto do Google Cloud usando o console ou as APIs do Google Cloud.
  • Acesso total aos agentes com o Console do Dialogflow.
  • Pode detectar intent usando a API.
  • Alterar a edição do agente no Console do Dialogflow ou usar a API.
Consulte Definições dos papéis papel básico IAM.
Developer Projeto >
Editor
Conceda a editores de projetos que precisam de acesso para editar todos os recursos do Google Cloud e do Dialogflow:
  • Editar o acesso a todos os recursos do projeto do Google Cloud usando o console ou as APIs do Google Cloud.
  • Acesso de edição aos agentes usando o Console do Dialogflow.
  • Pode detectar intent usando a API.
Consulte Definições dos papéis papel básico IAM.
Revisor Projeto >
Leitor
Conceda aos leitores do projeto que precisam de acesso de leitura a todos os recursos do Google Cloud e do Dialogflow:
  • Acesso de leitura a todos os recursos do projeto do Google Cloud usando o console ou as APIs do Google Cloud.
  • Acesso de leitura aos agentes que usam o console ou a API do Dialogflow. Não é possível usar o simulador.
  • Não é possível detectar intent usando a API.
Consulte Definições dos papéis papel básico IAM.
N/A Projeto >
Navegador
Conceda aos navegadores do projeto que precisam de acesso de leitura para navegar na hierarquia de um projeto, incluindo a pasta, a organização e a política do IAM:
  • Acesso de leitura à hierarquia de projetos do Google Cloud.
  • Sem acesso aos agentes que usam o Console do Dialogflow.
  • Não é possível detectar intent usando a API.
Consulte Definições de papéis do projeto do IAM.
N/A Dialogflow >
Administrador da API Dialogflow
Conceda a administradores da API Dialogflow que precisem de acesso total a recursos específicos do Dialogflow:
  • Acesso total a todos os recursos do Dialogflow usando o console ou as APIs do Google Cloud.
  • Acesso de leitura a agentes usando o Console do Dialogflow.
  • Pode detectar intent usando a API.
Consulte Definições dos papéis do IAM do Dialogflow.
N/A Dialogflow >
Cliente da API Dialogflow
Conceda aos clientes da API Dialogflow que realizam chamadas de detecção de intent usando a API:
  • Acesso de sessão aos recursos do ambiente de execução do Dialogflow usando o simulador ou a API do Dialogflow.
  • Acesso limitado a agentes usando o console do Dialogflow.
  • Pode detectar intent usando a API.
Consulte Definições dos papéis do IAM do Dialogflow.
N/A Dialogflow >
Editor de agente do Console do Dialogflow
Conceda aos editores do Console do Dialogflow que editam agentes atuais:
  • Acesso total a todos os recursos do Dialogflow usando o console do Google Cloud.
  • Edite o acesso à maioria dos dados do agente usando o Console do Dialogflow. Não é possível acessar o Inline Editor para a integração do Cloud Functions ou Google Assistente.
  • Pode detectar intent usando a API.
Consulte Definições dos papéis do IAM do Dialogflow.
N/A Dialogflow >
Leitor da API Dialogflow
Conceda aos clientes da API Dialogflow que realizam chamadas somente leitura específicas do Dialogflow usando a API:
  • Acesso de leitura a todos os recursos do Dialogflow usando o console ou as APIs do Google Cloud.
  • Acesso de leitura aos agentes que usam o Console do Dialogflow, não é possível usar o simulador.
  • Não é possível detectar intent usando a API.
Consulte Definições dos papéis do IAM do Dialogflow.

Controlar o acesso com o console do Google Cloud

É possível controlar o acesso com as configurações do IAM. Consulte o guia de início rápido do IAM para ver as instruções detalhadas sobre como adicionar, editar e remover permissões.

Para acessar as configurações abaixo, abra a página IAM no console do Google Cloud.

Adicionar um usuário ou uma conta de serviço ao projeto

É possível fornecer permissões a usuários ou contas de serviço concedendo papéis no projeto do Google Cloud. Os usuários são adicionados fornecendo os respectivos endereços de e-mail. As contas de serviço também são adicionadas fornecendo o endereço de e-mail associado a elas. Você precisa adicionar membros da conta de serviço quando quiser usar uma conta de serviço para vários projetos e agentes. Para encontrar o endereço de e-mail associado à sua conta de serviço, consulte a página Contas de serviço do IAM no console do Google Cloud.

Para adicionar um membro:

  1. Clique no botão de adição na parte superior da página.
  2. Digite o endereço de e-mail do membro.
  3. Selecione um papel.
  4. Clique em Save.

Alterar permissões

  1. Clique no botão de edição no membro.
  2. Selecione um papel diferente.
  3. Clique em Save.

Remover um membro

  1. Clique no botão de exclusão no membro.

Controlar o acesso com o Console do Dialogflow

Opções de compartilhamento são encontradas nas configurações do agente. Para abrir as configurações de compartilhamento do agente:

  1. Acesse o Console do Dialogflow ES.
  2. Selecione seu agente perto da parte superior do menu da barra lateral esquerda.
  3. Clique no botão de configurações ao lado do nome do agente.
  4. Clique na guia Compartilhar. Se a guia Compartilhar não for exibida, é porque você não tem o papel de Administrador de agente necessário.

Guia "Compartilhar" que mostra o nível de acesso dos usuários.

Adicionar um usuário

  1. Digite o endereço de e-mail do usuário abaixo de Convidar novas pessoas.
  2. Selecione um papel.
  3. Clique em Adicionar.
  4. Clique em Save.

Alterar permissões

  1. Encontre o usuário na lista.
  2. Selecione um papel diferente.
  3. Clique em Save.

Remover um usuário

  1. Localize o usuário na lista.

  2. Clique no botão de exclusão no usuário.

  3. Clique em Save.

Contas de serviço criadas automaticamente

Quando você cria e trabalha com seu agente, o Dialogflow cria automaticamente algumas contas de serviço gerenciadas pelo Google.

Para ver essas contas de serviço, ative a opção Incluir concessões de papel fornecidos pelo Google na página do IAM.

Não exclua, edite nem faça o download de chaves de nenhuma dessas contas de serviço. Além disso, não use-as para fazer chamadas diretas à API. Elas são usados apenas pelo serviço Dialogflow para se conectar a uma variedade de serviços do Google Cloud usados pelo agente. Talvez seja necessário consultar essas contas de serviço por e-mail ao configurar determinados recursos do Dialogflow.

A tabela a seguir descreve algumas dessas contas de serviço:

Formulário de e-mail do IAM Finalidade
service-project-number
@gcp-sa-dialogflow.iam.gserviceaccount.com
Usada para conectar o agente aos serviços que gerenciam o tráfego de integração.
firebase-adminsdk-alphanum
@project-id.iam.gserviceaccount.com
Usada para conectar o agente aos serviços que gerenciam o tráfego de integração com o Google Assistente.
project-id
@appspot.gserviceaccount.com
Usada para conectar o agente aos serviços que gerenciam o tráfego de integração com o Google Assistente.

Função de administrador de transferência

Para transferir o papel de administrador de um agente, o administrador atual precisa seguir as etapas acima para adicionar um novo administrador. Depois que o novo administrador aceitar o papel concedido, você poderá remover o antigo com segurança.

Se o administrador atual não trabalhar mais na sua organização e você precisar que o papel de administrador seja transferido para outro funcionário, você terá duas opções:

  • Um administrador da organização associada ao projeto do agente tem permissões para modificar o administrador do agente.
  • Se você tiver permissões de leitura para o agente, será possível exportá-lo e importá-lo para um agente em que o funcionário desejado seja administrador. Isso pode criar a inatividade de um agente de produção real enquanto o agente é migrado e as integrações são atualizadas.

OAuth

Se você estiver usando bibliotecas de cliente do Google para acessar o Dialogflow, não precisará usar o OAuth diretamente, porque essas bibliotecas cuidam da implementação para você. No entanto, se você estiver implementando seu próprio cliente, talvez seja necessário implementar seu próprio fluxo do OAuth. O acesso à API Dialogflow requer um dos seguintes escopos do OAuth:

  • https://www.googleapis.com/auth/cloud-platform (acesso a todos os recursos do projeto)
  • https://www.googleapis.com/auth/dialogflow (acesso aos recursos do Dialogflow)

Solicitações que envolvem acesso ao Cloud Storage

Algumas solicitações do Dialogflow acessam objetos no Cloud Storage para ler ou gravar dados. Quando você chama uma dessas solicitações, o Dialogflow acessa os dados do Cloud Storage em nome do autor da chamada. Isso significa que a autenticação da solicitação precisa ter permissões para acessar o Dialogflow e os objetos do Cloud Storage.

Ao usar uma biblioteca de cliente do Google e papéis do IAM, consulte o guia de controle de acesso do Cloud Storage para informações sobre os papéis do Cloud Storage.

Ao implementar seu próprio cliente e usar o OAuth, use o seguinte escopo do OAuth:

  • https://www.googleapis.com/auth/cloud-platform (acesso a todos os recursos do projeto)