Control de acceso con IAM

AI Platform Prediction usa la administración de identidades y accesos (IAM) para administrar el acceso a los recursos. Para otorgar acceso a un recurso, asigna una o más funciones a un usuario, un grupo o una cuenta de servicio.

Existen tres tipos de funciones de IAM que se pueden usar en AI Platform Prediction:

En esta guía, se describen las funciones predefinidas de AI Platform Prediction, su uso habitual y los permisos asociados.

Esta guía se centra en las funciones y los permisos que necesitas para acceder a los recursos de AI Platform Prediction. A fin de obtener más información sobre los permisos que estos recursos tienen para acceder a otros recursos de Google Cloud, lee sobre las cuentas de servicio de AI Platform que administra Google y las cuentas de servicio personalizadas.

Funciones básicas

Las funciones heredadas de IAM de AI Platform Prediction se basan en las funciones básicas que son comunes a todos los servicios de GCP: propietario, visualizador y editor.

La función heredada de editor de proyecto equivale a la función de administrador de AI Platform Prediction.

La función heredada de visualizador de proyecto otorga los mismos permisos que la función de visualizador de AI Platform Prediction, además de acceso para enviar solicitudes de predicción en línea. La ventaja de usar la función de visualizador de AI Platform Prediction es que el usuario obtiene acceso de solo lectura a los recursos de este servicio.

Funciones predefinidas

Las funciones predefinidas otorgan un conjunto de permisos relacionados. AI Platform Prediction ofrece funciones predefinidas para el proyecto y, también, para trabajos, operaciones y modelos individuales.

Para ver una lista completa de los permisos para cada función, haz clic en el nombre de la función.

Funciones de proyectos

Las funciones de visualizador, desarrollador y administrador de AI Platform Prediction otorgan diferentes niveles de acceso a los recursos a nivel de proyecto.

Para agregar, actualizar o quitar estas funciones en el proyecto de AI Platform Prediction, consulta la documentación sobre cómo otorgar, cambiar y revocar el acceso.

Título de la función Nombre de la función Capacidades
Administrador de AI Platform Prediction

roles/ml.admin

Control total del proyecto de AI Platform Prediction y de sus trabajos, operaciones, modelos y versiones.

Nota: La función básica de editor del proyecto es equivalente a roles/ml.admin.

Desarrollador de AI Platform Prediction

roles/ml.developer

Crea versiones, modelos y trabajos de entrenamiento y predicción, y envía solicitudes de predicción en línea.

Visualizador de AI Platform Prediction

roles/ml.viewer

Acceso de solo lectura a los recursos de AI Platform Prediction.

Funciones de modelos

Las funciones de propietario y de usuario del modelo de AI Platform Prediction otorgan distintos permisos a un recurso de modelo específico.

Puedes compartir los modelos con personas o servicios si les otorgas la función de usuario del modelo.

Título de la función Nombre de la función Capacidades
Propietario del modelo de AI Platform Prediction

roles/ml.modelOwner

Acceso total al modelo y sus versiones. Esta función se otorga de forma automática al usuario que crea el modelo.

Usuario del modelo de AI Platform Prediction

roles/ml.modelUser

Permisos para leer el modelo y sus versiones, y usarlos para predicción. Si otorgas esta función será más fácil compartir modelos específicos.

Funciones de trabajo y operación

Al igual que la función de propietario del modelo, hay funciones de propietario a nivel de recurso de operación y de trabajo que se asignan de forma automática al usuario que crea el trabajo o la operación. Estas funciones otorgan al usuario el control total de cualquier operación o trabajo que cree. Si deseas obtener más información, consulta los permisos para las funciones de operación y trabajo.

Permisos y roles

Consulta esta sección para obtener una lista completa de los permisos que se otorgan con las funciones predefinidas de AI Platform Prediction. Si estas funciones predefinidas no satisfacen tus necesidades, usa esta sección como referencia para crear tus propias funciones personalizadas.

Función de administrador

Nombre de la función Descripción Permisos
roles/ml.admin Administrador de AI Platform Prediction

Acceso total al proyecto de AI Platform Prediction y a sus trabajos, operaciones, modelos y versiones.

Nota: Migrar a esta función desde la función básica de editor del proyecto es bastante simple. Si antes usabas la función básica de editor asignada a nivel de proyecto, puedes usar esta función roles/ml.admin para otorgar el mismo conjunto de permisos al usuario.

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.create
  • ml.jobs.list
  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.jobs.setIamPolicy
  • ml.jobs.cancel
  • ml.operations.list
  • ml.operations.get
  • ml.operations.cancel
  • ml.models.create
  • ml.models.list
  • ml.models.get
  • ml.models.setIamPolicy
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.models.delete
  • ml.models.update
  • ml.versions.create
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict
  • ml.versions.delete

Función de desarrollador

Nombre de la función Descripción Permisos
roles/ml.developer

Acceso para crear versiones, modelos y trabajos de entrenamiento y predicción, y para enviar solicitudes de predicción en línea.

Nota: Un desarrollador recibe los permisos ml.jobs.cancel y ml.jobs.update en todos los trabajos que crea, ya que, cuando crea un trabajo, se le otorga de forma automática la función de propietario del trabajo de AI Platform Prediction.

