Control de acceso con IAM

Descripción general

La API de Live Stream usa Identity and Access Management (IAM) para el control de acceso.

Puedes configurar el control de acceso para la API de Live Stream a nivel de proyecto. Por ejemplo, puedes otorgar acceso para que los desarrolladores enumeren y obtengan todos los eventos de un proyecto.

Para obtener una descripción detallada de IAM y sus características, consulta la documentación de IAM. En particular, consulta la sección sobre administración de políticas de IAM.

Cada método de la API de Live Stream requiere que el emisor tenga los permisos necesarios. Para obtener más información, consulta el artículo sobre permisos y funciones.

Permisos

En esta sección, se resumen los permisos de la API de Live Stream que admite IAM.

Permisos necesarios

En las siguientes tablas, se enumeran los permisos de IAM asociados con la API de Live Stream.

Nombre del método de los recursos Permisos necesarios
assets.create livestream.assets.create en la ubicación superior, que es una combinación específica de proyecto de Google Cloud y ubicación de datos.
assets.delete livestream.assets.delete en el recurso del recurso.
assets.get livestream.assets.get en el recurso del recurso.
assets.list livestream.assets.list en la ubicación superior, que es una combinación específica de proyecto de Google Cloud y ubicación de datos.
Nombre del método de los canales Permisos necesarios
channels.create livestream.channels.create en la ubicación superior, que es una combinación específica de proyecto de Google Cloud y ubicación de datos.
channels.delete livestream.channels.delete en el recurso del canal
channels.get livestream.channels.get en el recurso del canal
channels.list livestream.channels.list en la ubicación superior, que es una combinación específica de proyecto de Google Cloud y ubicación de datos.
channels.patch livestream.channels.update en el recurso del canal
channels.start livestream.channels.start en el recurso del canal
channels.stop livestream.channels.stop en el recurso del canal
Nombre del método de clips Permisos necesarios
channels.clips.create livestream.clips.create en el canal superior del recurso
channels.clips.get livestream.clips.get en el recurso de clip.
channels.clips.list livestream.clips.list en el canal superior del recurso.
Nombre del método de eventos Permisos necesarios
channels.events.create livestream.events.create en el canal superior del recurso
channels.events.delete livestream.events.delete en el recurso del evento
channels.events.get livestream.events.get en el recurso del evento
channels.events.list livestream.events.list en el canal superior del recurso
Nombre del método de entrada Permisos necesarios
inputs.create livestream.inputs.create en la ubicación superior, que es una combinación específica de proyecto de Google Cloud y ubicación de datos.
inputs.delete livestream.inputs.delete en el recurso de entrada
inputs.get livestream.inputs.get en el recurso de entrada
inputs.list livestream.inputs.list en la ubicación superior, que es una combinación específica de proyecto de Google Cloud y ubicación de datos.
inputs.patch livestream.inputs.update en el recurso de entrada
Nombre del método de los grupos Permisos necesarios
pools.get livestream.pools.get en el recurso del grupo
pools.patch livestream.pools.patch en el recurso del grupo

Roles

En la siguiente tabla, se enumeran las funciones de IAM de la API de Live Stream, incluidos los permisos asociados con cada función:

Función de IAM Permisos

(roles/livestream.viewer)

Acceso de lectura a los recursos de transmisión en 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)

Acceso completo a los recursos de transmisión en 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 obtener más información sobre las funciones, consulta Información sobre las funciones.

Acceso a Cloud Storage

De forma predeterminada, la API de Live Stream tiene acceso a todos los buckets de Cloud Storage de tu proyecto. Cuando creas tu primer evento de transmisión en vivo, la API de Live Stream crea una cuenta de servicio con la siguiente convención de nombres:

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

PROJECT_NUMBER es el número de tu proyecto con la API de Live Stream habilitada. A esta cuenta de servicio se le otorga el rol de agente de servicio de transmisión en vivo y tiene permisos para hacer lo siguiente:

  • Lee archivos en los buckets de Cloud Storage de tu proyecto
  • Sube archivos a los buckets de Cloud Storage de tu proyecto
  • Borra archivos en los buckets de Cloud Storage de tu proyecto
  • Muestra una lista de archivos y sus metadatos en los buckets de Cloud Storage de tu proyecto

Limita el acceso

Para limitar este acceso a tus buckets de Cloud Storage, quita el rol Agente de servicio de transmisión en vivo de la cuenta de servicio y reemplázalo por un acceso más detallado. Lleva a cabo los pasos siguientes:

  1. Ve a la página IAM (pestaña Permisos) en la consola de Google Cloud.
  2. Busca la cuenta de servicio con el rol de agente de servicio de transmisión en vivo y selecciona el botón de edición.
  3. Borra el rol Agente de servicio de transmisión en vivo de la cuenta de servicio.
  4. Otorga acceso a la cuenta de servicio para cada bucket individual de Cloud Storage:
    1. Ir a la página del navegador de Cloud Storage
    2. Haz clic en un bucket.
    3. Selecciona la pestaña Permisos.
    4. Haz clic en Agregar.
    5. En el campo Principales nuevas, escribe el nombre de la cuenta de servicio.
    6. En Rol, selecciona Administrador de objetos de almacenamiento.
    7. Haz clic en Guardar. La API de Live Stream ahora tiene acceso al bucket.