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

Información general

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

Puedes configurar el control de acceso para la API Transcoder a nivel de proyecto. Por ejemplo, puedes conceder acceso a los desarrolladores para que puedan mostrar y obtener todos los trabajos 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 Transcoder 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 Transcoder que admite IAM.

Permisos obligatorios

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

Método de tarea Permisos obligatorios
jobs.create transcoder.jobs.create en el proyecto superior. Google Cloud
jobs.delete transcoder.jobs.delete en el proyecto superior. Google Cloud
jobs.get transcoder.jobs.get en el proyecto superior. Google Cloud
jobs.list transcoder.jobs.list en el proyecto superior. Google Cloud
Método de plantilla de tarea Permisos obligatorios
jobTemplates.create transcoder.jobTemplates.create en el proyecto superior. Google Cloud
jobTemplates.delete transcoder.jobTemplates.delete en el proyecto superior. Google Cloud
jobTemplates.get transcoder.jobTemplates.get en el proyecto superior. Google Cloud
jobTemplates.list transcoder.jobTemplates.list en el proyecto superior. Google Cloud

Roles

En la siguiente tabla se indican los roles de IAM de la API Transcoder, incluidos los permisos asociados a cada rol:

Rol de gestión de identidades y accesos Permisos

(roles/transcoder.viewer)

Permiso para ver todos los recursos de la herramienta de transcodificación.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.jobTemplates.get

transcoder.jobTemplates.list

transcoder.jobTemplates.listEffectiveTags

transcoder.jobTemplates.listTagBindings

transcoder.jobs.get

transcoder.jobs.list

transcoder.jobs.listEffectiveTags

transcoder.jobs.listTagBindings

(roles/transcoder.admin)

Acceso completo a todos los recursos de la herramienta de transcodificación.

resourcemanager.projects.get

resourcemanager.projects.list

transcoder.*

  • transcoder.jobTemplates.create
  • transcoder.jobTemplates.createTagBinding
  • transcoder.jobTemplates.delete
  • transcoder.jobTemplates.deleteTagBinding
  • transcoder.jobTemplates.get
  • transcoder.jobTemplates.list
  • transcoder.jobTemplates.listEffectiveTags
  • transcoder.jobTemplates.listTagBindings
  • transcoder.jobs.create
  • transcoder.jobs.createTagBinding
  • transcoder.jobs.delete
  • transcoder.jobs.deleteTagBinding
  • transcoder.jobs.get
  • transcoder.jobs.list
  • transcoder.jobs.listEffectiveTags
  • transcoder.jobs.listTagBindings

Los roles roles/owner y roles/editor conceden los permisos asociados al rol roles/transcoder.admin. El rol roles/viewer concede permisos asociados al rol roles/transcoder.viewer.

Los roles roles/owner, roles/editor y roles/viewer incluyen permisos para otros servicios de Google Cloud . Para obtener más información sobre los roles, consulta el artículo Descripción de los roles.

Acceso a Cloud Storage y Pub/Sub

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

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

PROJECT_NUMBER es el número del proyecto en el que está habilitada la API Transcoder. A esta cuenta de servicio se le ha asignado el rol Agente de servicio de Transcoder y tiene permisos para hacer lo siguiente:

  • Descargar y subir archivos a los segmentos de Cloud Storage de tu proyecto
  • Publicar actualizaciones de estado en los temas de Pub/Sub de tu proyecto

Limitar el acceso

Para limitar este acceso, quita el rol Agente de servicio de Transcoder de la cuenta de servicio y sustitúyelo por un acceso más específico. Sigue estos pasos:

  1. Ve a la página IAM (pestaña Permisos) de la Google Cloud consola.
  2. Busca la cuenta de servicio con el rol Agente de servicio de Transcoder y selecciona el botón de edición.
  3. Elimina el rol Agente de servicio de Transcoder de la cuenta de servicio.
  4. Concede acceso a la cuenta de servicio a 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 cuadro Principales nuevas, escribe el nombre de la cuenta de servicio.
    6. En Rol, selecciona Administrador de objetos de Storage.
    7. Haz clic en Guardar. La API Transcoder ya tiene acceso al bucket.
  5. (Opcional) Concede acceso a la cuenta de servicio a cualquier tema de Pub/Sub configurado:
    1. Ve a la página Temas de Pub/Sub.
    2. Haz clic en un tema.
    3. Selecciona la pestaña Permisos.
    4. Haz clic en Añadir 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 Transcoder ahora tiene acceso al tema.