Controllo dell'accesso

È comune che più membri di team collaborano 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à.

Puoi configurare l'accesso utilizzando la console di Dialogflow CX (consulta la documentazione, apri la console) o la console Google Cloud (consulta la documentazione, apri la console) con Identity and Access Management (IAM). La console Google Cloud viene utilizzata per concedere i ruoli IAM alle entità, mentre la console Dialogflow viene utilizzata per concedere i ruoli agente Dialogflow alle entità. I ruoli dell'agente Dialogflow sono comodi ruoli predefiniti definiti da Dialogflow che limitano l'accesso a un agente o alle risorse figlio di un agente specifico.

Esistono alcune situazioni in cui è necessario utilizzare la console Google Cloud:

  • Il ruolo Proprietario progetto IAM è concesso per impostazione predefinita all'utente che ha creato il progetto proprietario dell'agente. Questo proprietario ha accesso completo a tutti gli agenti del progetto. Per cambiare il proprietario del progetto, devi usare la console Google Cloud.
  • Solo l'accesso a livello di agente può essere configurato tramite la console di Dialogflow CX. Per configurare l'accesso a livello di progetto devi usare la console Google Cloud.
  • Un sottoinsieme di ruoli IAM ha ruoli agente Dialogflow corrispondenti. Se vuoi concedere un ruolo a livello di progetto o di agente che non esiste nella console di Dialogflow CX, devi utilizzare la console Google Cloud.
  • Se stai creando un agente datastore con l'interfaccia utente Vertex AI Conversation, devi utilizzare la console Google Cloud.

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 gli account di servizio.

Controllare l'accesso con la console di Dialogflow CX

La console di Dialogflow CX consente di applicare pratici ruoli di agente configurati per la condivisione a livello di agente. Questi ruoli sono correlati ai ruoli IAM con condizioni IAM che limitano l'accesso all'agente specifico o a un sottoinsieme di risorse figlio dell'agente.

Per accedere alla configurazione dei ruoli degli agente dalla console di Dialogflow CX, devi disporre del ruolo Amministratore IAM progetto per il progetto associato. Questo ruolo viene concesso dalla console Google Cloud.

Ruolo agente Dialogflow Riepilogo Ruolo IAM
Amministratore Fornisce l'accesso completo per creare, aggiornare, eseguire query, rilevare l'intento ed eliminare l'agente dalla console o dall'API. Dialogflow > Amministratore API Dialogflow
Lettore Fornisce l'accesso in lettura per eseguire query (non rilevare l'intent) sull'agente dalla console o dall'API. Dialogflow > Lettore API Dialogflow
Client Fornisce l'accesso per rilevare l'intent dalla console o dall'API. Dialogflow > Client API Dialogflow
Amministratore intent Fornisce l'accesso per creare, aggiornare, eliminare o eseguire query sugli intent di un agente dalla console o dall'API. Dialogflow > Amministratore intent Dialogflow
Amministratore tipi di entità Fornisce l'accesso per creare, aggiornare, eliminare o eseguire query sui tipi di entità di un agente dalla console o dall'API. Dialogflow > Amministratore tipi di entità Dialogflow
Amministratore webhook Fornisce l'accesso per creare, aggiornare, eliminare o eseguire query sui webhook di un agente dalla console o dall'API. Dialogflow > Amministratore webhook di Dialogflow
Amministratore scenario di test Fornisce l'accesso per creare, aggiornare, eliminare o eseguire query sugli scenari di test di un agente dalla console o dall'API. Dialogflow > Amministratore scenari di test Dialogflow
Editor flussi Fornisce l'accesso per aggiornare, eseguire query su un flusso specifico e creare, aggiornare, eliminare o eseguire query sulle risorse del flusso (pagine, gruppi di route e versioni) dalla console o dall'API. Dialogflow > Editor flussi Dialogflow
Editor ambiente Fornisce l'accesso per eseguire l'aggiornamento, eseguire query su un ambiente specifico e per creare, aggiornare, eliminare o eseguire query sulle risorse dell'ambiente (esperimenti) dalla console o dall'API. Dialogflow > Editor ambiente Dialogflow

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

  1. Apri la console Dialogflow CX.
  2. Scegli il tuo progetto Google Cloud.
  3. Seleziona l'agente.
  4. Fai clic su Impostazioni agente.
  5. Fai clic sulla scheda Condividi.

