Control de acceso con IAM

Descripción general

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

Puedes configurar el control de acceso de la API de Live Stream a nivel del proyecto. Por ejemplo, puedes otorgar acceso para que los desarrolladores enumeren y obtengan todos 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 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 los recursos Permisos necesarios
assets.create livestream.assets.create en la ubicación principal que es un proyecto específico de Google Cloud y la ubicación de los datos combinación.
assets.delete livestream.assets.delete en el recurso del recurso.
assets.get livestream.assets.get en el recurso del activo.
assets.list livestream.assets.list en la ubicación principal, que es un proyecto específico de Google Cloud y la ubicación de los datos combinación.
Nombre del método de los canales Permisos necesarios
channels.create livestream.channels.create en la ubicación principal que es un proyecto específico de Google Cloud combinación de ubicación.
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 principal que es un proyecto específico de Google Cloud combinación de ubicación.
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.delete livestream.clips.delete en el recurso de clip.
channels.clips.get livestream.clips.get en el recurso de clip.
channels.clips.list livestream.clips.list en el canal superior por el recurso.
Nombre del método de eventos Permisos necesarios
channels.events.create livestream.events.create en el canal superior para el 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 para el recurso.
Nombre del método de entrada Permisos necesarios
inputs.create livestream.inputs.create en la ubicación principal que es un proyecto específico de Google Cloud y la ubicación de los datos combinación.
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 principal, que es un proyecto específico de Google Cloud y la ubicación de los datos combinación.
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

Funciones

En la siguiente tabla, se indica la IAM de la API de Live Stream roles, incluidos los permisos asociados con cada rol:

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 todas las transmisiones buckets de Cloud Storage. 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 transmisiones 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 de 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 sección 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 depósito 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.