Controllo dell'accesso

È comune 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 anche avere 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 Dialogflow.

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

Gli amministratori degli agenti possono aggiungere sviluppatori e revisori all'agente nella console Dialogflow. Quando il ruolo Sviluppatore o Revisore viene concesso nella console Dialogflow, l'utente riceve rispettivamente il ruolo IAM Project Editor o IAM Project Viewer. Un modo alternativo per aggiungere sviluppatori e revisori all'agente è concedere agli utenti i ruoli IAM Project Editor o IAM Project Viewer corrispondenti nella console Google Cloud .

In alcune situazioni devi utilizzare la console Google Cloud :

  • Se vuoi cambiare l'amministratore, aggiungere più amministratori per un agente o rimuovere gli amministratori per un agente, devi utilizzare la console Google Cloud .
  • Se hai integrazioni con altre risorse Google Cloud , 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 Reader) nella console Google Cloud per IAM.
  • Un sottoinsieme di ruoli IAM ha ruoli della console Dialogflow corrispondenti. Se vuoi concedere un ruolo che non esiste nella console Dialogflow, devi utilizzare la console Google Cloud .

Ruoli

La tabella seguente elenca i ruoli comuni pertinenti per Dialogflow, la correlazione tra i ruoli della console 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 per creare, eliminare, modificare e leggere qualsiasi risorsa.
  • Accesso alla sessione: autorizzazione a chiamare metodi per risorse di sola runtime durante una conversazione, ad esempio rilevamento dell'intent, aggiornamento del contesto, aggiornamento delle entità sessione o interazioni di conversazione di Agent Assist. Questo accesso fornisce un sottoinsieme di autorizzazioni presenti nell'accesso completo e in modifica.
  • Accesso in lettura: autorizzazione a leggere qualsiasi risorsa.
Ruolo della console Dialogflow Ruolo IAM Riepilogo delle autorizzazioni Dettagli autorizzazione
Amministratore Project >
Owner
Concedi ai Project Owner che hanno bisogno di accesso completo a tutte le risorse Google Cloud e Dialogflow:
  • Accesso completo a tutte le risorse del progetto Google Cloud utilizzando la console Google Cloud o le API.
  • Accesso completo agli agenti che utilizzano la console Dialogflow.
  • Può rilevare l'intent utilizzando l'API.
  • Può modificare la versione dell'agente nella console Dialogflow o utilizzando l'API.
Consulta le definizioni dei ruoli IAM di base.
Sviluppatore Progetto > Editor
Concedi agli editor del progetto che necessitano dell'accesso in modifica a tutte le risorse Google Cloud e Dialogflow:
  • Accesso in modifica a tutte le risorse del progetto Google Cloud utilizzando la console Google Cloud o le API.
  • Modifica l'accesso in modifica agli agenti utilizzando la console Dialogflow.
  • Può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di base.
Reviewer Progetto >
Visualizzatore
Concedi ai visualizzatori del progetto che necessitano dell'accesso in lettura a tutte le risorse Google Cloud e Dialogflow:
  • Accesso in lettura a tutte le risorse del progetto Google Cloud utilizzando la console Google Cloud o le API.
  • Accesso in lettura agli agenti tramite la console o l'API Dialogflow, non può utilizzare il simulatore.
  • Impossibile rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di base.
N/D Progetto >
Browser
Concedi ai browser di progetto che necessitano dell'accesso in lettura per esplorare la gerarchia di un progetto, inclusi cartella, organizzazione e policy IAM:
  • Accesso in lettura alla gerarchia dei progetti Google Cloud .
  • Nessun accesso agli agenti che utilizzano la console Dialogflow.
  • Impossibile rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli di progetto IAM.
N/D Dialogflow >
Amministratore API Dialogflow
Concedi agli amministratori dell'API Dialogflow che necessitano di accesso completo alle risorse specifiche di Dialogflow:
  • Accesso completo a tutte le risorse Dialogflow utilizzando la console Google Cloud o le API.
  • Accesso in lettura agli agenti tramite la console 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 API Dialogflow che eseguono chiamate di rilevamento intent utilizzando l'API:
  • Accesso alla sessione alle risorse Dialogflow di runtime utilizzando il simulatore o l'API Dialogflow.
  • Accesso limitato agli agenti tramite la console Dialogflow.
  • Può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di Dialogflow.
N/D Dialogflow >
Editor degli agenti della console Dialogflow
Concedi agli editor della console Dialogflow che modificano gli agenti esistenti:
  • Accesso completo a tutte le risorse Dialogflow utilizzando la console Google Cloud .
  • Accesso in modifica alla maggior parte dei dati dell'agente utilizzando la console Dialogflow. Impossibile 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 >
Dialogflow API Reader
Concedi ai client API Dialogflow che eseguono chiamate di sola lettura specifiche di Dialogflow utilizzando l'API:
  • Accesso in lettura a tutte le risorse Dialogflow utilizzando la console Google Cloud o le API.
  • Accesso in lettura agli agenti tramite la console Dialogflow, non può utilizzare il simulatore.
  • Impossibile rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di Dialogflow.

Controlla l'accesso con la console Google Cloud

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

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

Aggiungi un utente o un account di servizio al progetto

Puoi fornire autorizzazioni a utenti o service account concedendo loro ruoli nel tuo progetto Google Cloud . 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 di IAM nella console Google Cloud .

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.

Cambia autorizzazioni

  1. Fai clic sul pulsante di modifica per il membro.
  2. Seleziona un altro ruolo.
  3. Fai clic su Salva.

Rimuovi un membro

  1. Fai clic sul pulsante Elimina per il membro.

Controlla l'accesso con la console 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 delle 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 loro livello di accesso.

Aggiungi 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.

Cambia autorizzazioni

  1. Trova l'utente nell'elenco.
  2. Seleziona un altro ruolo.
  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 per 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 servizi Google Cloud utilizzati dal tuo agente. Potresti dover fare riferimento a questi agenti di servizio via 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 dell'integrazione dell'Assistente Google.
project-id
@appspot.gserviceaccount.com
Utilizzato per connettere l'agente ai servizi che gestiscono il traffico dell'integrazione dell'Assistente Google.

Trasferisci il ruolo di amministratore

Per trasferire il ruolo di amministratore di un agente, l'amministratore esistente deve seguire i passaggi riportati sopra 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ù presso la 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 dispone delle autorizzazioni per modificare l'amministratore dell'agente.
  • Se disponi delle autorizzazioni in lettura per l'agente, puoi esportarlo e importarlo in un agente in cui il dipendente desiderato è amministratore. Ciò potrebbe causare tempi di inattività per un agente di produzione live durante la migrazione dell'agente e l'aggiornamento delle integrazioni.

OAuth

Se utilizzi le librerie client di Google per accedere a Dialogflow, non è necessario utilizzare direttamente OAuth, 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 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 di Google e i ruoli IAM, consulta la guida controllo dell'accesso di 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)