Control de acceso

Descripción general

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

Puedes configurar el control de acceso para la API de Transcoder a nivel de proyecto. Por ejemplo, puedes otorgar acceso a los desarrolladores para que enumeren y obtengan todos los trabajos 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 Transcoder requiere que la persona que llama 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 Transcoder que admite IAM.

Permisos necesarios

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

Método de trabajo Permisos necesarios
jobs.create transcoder.jobs.create en el proyecto superior de Google Cloud.
jobs.delete transcoder.jobs.delete en el proyecto superior de Google Cloud.
jobs.get transcoder.jobs.get en el proyecto superior de Google Cloud.
jobs.list transcoder.jobs.list en el proyecto superior de Google Cloud.
Método de la plantilla de trabajos Permisos necesarios
jobTemplates.create transcoder.jobTemplates.create en el proyecto superior de Google Cloud.
jobTemplates.delete transcoder.jobTemplates.delete en el proyecto superior de Google Cloud.
jobTemplates.get transcoder.jobTemplates.get en el proyecto superior de Google Cloud.
jobTemplates.list transcoder.jobTemplates.list en el proyecto superior de Google Cloud.

Funciones

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

Función de la API de transcodificador Permisos
roles/transcoder.viewer
  • transcoder.jobs.list
  • transcoder.jobs.get
  • transcoder.jobTemplates.list
  • transcoder.jobTemplates.get
roles/transcoder.admin Todos los permisos roles/transcoder.viewer y los siguientes:
  • transcoder.jobs.create
  • transcoder.jobs.delete
  • transcoder.jobTemplates.create
  • transcoder.jobTemplates.delete

Las funciones roles/owner y roles/editor otorgan los permisos asociados con la función roles/transcoder.admin. La función roles/viewer otorga permisos asociados con la función roles/transcoder.viewer.

Las funciones roles/owner, roles/editor y roles/viewer también incluyen permisos para otros servicios de Google Cloud. Para obtener más información sobre las funciones, consulta Información sobre las funciones.

Acceso a Cloud Storage y Pub/Sub

Según la configuración predeterminada, la API de Transcoder tiene acceso a todos los depósitos y temas de Pub/Sub de tu proyecto. Cuando creas tu primer trabajo, la API de Transcoder crea una cuenta de servicio mediante la siguiente convención de nombres:

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

PROJECT_NUMBER es el número de tu proyecto con la API de Transcoder habilitada. A esta cuenta de servicio se le otorga la función de agente de servicio de Transcoder y tiene permisos para hacer lo siguiente:

  • Descarga y sube archivos a los depósitos de Cloud Storage de tu proyecto
  • Publica actualizaciones de estado en los temas de Pub/Sub de tu proyecto

Limita el acceso

Para limitar este acceso, quita la función de Agente de servicio de Transcoder de la cuenta de servicio y reemplázala por un acceso más detallado. Lleva 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 Transcoder y selecciona el botón Editar.
  3. Borra la función Agente del servicio de Transcoder 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. Haga clic en Agregar.
    5. En el cuadro Nuevos principales, 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 Transcoder ahora tiene acceso al bucket.
  5. (Opcional) Otorga acceso a la cuenta de servicio para cualquier tema de Pub/Sub configurado:
    1. Ir a la página de temas de Pub/Sub
    2. Haz clic en un tema.
    3. Selecciona la pestaña Permisos.
    4. Haz clic en Agregar principal.
    5. En el cuadro Nuevos principales, escribe el nombre de la cuenta de servicio.
    6. En Función, selecciona Publicador de Pub/Sub.
    7. Haz clic en Guardar. La API de Transcoder ahora tiene acceso al tema.