Controlo de acesso com a IAM

Vista geral

A API Live Stream usa o Identity and Access Management (IAM) para o controlo de acesso.

Pode configurar o controlo de acesso para a API Live Stream ao nível do projeto. Por exemplo, pode conceder acesso aos programadores para listar e obter todos os eventos num projeto.

Para uma descrição detalhada do IAM e das respetivas funcionalidades, consulte a documentação do IAM. Em particular, consulte a secção sobre a gestão de políticas de IAM.

Todos os métodos da API Live Stream requerem que o autor da chamada tenha as autorizações necessárias. Para mais informações, consulte os artigos Autorizações e Funções.

Autorizações

Esta secção resume as autorizações da API Live Stream suportadas pelo IAM.

Autorizações necessárias

As tabelas seguintes indicam as autorizações da IAM associadas à API Live Stream.

Nome do método de recursos Autorizações necessárias
assets.create livestream.assets.create na localização principal, que é uma combinação específica Google Cloud de projeto e localização de dados.
assets.delete livestream.assets.delete no recurso do recurso.
assets.get livestream.assets.get no recurso do recurso.
assets.list livestream.assets.list na localização principal, que é uma combinação específica de projeto e localização de dados. Google Cloud
Nome do método Channels Autorizações necessárias
channels.create livestream.channels.create na localização principal, que é uma combinação específica de projeto e localização de dados. Google Cloud
channels.delete livestream.channels.delete no recurso do canal.
channels.get livestream.channels.get no recurso do canal.
channels.list livestream.channels.list na localização principal, que é uma combinação específica de projeto e localização de dados. Google Cloud
channels.patch livestream.channels.update no recurso do canal.
channels.start livestream.channels.start no recurso do canal.
channels.stop livestream.channels.stop no recurso do canal.
Nome do método Clips Autorizações necessárias
channels.clips.create livestream.clips.create no canal principal para o recurso.
channels.clips.delete livestream.clips.delete no recurso de clipe.
channels.clips.get livestream.clips.get no recurso de clipe.
channels.clips.list livestream.clips.list no canal principal do recurso.
Nome do método de eventos Autorizações necessárias
channels.events.create livestream.events.create no canal principal para o recurso.
channels.events.delete livestream.events.delete no recurso de evento.
channels.events.get livestream.events.get no recurso de evento.
channels.events.list livestream.events.list no canal principal para o recurso.
Nome do método de introdução Autorizações necessárias
inputs.create livestream.inputs.create na localização principal, que é uma combinação específica Google Cloud de projeto e localização de dados.
inputs.delete livestream.inputs.delete no recurso de entrada.
inputs.get livestream.inputs.get no recurso de entrada.
inputs.list livestream.inputs.list na localização principal, que é uma combinação específica de projeto e localização de dados. Google Cloud
inputs.patch livestream.inputs.update no recurso de entrada.
Nome do método Pools Autorizações necessárias
pools.get livestream.pools.get no recurso de piscina.
pools.patch livestream.pools.patch no recurso de piscina.

Funções

A tabela seguinte lista as funções da IAM da API Live Stream, incluindo as autorizações associadas a cada função:

Função de IAM Autorizações

(roles/livestream.viewer)

Acesso de leitura aos recursos de streams em direto.

livestream.assets.get

livestream.assets.list

livestream.channels.get

livestream.channels.list

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.locations.*

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

livestream.operations.get

livestream.operations.list

livestream.pools.get

resourcemanager.projects.get

resourcemanager.projects.list

(roles/livestream.editor)

Acesso total aos recursos de streams em direto.

livestream.*

  • livestream.assets.create
  • livestream.assets.delete
  • livestream.assets.get
  • livestream.assets.list
  • livestream.channels.create
  • livestream.channels.delete
  • livestream.channels.get
  • livestream.channels.list
  • 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.delete
  • livestream.inputs.get
  • livestream.inputs.list
  • livestream.inputs.update
  • livestream.locations.get
  • livestream.locations.list
  • livestream.operations.cancel
  • livestream.operations.delete
  • livestream.operations.get
  • livestream.operations.list
  • livestream.pools.get
  • livestream.pools.update

resourcemanager.projects.get

resourcemanager.projects.list

Para mais informações sobre as funções, consulte o artigo Compreender as funções.

Acesso ao Cloud Storage

Por predefinição, a API Live Stream tem acesso a todos os contentores do Cloud Storage do seu projeto. Quando cria o seu primeiro evento de stream em direto, a API Live Stream cria uma conta de serviço com a seguinte convenção de nomenclatura:

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

PROJECT_NUMBER é o número do seu projeto com a API Live Stream ativada. Esta conta de serviço tem o papel de agente do serviço de transmissão em direto e autorizações para fazer o seguinte:

  • Ler ficheiros nos contentores do Cloud Storage do seu projeto
  • Carregue ficheiros para os contentores do Cloud Storage do seu projeto
  • Elimine ficheiros nos contentores do Cloud Storage do seu projeto
  • Liste os ficheiros e os respetivos metadados nos contentores do Cloud Storage do seu projeto

Limitar o acesso

Para limitar este acesso aos seus contentores do Cloud Storage, remova a função de agente do serviço Live Stream da conta de serviço e substitua-a por um acesso mais detalhado. Siga estes passos:

  1. Aceda à página IAM (separador Autorizações) na Google Cloud consola.
  2. Encontre a conta de serviço com a função de agente do serviço de stream em direto e selecione o botão de edição.
  3. Elimine a função de agente do serviço de streams em direto da conta de serviço.
  4. Conceda acesso à conta de serviço para cada contentor do Cloud Storage individual:
    1. Aceda à página do explorador do Cloud Storage.
    2. Clique num depósito.
    3. Selecione o separador Autorizações.
    4. Clique em Adicionar.
    5. No campo Novos membros, escreva o nome da conta de serviço.
    6. Em Função, selecione Administrador de objetos de armazenamento.
    7. Clique em Guardar. A API Live Stream tem agora acesso ao contentor.