Control de acceso con la gestión de identidades y accesos

Información general

La API Live Stream usa Gestión de Identidades y Accesos (IAM) para el control de acceso.

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

Para obtener una descripción detallada de IAM y de sus características, consulta la documentación de IAM. En particular, echa un vistazo a la sección sobre la gestión de políticas de gestión de identidades y accesos.

Todos los métodos de la API Live Stream requieren que el llamador cuente con los permisos necesarios. Para obtener más información, consulta Permisos y Roles.

Permisos

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

Permisos obligatorios

En las siguientes tablas se indican los permisos de IAM que están asociados con la API Live Stream.

Nombre del método de recursos Permisos obligatorios
assets.create livestream.assets.create en la ubicación principal, que es una combinación específica de proyecto y ubicación de datos. Google Cloud
assets.delete livestream.assets.delete en el recurso.
assets.get livestream.assets.get en el recurso.
assets.list livestream.assets.list en la ubicación superior, que es una combinación específica de proyecto y ubicación de datos. Google Cloud
Nombre del método de canales Permisos obligatorios
channels.create livestream.channels.create en la ubicación superior, que es una combinación específica de proyecto y ubicación de datos. Google Cloud
channels.delete livestream.channels.delete en el recurso de canal.
channels.get livestream.channels.get en el recurso de 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. Google Cloud
channels.patch livestream.channels.update en el recurso de canal.
channels.start livestream.channels.start en el recurso de canal.
channels.stop livestream.channels.stop en el recurso de canal.
Nombre del método de clips Permisos obligatorios
channels.clips.create livestream.clips.create en el canal superior del recurso.
channels.clips.delete livestream.clips.delete en el recurso del clip.
channels.clips.get livestream.clips.get en el recurso del clip.
channels.clips.list livestream.clips.list en el canal superior del recurso.
Nombre del método de eventos Permisos obligatorios
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 obligatorios
inputs.create livestream.inputs.create en la ubicación principal, que es una combinación específica de proyecto y ubicación de datos. 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 proyecto y ubicación de datos. Google Cloud
inputs.patch livestream.inputs.update en el recurso de entrada.
Nombre del método de los grupos Permisos obligatorios
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 indican los roles de gestión de identidades y accesos de la API Live Stream, incluidos los permisos asociados a cada rol:

Rol de gestión de identidades y accesos Permisos

(roles/livestream.viewer)

Acceso de lectura a los recursos de emisión en directo.

livestream.assets.get

livestream.assets.list

livestream.channels.get

livestream.channels.list

livestream.clips.get

livestream.clips.list

livestream.dvrSessions.get

livestream.dvrSessions.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 emisión en directo.

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.dvrSessions.create
  • livestream.dvrSessions.delete
  • livestream.dvrSessions.get
  • livestream.dvrSessions.list
  • livestream.dvrSessions.update
  • 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 los roles, consulta el artículo Descripción de los roles.

Acceso a Cloud Storage

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

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

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

  • Leer archivos en los segmentos de Cloud Storage de tu proyecto
  • Subir archivos a los depósitos de Cloud Storage de tu proyecto
  • Eliminar archivos de los segmentos de Cloud Storage de tu proyecto
  • Listar archivos y sus metadatos en los segmentos de Cloud Storage de tu proyecto

Limitar el acceso

Para limitar este acceso a tus segmentos de Cloud Storage, quita el rol Agente de servicio de emisión en directo de la cuenta de servicio y sustitúyelo por un acceso más específico. Sigue estos pasos:

  1. Ve a la página Gestión de identidades y accesos (pestaña Permisos) de la Google Cloud consola.
  2. Busca la cuenta de servicio con el rol Agente de servicio de emisiones en directo y selecciona el botón de edición.
  3. Elimina el rol Agente de servicio de emisión en directo de la cuenta de servicio.
  4. Concede acceso a la cuenta de servicio de cada segmento de Cloud Storage:
    1. Ve a la página Navegador de Cloud Storage.
    2. Haz clic en un segmento.
    3. Selecciona la pestaña Permisos.
    4. Haz clic en Añadir.
    5. En el campo Nuevos principales, escribe el nombre de la cuenta de servicio.
    6. En Rol, selecciona Administrador de objetos de Storage.
    7. Haz clic en Guardar. La API Live Stream ahora tiene acceso al contenedor.