Controllo dell'accesso

È normale che più membri del team collaborino alla creazione di un agente e che i servizi accedano all'agente. Utilizzando i ruoli, puoi controllare l'accesso e le autorizzazioni concesse alle entità.

Se utilizzi l'API, potresti avere anche una o più applicazioni che inviano richieste a un agente. In questo caso, puoi controllare l'accesso con i service account.

Puoi controllare l'accesso utilizzando Identity and Access Management (IAM) o la console di Dialogflow.

La console di Dialogflow fornisce il ruolo di amministratore dell'agente all'utente che ha creato l'agente. Questo utente ottiene automaticamente il ruolo di Project Owner IAM nel progetto associato all'agente.

Gli amministratori degli agenti possono aggiungere sviluppatori e revisori all'agente nella console di Dialogflow. Quando il ruolo di sviluppatore o revisore viene concesso nella console di Dialogflow, l'utente ottiene rispettivamente il ruolo di editor del progetto IAM o di visualizzatore del progetto IAM. Un modo alternativo per aggiungere sviluppatori e revisori all'agente è concedere agli utenti i ruoli di editor del progetto IAM o di visualizzatore del progetto IAM corrispondenti in the Google Cloud console.

In alcune situazioni devi utilizzare la Google Cloud console:

  • Se vuoi modificare l'amministratore, aggiungere più amministratori per un agente, o rimuovere gli amministratori di un agente, devi utilizzare la Google Cloud console.
  • Se hai integrazioni con altre Google Cloud risorse, come Cloud Functions, e non vuoi concedere l'accesso completo al progetto a un'applicazione, devi assegnare i ruoli dell'API Dialogflow (Amministratore, Client o Lettore) nella Google Cloud console per IAM.
  • Un sottoinsieme di ruoli IAM ha ruoli corrispondenti nella console di Dialogflow. Se vuoi concedere un ruolo che non esiste nella console di Dialogflow, devi utilizzare la Google Cloud console.

Ruoli

La tabella seguente elenca i ruoli comuni pertinenti a Dialogflow, la correlazione tra i ruoli della console di Dialogflow e i ruoli IAM e i dettagli sulle autorizzazioni.

I riepiloghi delle autorizzazioni nella tabella utilizzano i seguenti termini:

  • Accesso completo: autorizzazione a modificare l'accesso, creare, eliminare, modificare e leggere qualsiasi risorsa.
  • Accesso in modifica: autorizzazione a creare, eliminare, modificare e leggere qualsiasi risorsa.
  • Accesso alla sessione: autorizzazione a chiamare i metodi per le risorse di sola esecuzione durante una conversazione, ad esempio rilevare l'intent, aggiornare il contesto, aggiornare le entità sessione o le interazioni di conversazione di Assistente agente. Questo accesso fornisce un sottoinsieme di autorizzazioni disponibili nell'accesso completo e in modifica.
  • Accesso in lettura: autorizzazione a leggere qualsiasi risorsa.
Ruolo della console di Dialogflow Ruolo IAM Riepilogo delle autorizzazioni Dettagli autorizzazione
Amministratore Progetto >
Proprietario
Concedi ai Project Owner che hanno bisogno dell'accesso completo a tutte le risorse e a Dialogflow:
    Google Cloud
  • Accesso completo a tutte le risorse del progetto utilizzando la console o le API. Google Cloud Google Cloud
  • Accesso completo agli agenti utilizzando la console di Dialogflow.
  • Può rilevare l'intent utilizzando l'API.
  • Può modificare l'edizione dell'agente nella console di Dialogflow o utilizzando l'API.
Consulta le definizioni dei ruoli di base IAM.
Sviluppatore Progetto >
Editor
Concedi agli editor del progetto che hanno bisogno dell'accesso in modifica a tutte le risorse e a Dialogflow:
    Google Cloud
  • Accesso in modifica a tutte le Google Cloud risorse del progetto utilizzando la Google Cloud console o le API.
  • Accesso in modifica agli agenti utilizzando la console di Dialogflow.
  • Può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli di base IAM.
