Controle de acesso com o IAM

Visão geral

A API Live Stream usa o gerenciamento de identidade e acesso (IAM) para fazer o controle de acesso.

É possível configurar o controle de acesso para a API Live Stream no nível do projeto. Por exemplo, conceda acesso para que os desenvolvedores possam listar e receber todos os eventos em um projeto.

Para uma descrição detalhada do IAM e dos recursos dele, consulte a documentação do IAM. Especificamente, consulte a seção sobre como gerenciar as políticas do IAM.

Todos os métodos da API Live Stream exigem que o autor da chamada tenha as permissões necessárias. Para mais informações, consulte Permissões e Papéis.

Permissões

Esta seção resume as permissões da API Live Stream compatíveis com o IAM.

Permissões necessárias

As tabelas a seguir listam as permissões do IAM associadas à API Live Stream.

Nome do método de recursos Permissões necessárias
assets.create livestream.assets.create no local pai, que é uma combinação específica de projeto do Google Cloud e local de dados.
assets.delete livestream.assets.delete no recurso de recurso.
assets.get livestream.assets.get no recurso do recurso.
assets.list livestream.assets.list no local pai, que é uma combinação específica de projeto do Google Cloud e local de dados.
Nome do método dos canais Permissões necessárias
channels.create livestream.channels.create no local pai, que é uma combinação específica de projeto do Google Cloud e local de dados.
channels.delete livestream.channels.delete no recurso do canal.
channels.get livestream.channels.get no recurso do canal.
channels.list livestream.channels.list no local pai, que é uma combinação específica de projeto do Google Cloud e local de dados.
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 de clipe Permissões necessárias
channels.clips.create livestream.clips.create no canal pai do recurso.
channels.clips.delete livestream.clips.delete no recurso do clipe.
channels.clips.get livestream.clips.get no recurso do clipe.
channels.clips.list livestream.clips.list no canal pai do recurso.
Nome do método de eventos Permissões necessárias
channels.events.create livestream.events.create no canal pai do recurso.
channels.events.delete livestream.events.delete no recurso do evento.
channels.events.get livestream.events.get no recurso do evento.
channels.events.list livestream.events.list no canal pai do recurso.
Nome do método de entrada Permissões necessárias
inputs.create livestream.inputs.create no local pai, que é uma combinação específica de projeto do Google Cloud e local 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 no local pai, que é uma combinação específica de projeto do Google Cloud e local de dados.
inputs.patch livestream.inputs.update no recurso de entrada.
Nome do método dos pools Permissões necessárias
pools.get livestream.pools.get no recurso do pool.
pools.patch livestream.pools.patch no recurso do pool.

Papéis

A tabela a seguir lista os papéis do IAM da API Live Stream, incluindo as permissões associadas a cada papel:

Papel do IAM Permissões

(roles/livestream.viewer)

Acesso de leitura aos recursos de transmissão ao vivo.

livestream.assets.get

livestream.assets.list

livestream.channels.get

livestream.channels.list

livestream.clips.get

livestream.clips.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 transmissão ao vivo.

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.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 papéis, consulte Noções básicas sobre papéis.

Acesso ao Cloud Storage

Por padrão, a API Live Stream tem acesso a todos os buckets do Cloud Storage do seu projeto. Quando você cria seu primeiro evento de transmissão ao vivo, a API Live Stream cria uma conta de serviço usando 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. Essa conta de serviço recebe o papel de agente de serviço de transmissão ao vivo e tem permissões para fazer o seguinte:

  • Ler arquivos nos buckets do Cloud Storage do projeto
  • Fazer upload de arquivos nos buckets do Cloud Storage do projeto
  • Excluir arquivos nos buckets do Cloud Storage do projeto
  • Listar arquivos e os metadados deles nos buckets do Cloud Storage do projeto

Como limitar o acesso

Para limitar esse acesso aos seus buckets do Cloud Storage, remova o papel de agente de serviço de transmissão ao vivo da conta de serviço e substitua-o por um acesso mais detalhado. Siga estas etapas:

  1. Acesse a página IAM (guia Permissões) no console do Google Cloud.
  2. Encontre a conta de serviço com o papel de agente de serviço de transmissão ao vivo e selecione o botão "Editar".
  3. Exclua o papel de agente de serviço de transmissão ao vivo da conta de serviço.
  4. Conceda acesso à conta de serviço para cada bucket individual do Cloud Storage:
    1. Acesse a página Navegador do Cloud Storage.
    2. Clique em um bucket.
    3. Selecione a guia Permissões.
    4. Clique em Adicionar.
    5. No campo Novos principais, digite o nome da conta de serviço.
    6. Em Papel, selecione Administrador de objetos do Storage.
    7. Clique em Salvar. A API Live Stream agora tem acesso ao bucket.