Aggiungi un'entità

  1. Fai clic su Aggiungi.
  2. Inserisci l'indirizzo email dell'utente, del gruppo o dell'account di servizio.
  3. Seleziona Utente, Gruppo o Account di servizio come tipo di email.
  4. Per impostazione predefinita, viene aggiunto il ruolo Lettore Dialogflow, necessario per consentire agli utenti di accedere alla console di Dialogflow CX.
  5. Fai clic su Aggiungi ruolo in Assegna ruoli.
  6. Seleziona un tipo di ruolo in Tipo.
  7. Per i ruoli Editor flusso ed Editor ambiente, seleziona flussi o ambienti specifici o mantieni l'opzione predefinita Tutti.
  8. (Facoltativo) Imposta la data di scadenza per il ruolo.
  9. Fai clic su Salva.

Modifica ruoli entità

  1. Fai clic sull'entità nell'elenco.
  2. Aggiorna i ruoli per questa entità nel popup.
  3. Fai clic su Salva.

Rimuovi un'entità

  1. Trova l'entità nell'elenco.
  2. Fai clic sul pulsante Elimina per l'entità.
  3. Fai clic su Ok.

Controllare 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 seguenti, apri la pagina IAM nella console Google Cloud.

Aggiungi un account utente o di servizio al progetto

Puoi concedere le autorizzazioni agli utenti o agli account di servizio assegnando loro i ruoli nel tuo progetto Google Cloud. Gli utenti vengono aggiunti fornendo il proprio indirizzo email. Vengono aggiunti anche gli account di servizio fornendo l'indirizzo email associato. Se vuoi usare un account di servizio per più progetti, devi aggiungere gli account di servizio. Per trovare l'indirizzo email associato al tuo account di servizio, consulta la pagina Account di servizio IAM nella console Google Cloud.

Per aggiungere un'entità:

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

Cambia autorizzazioni

  1. Fai clic sul pulsante di modifica per l'entità.
  2. Seleziona un altro ruolo.
  3. Fai clic su Salva.

Rimuovi un'entità

  1. Fai clic sul pulsante Elimina per l'entità.

Aggiungi una condizione per limitare l'accesso a un solo agente

Quando aggiungi o modifichi un'entità, puoi creare una condizione IAM che limita l'accesso a un agente.

Ad esempio:

{
    "expression": "resource.name.startsWith(\"projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID\")",
    "title": "For Dialogflow Agent AGENT_ID"
}

Questa condizione ti concede l'accesso di base a un agente specifico. Ad esempio, un account di servizio con questa condizione può chiamare l'API Dialogflow solo per accedere all'agente specificato nella condizione del progetto, ma non ad altri agenti del progetto.

Per aggiungere questa condizione a un ruolo concesso a un'entità:

  1. Seleziona un'entità.
  2. Fai clic sul pulsante di modifica per l'entità.
  3. Fai clic su Aggiungi condizione.
  4. Nel campo Titolo, inserisci For Dialogflow Agent AGENT_ID e sostituisci AGENT_ID con il tuo ID agente.
  5. Puoi aggiungere qualsiasi descrizione.
  6. Seleziona l'Editor condizioni per creare la condizione.
  7. Aggiungi l'espressione resource.name.startsWith("projects/PROJECT_ID/locations/REGION_ID/agents/AGENT_ID"), sostituendo AGENT_ID con l'ID agente e PROJECT_ID con l'ID progetto.
  8. Fai clic su Salva.

Ruoli IAM

La seguente tabella elenca i ruoli IAM comuni pertinenti per Dialogflow CX. I riepiloghi delle autorizzazioni nella tabella utilizzano i seguenti termini:

  • Accesso completo: autorizzazione per modificare l'accesso, creare, eliminare, modificare e leggere qualsiasi risorsa.
  • Accesso in modifica: autorizzazione per creare, eliminare, modificare e leggere qualsiasi risorsa.
  • Accesso alle sessioni: autorizzazione per chiamare i metodi per le risorse solo di runtime durante una conversazione, ad esempio rilevamento di intent, aggiornamento del contesto, aggiornamento delle entità di sessione o interazioni di conversazione di Agent Assist.
  • Accesso in lettura: autorizzazione per leggere qualsiasi risorsa.
