Control de acceso con IAM

Descripción general

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

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

Esta sección resume los permisos de la API de Transcoder que 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 plantilla de trabajo 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 IAM Permisos

(roles/transcoder.viewer)

Puede ver todos los recursos del transcodificador.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.jobTemplates.get

transcoder.jobTemplates.list

transcoder.jobs.get

transcoder.jobs.list

(roles/transcoder.admin)

Tiene acceso completo a los recursos del transcodificador.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.*

  • transcoder.jobTemplates.create
  • transcoder.jobTemplates.delete
  • transcoder.jobTemplates.get
  • transcoder.jobTemplates.list
  • transcoder.jobs.create
  • transcoder.jobs.delete
  • transcoder.jobs.get
  • transcoder.jobs.list

Los roles roles/owner y roles/editor otorgan los permisos asociados con la función de roles/transcoder.admin. El rol roles/viewer otorga permisos asociado con el rol de 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

De forma predeterminada, la API de Transcoder tiene acceso a todos los datos buckets de Cloud Storage y temas de Pub/Sub. Cuando crees tu primer trabajo, la API de Transcoder crea una cuenta de servicio con el siguiente convención de nomenclatura:

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 el El rol de agente de servicio de transcodificador y tiene permisos para realizar las siguientes acciones:

  • Descargar y subir archivos a los buckets de Cloud Storage de tu proyecto
  • Publica actualizaciones de estado de 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 sección Página IAM (pestaña Permisos) en la consola de Google Cloud.
  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. Haz clic en Agregar.
    5. En el cuadro 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 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 Principales nuevas, escribe el nombre de la cuenta de servicio.
    6. En Rol, selecciona Publicador de Pub/Sub.
    7. Haz clic en Guardar. La API de Transcoder ahora tiene acceso al tema.