Control de acceso con IAM

Descripción general

La API de Live Stream usa la Administración de identidades y accesos (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 llamador 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 elementos Permisos necesarios
assets.create livestream.assets.create en la ubicación superior, que es una combinación específica de ubicación de datos y proyecto de Google Cloud.
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 ubicación de datos y proyecto de Google Cloud.
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 las entradas Permisos necesarios
inputs.create livestream.inputs.create en la ubicación superior, que es una combinación específica de ubicación de datos y proyecto de Google Cloud.
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 ubicación de datos y proyecto de Google Cloud.
inputs.patch livestream.inputs.update en el recurso de entrada
Nombre del método de grupos Permisos necesarios
pools.get livestream.pools.get en el recurso de grupo.
pools.patch livestream.pools.patch en el recurso de 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.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 del proyecto
  • Sube archivos a los buckets de Cloud Storage de tu proyecto
  • Borra archivos en los buckets de Cloud Storage de tu proyecto
  • Obtén una lista de los 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 Agente de servicio de transmisión en vivo y selecciona el botón Editar.
  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.