Revisore Progetto >
Visualizzatore
Concedi ai visualizzatori del progetto che hanno bisogno dell'accesso in lettura a tutte le risorse e a Dialogflow:
    Google Cloud
  • Accesso in lettura a tutte le risorse del progetto utilizzando la console o le API. Google Cloud Google Cloud
  • Accesso in lettura agli agenti utilizzando la console di Dialogflow o l'API, non può utilizzare il simulatore.
  • Non può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli di base IAM.
N/D Progetto >
Browser
Concedi ai browser del progetto che hanno bisogno dell'accesso in lettura per esplorare la gerarchia di un progetto, inclusi cartella, organizzazione e policy IAM:
  • Accesso in lettura alla gerarchia del progetto. Google Cloud
  • Nessun accesso agli agenti utilizzando la console di Dialogflow.
  • Non può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli del progetto IAM .
N/D Dialogflow >
Amministratore API Dialogflow
Concedi agli amministratori dell'API Dialogflow che hanno bisogno dell'accesso completo alle risorse specifiche di Dialogflow:
  • Accesso completo a tutte le risorse di Dialogflow utilizzando la Google Cloud console o le API.
  • Accesso in lettura agli agenti utilizzando la console di Dialogflow.
  • Può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di Dialogflow.
N/D Dialogflow >
Client API Dialogflow
Concedi ai client dell'API Dialogflow che eseguono chiamate detect intent utilizzando l'API:
  • Accesso alla sessione alle risorse di runtime di Dialogflow utilizzando il simulatore di Dialogflow o l'API.
  • Accesso limitato agli agenti utilizzando la console di Dialogflow.
  • Può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di Dialogflow.
N/D Dialogflow >
Editor agente console Dialogflow
Concedi agli editor della console di Dialogflow che modificano gli agenti esistenti:
  • Accesso completo a tutte le risorse di Dialogflow utilizzando la Google Cloud console.
  • Accesso in modifica alla maggior parte dei dati dell'agente utilizzando la console di Dialogflow. Non è possibile accedere all'editor incorporato per l'integrazione di Cloud Functions o dell'Assistente Google.
  • Può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di Dialogflow.
N/D Dialogflow >Lettore API Dialogflow
Concedi ai client dell'API Dialogflow che eseguono chiamate di sola lettura specifiche di Dialogflow utilizzando l'API:
  • Accesso in lettura a tutte le risorse di Dialogflow utilizzando Google Cloud la console o le API.
  • Accesso in lettura agli agenti utilizzando la console di Dialogflow, non può utilizzare il simulatore.
  • Non può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di Dialogflow.

Controllare l'accesso con la Google Cloud console

Puoi controllare l'accesso con le impostazioni IAM. Per istruzioni dettagliate su come aggiungere, modificare e rimuovere le autorizzazioni, consulta la guida rapida di IAM.

Per accedere alle impostazioni riportate di seguito, apri la pagina IAM nella Google Cloud console.

Aggiungere un utente o un account di servizio al progetto

Puoi fornire autorizzazioni a utenti o service account concedendo loro ruoli nel tuo Google Cloud progetto. Gli utenti vengono aggiunti fornendo il loro indirizzo email. Anche i service account vengono aggiunti fornendo l'indirizzo email associato. Devi aggiungere membri del account di servizio quando vuoi utilizzare un account di servizio per più progetti e agenti. Per trovare l'indirizzo email associato al tuo account di servizio, consulta la pagina Service account IAM nella Google Cloud console.

Per aggiungere un membro:

  1. Fai clic sul pulsante Aggiungi nella parte superiore della pagina.
  2. Inserisci l'indirizzo email del membro.
  3. Seleziona un ruolo.
  4. Fai clic su Salva.

Cambiare autorizzazioni

  1. Fai clic sul pulsante Modifica per il membro.
  2. Seleziona un ruolo diverso.
  3. Fai clic su Salva.

Rimuovere un membro

  1. Fai clic sul pulsante Elimina per il membro.

Controllare l'accesso con la console di Dialogflow

Le opzioni di condivisione si trovano nelle impostazioni dell'agente. Per aprire le impostazioni di condivisione dell'agente:

  1. Vai alla console di Dialogflow ES.
  2. Seleziona l'agente nella parte superiore del menu della barra laterale sinistra.
  3. Fai clic sul pulsante Impostazioni accanto al nome dell'agente.
  4. Fai clic sulla scheda Condividi. Se non vedi la scheda Condividi , significa che non disponi del ruolo di amministratore dell'agente richiesto.