Recomendación: Otorga al desarrollador acceso de solo lectura a los registros de AI Platform Prediction para solucionar problemas.

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.create
  • ml.jobs.list
  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.operations.list
  • ml.operations.get
  • ml.models.create
  • ml.models.list
  • ml.models.get
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict

Función de visualizador

Nombre de la función Descripción Permisos
roles/ml.viewer

Acceso de solo lectura a los recursos de AI Platform Prediction en un proyecto específico.

Nota: La función heredada de visualizador del proyecto otorga al usuario los mismos permisos que la función roles/ml.viewer, además de acceso para enviar solicitudes de predicción en línea.

  • resourcemanager.projects.get
  • ml.projects.getConfig
  • ml.jobs.list
  • ml.jobs.get
  • ml.operations.list
  • ml.operations.get
  • ml.models.list
  • ml.models.get
  • ml.versions.list
  • ml.versions.get

Función de propietario del modelo

Nombre de la función Descripción Permisos
roles/ml.modelOwner Acceso total al modelo y sus versiones. Esta función se otorga de forma automática al usuario que crea el modelo.
  • ml.models.get
  • ml.models.setIamPolicy
  • ml.models.getIamPolicy
  • ml.models.predict
  • ml.models.delete
  • ml.models.update
  • ml.versions.create
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict
  • ml.versions.delete

Función de usuario del modelo

Nombre de la función Descripción Permisos
roles/ml.modelUser Permisos para leer el modelo y sus versiones, y usarlos para predicción.
  • ml.models.get
  • ml.models.predict
  • ml.versions.list
  • ml.versions.get
  • ml.versions.predict

Función de propietario del trabajo

Nombre de la función Descripción Permisos
roles/ml.jobOwner

Acceso total a todos los permisos para un recurso de trabajo en particular. La función de propietario del trabajo se otorga de forma automática al usuario que crea el trabajo.

Por ejemplo, un usuario que tenga la función de desarrollador de AI Platform Prediction en un proyecto puede crear trabajos, enumerarlos y obtener todos los trabajos de un proyecto determinado. El desarrollador tiene acceso para cancelar solo los trabajos que haya creado.

  • ml.jobs.get
  • ml.jobs.getIamPolicy
  • ml.jobs.cancel

Función de propietario de la operación

Nombre de la función Descripción Permisos
roles/ml.operationOwner

Acceso total a todos los permisos para un recurso de operación en particular. La función de propietario de la operación se otorga de manera automática al usuario que genera una operación de forma indirecta como parte del proceso de creación de una versión o un modelo. Esto permite que el usuario siempre pueda obtener y cancelar sus propias operaciones.

  • ml.operations.get
  • ml.operations.cancel

Permisos necesarios para la predicción

Por cuestiones de comodidad, en esta tabla, se resumen los permisos que son específicamente necesarios para el entrenamiento y la predicción:

Tarea Permisos necesarios
Predicción por lotes
  • ml.jobs.create
  • ml.models.predict*
  • ml.versions.predict*

Nota: Para crear un trabajo de predicción por lotes sin una versión implementada, especifica la ubicación de un modelo guardado en Cloud Storage. Para este tipo de trabajo de predicción por lotes, solo se requiere el permiso ml.jobs.create.

Para crear un trabajo de predicción por lotes que use una versión implementada, también necesitarás ml.models.predict o ml.versions.predict, pero no ambos.

Predicción en línea
  • ml.models.predict
  • ml.versions.predict

Permisos necesarios para los métodos

Por cuestiones de comodidad, en esta sección, se enumeran los permisos necesarios para llamar a todos los métodos de AI Platform Prediction:

Método Permisos necesarios
projects.getConfig ml.projects.getConfig
projects.jobs.cancel ml.jobs.cancel
projects.jobs.create ml.jobs.create

Nota: Para crear un trabajo de predicción por lotes que use una versión implementada, también necesitarás ml.models.predict o ml.versions.predict, pero no ambos.

projects.jobs.get ml.jobs.get
projects.jobs.list ml.jobs.list
projects.models.create ml.models.create
projects.models.delete ml.models.delete
projects.models.get ml.models.get
projects.models.list ml.models.list
projects.models.versions.create ml.versions.create
projects.models.versions.delete ml.versions.delete
projects.models.versions.get ml.versions.get
projects.models.versions.list ml.versions.list
projects.models.versions.setDefault ml.models.update
projects.operations.cancel ml.operations.cancel
projects.operations.get ml.operations.get
projects.operations.list ml.operations.list

Permisos necesarios para el almacenamiento

Cuando implementes el modelo entrenado en AI Platform Prediction para obtener predicciones, sube los archivos del modelo guardados a Cloud Storage. Dentro del depósito de Cloud Storage, los archivos del modelo son objetos. Debes asegurarte de que tu cuenta de servicio de AI Platform Prediction tenga acceso a los archivos del modelo entrenado ubicados en el bucket de Cloud Storage.

Otorga a tu cuenta de servicio de AI Platform Prediction una función de IAM de Cloud Storage que incluya los siguientes permisos como mínimo:

Permisos necesarios Explicación
storage.buckets.list Permite que el proyecto de AI Platform Prediction busque archivos de modelos en el bucket de Cloud Storage.
storage.objects.get Permite que el proyecto de AI Platform Prediction lea los archivos de modelos en el bucket de Cloud Storage.

Consulta cómo configurar los permisos de Cloud Storage para AI Platform Prediction.

¿Qué sigue?