Ruolo IAM Riepilogo autorizzazioni Dettagli autorizzazione
Progetto >
Proprietario
Concedi la concessione ai proprietari del progetto che hanno bisogno dell'accesso completo a tutte le risorse di Google Cloud e Dialogflow:
  • Accesso completo a tutte le risorse dei progetti Google Cloud utilizzando la console o le API Google Cloud.
  • Accesso completo agli agenti tramite la console di Dialogflow.
  • Può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di base.
Progetto >
Editor
Concedi agli editor di progetto che hanno bisogno dell'accesso in modifica a tutte le risorse di Google Cloud e Dialogflow:
  • Accesso in modifica a tutte le risorse del progetto Google Cloud utilizzando la console Google Cloud o le API.
  • In modifica l'accesso agli agenti utilizzando la console di Dialogflow.
  • Può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di base.
Progetto >
Visualizzatore
Concedi ai visualizzatori del progetto che hanno bisogno dell'accesso in lettura a tutte le risorse di Google Cloud e Dialogflow:
  • Accesso in lettura a tutte le risorse del progetto Google Cloud utilizzando la console Google Cloud o le API.
  • L'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.
Progetto >
Amministratore IAM
Concedi agli amministratori IAM del progetto che devono accedere in modifica alla configurazione dei ruoli dell'agente Dialogflow. Consulta le definizioni dei ruoli di Gestore delle risorse IAM.
Progetto >
Browser
Concedi ai browser del progetto che richiedono l'accesso in lettura per sfogliare la gerarchia di un progetto, inclusi cartella, organizzazione e criterio IAM:
  • Accesso in lettura alla gerarchia dei progetti Google Cloud.
  • Nessun accesso agli agenti utilizzando la console di Dialogflow.
  • Impossibile rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli del progetto IAM.
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 Dialogflow utilizzando la console Google Cloud o le API.
  • Accesso completo agli agenti tramite la console di Dialogflow.
  • Può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di Dialogflow.
Dialogflow >
Client API Dialogflow
Concedi ai client API Dialogflow che eseguono il rilevamento delle chiamate di intent utilizzando l'API:
  • Accesso della 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.
Dialogflow >
Editor agente console Dialogflow
Concedi agli editor della console Dialogflow CX che modificano gli agenti esistenti:
  • Accesso completo a tutte le risorse Dialogflow utilizzando la console Google Cloud.
  • In modifica l'accesso alla maggior parte dei dati degli agenti utilizzando la console di Dialogflow.
  • Può rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di Dialogflow.
Dialogflow >
Lettore API Dialogflow
Concedi ai client API Dialogflow che eseguono chiamate di sola lettura specifiche per Dialogflow utilizzando l'API:
  • Accesso in lettura a tutte le risorse Dialogflow utilizzando la console Google Cloud o le API.
  • L'accesso in lettura agli agenti tramite la console di Dialogflow non può utilizzare il simulatore.
  • Impossibile rilevare l'intent utilizzando l'API.
Consulta le definizioni dei ruoli IAM di Dialogflow.
Amministratore di Discovery Engine Concedi agli utenti che creano agenti del datastore con l'interfaccia utente degli agenti Vertex AI. Vedi Altre definizioni dei ruoli.

OAuth

Se utilizzi le librerie client di Google per accedere a Dialogflow, non è necessario utilizzare OAuth direttamente perché queste librerie gestiscono l'implementazione per te. Se, però, implementi un tuo client, potrebbe essere necessario 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 riguardano l'accesso a Cloud Storage

Alcuni Dialogflow richiedono l'accesso agli oggetti in Cloud Storage per la lettura o la scrittura di dati. Quando chiami una di queste richieste, Dialogflow accede ai dati di Cloud Storage per conto del chiamante. Ciò significa che l'autenticazione delle richieste 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)