Scheda Condividi che mostra gli utenti con il relativo livello di accesso.

Aggiungere un utente

  1. Inserisci l'indirizzo email dell'utente in Invita nuove persone.
  2. Seleziona un ruolo.
  3. Fai clic su Aggiungi.
  4. Fai clic su Salva.

Cambiare autorizzazioni

  1. Trova l'utente nell'elenco.
  2. Seleziona un ruolo diverso.
  3. Fai clic su Salva.

Rimuovere un utente

  1. Trova l'utente nell'elenco.

  2. Fai clic sul pulsante Elimina per l'utente.

  3. Fai clic su Salva.

Service account creati automaticamente

Quando crei e utilizzi l'agente, Dialogflow crea automaticamente alcuni agenti di servizio.

Per visualizzare i ruoli concessi a questi agenti di servizio, attiva l'opzione Includi concessioni di ruoli fornite da Google nella pagina IAM.

Non devi eliminare, modificare o scaricare le chiavi di nessuno di questi agenti di servizio, né devi utilizzarli per effettuare chiamate API dirette. Vengono utilizzati solo dal servizio Dialogflow per connettersi a una serie di Google Cloud servizi utilizzati dall'agente. Potresti dover fare riferimento a questi agenti di servizio tramite email quando configuri determinate funzionalità di Dialogflow.

La tabella seguente descrive alcuni di questi agenti di servizio:

Modulo email IAM Finalità
service-project-number
@gcp-sa-dialogflow.iam.gserviceaccount.com
Utilizzato per connettere l'agente ai servizi che gestiscono il traffico di integrazione.
firebase-adminsdk-alphanum
@project-id.iam.gserviceaccount.com
Utilizzato per connettere l'agente ai servizi che gestiscono il traffico di integrazione di Assistente Google.
project-id
@appspot.gserviceaccount.com
Utilizzato per connettere l'agente ai servizi che gestiscono il traffico di integrazione di Assistente Google.

Trasferire il ruolo di amministratore

Per trasferire il ruolo di amministratore di un agente, l'amministratore esistente deve seguire i passaggi precedenti per aggiungere un nuovo amministratore. Una volta che il nuovo amministratore accetta il ruolo concesso, è possibile rimuovere il vecchio amministratore.

Se l'amministratore esistente non lavora più nella tua organizzazione e devi trasferire il ruolo di amministratore a un altro dipendente, hai due opzioni:

  • Un amministratore dell' organizzazione associata al progetto dell'agente ha le autorizzazioni per modificare l'amministratore dell'agente.
  • Se disponi delle autorizzazioni di lettura per l'agente, puoi esportarlo e importarlo in un agente in cui il dipendente desiderato è amministratore. Questa operazione potrebbe causare tempi di inattività per un agente di produzione live durante la migrazione dell'agente e l'aggiornamento di eventuali integrazioni.

OAuth

Se utilizzi le librerie client Google per accedere a Dialogflow, non devi utilizzare OAuth direttamente, perché queste librerie gestiscono l'implementazione per te. Tuttavia, se implementi il tuo client, potresti dover implementare il tuo flusso OAuth. L'accesso all'API Dialogflow richiede uno dei seguenti ambiti OAuth:

  • https://www.googleapis.com/auth/cloud-platform (accesso a tutte le risorse del progetto)
  • https://www.googleapis.com/auth/dialogflow (accesso alle risorse di Dialogflow)

Richieste che comportano l'accesso a Cloud Storage

Alcune richieste di Dialogflow accedono agli oggetti in Cloud Storage per leggere o scrivere dati. Quando chiami una di queste richieste, Dialogflow accede ai dati di Cloud Storage per conto del chiamante. Ciò significa che l'autenticazione della richiesta deve disporre delle autorizzazioni per accedere a Dialogflow e agli oggetti Cloud Storage.

Quando utilizzi una libreria client Google e i ruoli IAM, consulta la guida al controllo dell'accesso a Cloud Storage per informazioni sui ruoli di Cloud Storage.

Quando implementi il tuo client e utilizzi OAuth, devi utilizzare il seguente ambito OAuth:

  • https://www.googleapis.com/auth/cloud-platform (accesso a tutte le risorse del progetto)