Controllo dell'accesso con IAM

Panoramica

L'API Live Stream utilizza Identity and Access Management (IAM) per controllo dell'accesso.

Puoi configurare controllo dell'accesso per l'API Live Stream a livello di progetto. Ad esempio, puoi concedere agli sviluppatori l'accesso per elencare e recuperare tutti gli eventi all'interno di un progetto.

Per una descrizione dettagliata di IAM e delle sue funzionalità, consulta la documentazione di IAM. In particolare, consulta la sezione sulla gestione delle policy IAM.

Ogni metodo dell'API Live Stream richiede che il chiamante disponga delle autorizzazioni necessarie. Per saperne di più, consulta Autorizzazioni e ruoli.

Autorizzazioni

Questa sezione riepiloga le autorizzazioni dell'API Live Stream supportate da IAM.

Autorizzazioni obbligatorie

Le tabelle riportate di seguito elencano le autorizzazioni IAM associate all'API Live Stream.

Nome metodo asset Autorizzazioni obbligatorie
assets.create livestream.assets.create nella località padre, ovvero una combinazione specifica di Google Cloud progetto e località dei dati.
assets.delete livestream.assets.delete sulla risorsa asset.
assets.get livestream.assets.get sulla risorsa asset.
assets.list livestream.assets.list nella località padre, ovvero una combinazione specifica di progetto e località dei dati. Google Cloud
Nome metodo canali Autorizzazioni obbligatorie
channels.create livestream.channels.create nella località padre, ovvero una combinazione specifica di Google Cloud progetto e dati località.
channels.delete livestream.channels.delete sulla risorsa canale.
channels.get livestream.channels.get sulla risorsa canale.
channels.list livestream.channels.list nella località padre, ovvero una combinazione specifica di Google Cloud progetto e località dei dati.
channels.patch livestream.channels.update sulla risorsa canale.
channels.start livestream.channels.start sulla risorsa canale.
channels.stop livestream.channels.stop sulla risorsa canale.
Nome metodo clip Autorizzazioni obbligatorie
channels.clips.create livestream.clips.create sul canale padre della risorsa.
channels.clips.delete livestream.clips.delete sulla risorsa clip.
channels.clips.get livestream.clips.get sulla risorsa clip.
channels.clips.list livestream.clips.list sul canale padre della risorsa.
Nome metodo eventi Autorizzazioni obbligatorie
channels.events.create livestream.events.create sul canale padre della risorsa.
channels.events.delete livestream.events.delete sulla risorsa evento.
channels.events.get livestream.events.get sulla risorsa evento.
channels.events.list livestream.events.list sul canale padre della risorsa.
Nome metodo input Autorizzazioni obbligatorie
inputs.create livestream.inputs.create nella località padre, ovvero una combinazione specifica di Google Cloud progetto e località dei dati.
inputs.delete livestream.inputs.delete sulla risorsa input.
inputs.get livestream.inputs.get sulla risorsa input.
inputs.list livestream.inputs.list nella località padre, che è una combinazione specifica di progetto e località dei dati . Google Cloud
inputs.patch livestream.inputs.update sulla risorsa input.
Nome metodo pool Autorizzazioni obbligatorie
pools.get livestream.pools.get sulla risorsa pool.
pools.patch livestream.pools.patch sulla risorsa pool.

Ruoli

La tabella riportata di seguito elenca i ruoli IAM per l'API Live Stream, comprese le autorizzazioni associate a ciascun ruolo.

Ruolo IAM Autorizzazioni

(roles/livestream.viewer)

Accesso in lettura alle risorse di live streaming.

livestream.assets.get

livestream.assets.list

livestream.channels.get

livestream.channels.list

livestream.channels.listEffectiveTags

livestream.channels.listTagBindings

livestream.clips.get

livestream.clips.list

livestream.dvrSessions.get

livestream.dvrSessions.list

livestream.events.get

livestream.events.list

livestream.inputs.get

livestream.inputs.list

livestream.inputs.listEffectiveTags

livestream.inputs.listTagBindings

