Control de acceso con IAM

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Descripción general

La API de transmisión en vivo usa la administración de identidades y accesos (IAM) para el control de acceso.

Puedes configurar el control de acceso para la API de transmisión en vivo a nivel de proyecto. Por ejemplo, puedes otorgar acceso para que los desarrolladores enumeren y obtengan todos los eventos dentro 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 API de transmisión en vivo 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 transmisión en vivo que admite IAM.

Permisos necesarios

En las siguientes tablas, se enumeran los permisos de IAM asociados con la API de transmisión en vivo.

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 y ubicación de datos de Google Cloud
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 y ubicación de datos de Google Cloud
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 eventos Permisos necesarios
events.create livestream.events.create en el canal superior del recurso
events.delete livestream.events.delete en el recurso de evento
events.get livestream.events.get en el recurso de evento
events.list livestream.events.list en el canal superior del recurso
Ingresa el nombre del método Permisos necesarios
inputs.create livestream.inputs.create en la ubicación superior, que es una combinación específica de proyecto y Google Cloud de 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 y Google Cloud de ubicación de datos
inputs.patch livestream.inputs.update en el recurso de entrada.

Funciones

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

Función de API de transmisión en vivo Permisos
roles/livestream.viewer
  • livestream.channels.list
  • livestream.channels.get
  • livestream.events.list
  • livestream.events.get
  • livestream.inputs.list
  • livestream.inputs.get
roles/livestream.editor Todos los permisos roles/livestream.viewer y los siguientes:
  • livestream.channels.create
  • livestream.channels.delete
  • livestream.channels.update
  • livestream.channels.start
  • livestream.channels.stop
  • livestream.events.create
  • livestream.events.delete
  • livestream.inputs.create
  • livestream.inputs.delete
  • livestream.inputs.update

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 transmisión en vivo tiene acceso a todos los depósitos de Cloud Storage de tu proyecto. Cuando creas tu primer evento de transmisión en vivo, la API de transmisión en vivo crea una cuenta de servicio mediante 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 transmisión en vivo habilitada. A esta cuenta de servicio se le otorga la función de Agente de servicio de transmisión en vivo y tiene permisos para hacer lo siguiente:

  • Leer archivos de los depósitos de Cloud Storage de tu proyecto
  • Sube archivos a los depósitos de Cloud Storage de tu proyecto
  • Borrar archivos de los depósitos de Cloud Storage de tu proyecto
  • Enumerar archivos y sus metadatos en los depósitos de Cloud Storage de tu proyecto

Limita el acceso

Para limitar este acceso a tus depósitos de Cloud Storage, quita la función de Agente de servicio de transmisión en vivo de la cuenta de servicio y reemplázala por acceso más detallado. Lleve a cabo los pasos siguientes:

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