Control de acceso con IAM

Descripción general

La API de Transcoder usa Identity and Access Management (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 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 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.

Roles

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

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

De forma predeterminada, la API de Transcoder tiene acceso a todos los buckets de Cloud Storage y los temas de Pub/Sub de tu proyecto. Cuando creas tu primer trabajo, la API de Transcoder crea una cuenta de servicio con 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 el rol de agente de servicio de transcodificador y tiene permisos para hacer lo siguiente:

  • Descarga y sube archivos a los buckets 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 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 bucket 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. Otorga acceso a la cuenta de servicio para cualquier tema de Pub/Sub configurado (opcional):
    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 Función, selecciona Publicador de Pub/Sub.
    7. Haz clic en Guardar. La API de Transcoder ahora tiene acceso al tema.