livestream.locations.*

  • livestream.locations.get
  • livestream.locations.list

livestream.operations.get

livestream.operations.list

livestream.pools.get

livestream.pools.listEffectiveTags

livestream.pools.listTagBindings

resourcemanager.projects.get

resourcemanager.projects.list

(roles/livestream.editor)

Accesso completo alle risorse di live streaming.

livestream.*

  • livestream.assets.create
  • livestream.assets.delete
  • livestream.assets.get
  • livestream.assets.list
  • livestream.channels.create
  • livestream.channels.createTagBinding
  • livestream.channels.delete
  • livestream.channels.deleteTagBinding
  • livestream.channels.get
  • livestream.channels.list
  • livestream.channels.listEffectiveTags
  • livestream.channels.listTagBindings
  • livestream.channels.start
  • livestream.channels.stop
  • livestream.channels.update
  • livestream.clips.create
  • livestream.clips.delete
  • livestream.clips.get
  • livestream.clips.list
  • livestream.dvrSessions.create
  • livestream.dvrSessions.delete
  • livestream.dvrSessions.get
  • livestream.dvrSessions.list
  • livestream.dvrSessions.update
  • livestream.events.create
  • livestream.events.delete
  • livestream.events.get
  • livestream.events.list
  • livestream.inputs.create
  • livestream.inputs.createTagBinding
  • livestream.inputs.delete
  • livestream.inputs.deleteTagBinding
  • livestream.inputs.get
  • livestream.inputs.list
  • livestream.inputs.listEffectiveTags
  • livestream.inputs.listTagBindings
  • livestream.inputs.update
  • livestream.locations.get
  • livestream.locations.list
  • livestream.operations.cancel
  • livestream.operations.delete
  • livestream.operations.get
  • livestream.operations.list
  • livestream.pools.createTagBinding
  • livestream.pools.deleteTagBinding
  • livestream.pools.get
  • livestream.pools.listEffectiveTags
  • livestream.pools.listTagBindings
  • livestream.pools.update

resourcemanager.projects.get

resourcemanager.projects.list

Per saperne di più sui ruoli, consulta Informazioni sui ruoli.

Accesso a Cloud Storage

Per impostazione predefinita, l'API Live Stream ha accesso a tutti i bucket Cloud Storage del tuo progetto. Quando crei il tuo primo evento in live streaming, l'API Live Stream crea un account di servizio utilizzando la seguente convenzione di denominazione:

service-PROJECT_NUMBER@gcp-sa-livestream.iam.gserviceaccount.com

PROJECT_NUMBER è il numero del tuo progetto con l'API Live Stream abilitata. A questo account di servizio viene concesso il ruolo Agente di servizio Live Stream e dispone delle autorizzazioni per eseguire le seguenti operazioni:

  • Leggi i file nei bucket Cloud Storage del tuo progetto
  • Carica i file nei bucket Cloud Storage del tuo progetto
  • Elimina i file nei bucket Cloud Storage del tuo progetto
  • Elenca i file e i relativi metadati nei bucket Cloud Storage del tuo progetto

Limitazione dell'accesso

Per limitare l'accesso ai bucket Cloud Storage, rimuovi il ruolo Agente di servizio Live Stream dal account di servizio e sostituiscilo con un accesso più granulare. Segui questi passaggi:

  1. Vai alla pagina IAM (scheda Autorizzazioni) nella Google Cloud console.
  2. Trova il account di servizio con il ruolo Agente di servizio Live Stream e seleziona il pulsante Modifica.
  3. Elimina il ruolo Agente di servizio Live Stream dal account di servizio.
  4. Concedi l'accesso al account di servizio per ogni singolo bucket Cloud Storage:
    1. Vai alla pagina Browser Cloud Storage.
    2. Fai clic su un bucket.
    3. Seleziona la scheda Autorizzazioni.
    4. Fai clic su Aggiungi.
    5. Nel campo Nuove entità, digita il nome del account di servizio.
    6. In Ruolo, seleziona Storage Object Admin.
    7. Fai clic su Salva. L'API Live Stream ora ha accesso al bucket.