Controle de acesso com o IAM

Visão geral

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

Você pode configurar o controle de acesso para a API Live Stream no projeto nível Por exemplo, você pode conceder acesso aos desenvolvedores para listar e receber 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 permissões. 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 dos recursos Permissões necessárias
assets.create livestream.assets.create no local pai, que é um projeto específico do Google Cloud e local dos dados combinação.
assets.delete livestream.assets.delete no recurso do recurso.
assets.get livestream.assets.get no recurso do recurso.
assets.list livestream.assets.list no local do pai, que é um projeto e local de dados específicos do Google Cloud combinação.
Nome do método de canais Permissões necessárias
channels.create livestream.channels.create no local pai, que é um projeto específico do Google Cloud combinação de local.
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 clipes Permissõ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 pai do recurso.
Nome do método "Eventos" Permissões necessárias
channels.events.create livestream.events.create no canal principal para o 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 principal para o 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 do pai, que é um projeto e local de dados específicos do Google Cloud combinação.
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 a API Live Stream IAM papéis, incluindo as permissões associadas a cada um deles:

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. Quando você cria seu primeiro evento de transmissão ao vivo, o A API Live Stream cria uma conta de serviço usando a seguinte nomenclatura convenção:

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

PROJECT_NUMBER é o número do projeto com a API Live Stream ativada. Esta conta de serviço tem acesso ao recurso de agente de serviço e tem permissões para fazer o seguinte:

  • Ler arquivos nos buckets do Cloud Storage do seu projeto
  • Faça upload de arquivos para os buckets do Cloud Storage do seu projeto
  • Excluir arquivos nos buckets do Cloud Storage do projeto
  • Liste arquivos e os metadados deles nos buckets do Cloud Storage do seu projeto

Como limitar o acesso

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

  1. Acesse o 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 de edição.
  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.