Control de acceso

Cloud Machine Learning Engine 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, grupo o cuenta de servicio.

Existen tres tipos de funciones de IAM que se pueden usar en Cloud ML Engine:

  • Funciones básicas (Propietario, Lector y Editor) son comunes a todos los servicios de GCP.

  • Funciones de Cloud ML Engine predefinidas te brindan un control de acceso detallado a tus recursos de Cloud ML Engine a nivel del proyecto y del modelo.

  • Funciones personalizadas te permiten elegir un conjunto específico de permisos, crear tu propia función con esos permisos y otorgar la función a los usuarios en tu organización.

Esta guía se centra en las funciones de Cloud ML Engine predefinidas, su uso típico y los permisos asociados.

Funciones básicas

Las funciones de IAM de Cloud ML Engine heredadas se basan en las funciones básicas que son comunes a todos los servicios de GCP: Propietario, Lector y Editor.

La función Editor del proyecto heredado es equivalente a la función Administrador de Cloud ML Engine.

La función Lector del proyecto heredado otorga los mismos permisos que la función Lector de Cloud ML Engine, además de acceso para enviar solicitudes de predicción en línea. La ventaja de usar la función Lector de Cloud ML Engine es que el usuario obtiene acceso de solo lectura a los recursos de Cloud ML Engine.

Funciones predefinidas

Las funciones predefinidas otorgan un conjunto de permisos relacionados. Cloud ML Engine ofrece funciones predefinidas para tu proyecto y también para operaciones, trabajos 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 proyecto

Las funciones Lector, Desarrollador y Administrador de Cloud ML Engine otorgan diferentes niveles de acceso a los recursos a nivel del proyecto.

Para agregar, actualizar o quitar estas funciones en tu proyecto de Cloud ML Engine, consulta la documentación sobre cómo otorgar, cambiar y revocar el acceso a los miembros del proyecto.

Título de la función Nombre de la función Funciones
Administrador de Cloud ML Engine

roles/ml.admin

Control total del proyecto de Cloud ML Engine y de sus trabajos, operaciones, modelos y versiones.

Nota: La función Editor del proyecto básico es equivalente a roles/ml.admin.

Desarrollador de Cloud ML Engine

roles/ml.developer

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

Lector de Cloud ML Engine

roles/ml.viewer

Acceso de solo lectura a los recursos de Cloud ML Engine.

Funciones del modelo

Las funciones Propietario y Usuario del modelo de Cloud ML Engine otorgan diferentes permisos a un recurso de modelo determinado.

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 Funciones
Propietario del modelo de Cloud ML Engine

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 Cloud ML Engine

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 Propietario del modelo, hay funciones de propietario en los niveles de recursos de operación y trabajo que se asignan automáticamente al usuario que crea el trabajo o la operación. Estas funciones permiten al usuario el control total de cualquier operación o trabajo que cree. Para obtener más información, consulta los permisos para las funciones de operación y trabajo.

Permisos y funciones

Consulta esta sección para obtener una lista completa de los permisos que se otorgan con cada función predefinida de Cloud ML Engine. 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 Cloud ML Engine

Acceso total a tu proyecto de Cloud ML Engine y a sus trabajos, operaciones, modelos y versiones.

Nota: La migración a esta función desde la función Editor del proyecto básico es relativamente simple. Si usaste anteriormente la función Editor básica asignada al nivel del proyecto, puedes usar esta función roles/ml.admin para otorgar exactamente 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, porque la creación de un trabajo le otorga automáticamente la función Propietario del trabajo de Cloud ML Engine.

Recomendación: Otorga al desarrollador acceso de solo lectura a los registros de Cloud ML Engine con la intención de 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 lector

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

Acceso de solo lectura a los recursos de Cloud ML Engine en un proyecto en particular.

Nota: La función Lector del proyecto heredado le otorga a un 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 Propietario del trabajo se otorga de forma automática al usuario que crea el trabajo.

Por ejemplo, un usuario que tiene la función Desarrollador de Cloud ML Engine en un proyecto puede crear trabajos, hacer una lista de todos los trabajos y obtener todos los trabajos en un proyecto dado. El desarrollador tiene acceso para cancelar solo los trabajos que ha 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 Propietario de la operación se otorga al usuario automáticamente en cualquier operación que el usuario cree indirectamente cuando crea una versión o un modelo, de modo que el usuario siempre puede obtener y cancelar sus propias operaciones.

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

Permisos necesarios para el entrenamiento y la predicción

Para mayor comodidad, esta tabla resume los permisos que son específicamente necesarios para el entrenamiento y la predicción:

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

Nota: Puedes crear un trabajo de predicción por lotes sin una versión implementada si especificas la ubicación de un modelo guardado en Google Cloud Storage. Este tipo de trabajo de predicción por lotes requiere solo 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

Para mayor comodidad, esta sección enumera los permisos necesarios para llamar a cada método en Cloud ML Engine:

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.delete ml.operations.delete
projects.operations.get ml.operations.get
projects.operations.list ml.operations.list

Permisos necesarios para el almacenamiento

Cuando implementas un modelo entrenado en Cloud ML Engine para obtener predicciones, subes tus archivos del modelo guardados a Cloud Storage. Dentro del depósito de Cloud Storage, tus archivos del modelo son objetos. Debes asegurarte de que tu cuenta de servicio de Cloud ML Engine pueda acceder a los archivos de tu modelo entrenado en tu depósito de Cloud Storage.

Otorga a tu cuenta de servicio de Cloud ML Engine una función de IAM de Cloud Storage que incluya, como mínimo, los siguientes permisos:

Tarea Permisos necesarios Explicación
Predicción storage.buckets.list Permite que tu proyecto de Cloud ML Engine encuentre archivos del modelo en tu depósito de Cloud Storage.
Predicción storage.objects.get Permite que tu proyecto de Cloud ML Engine lea tus archivos del modelo en tu depósito de Cloud Storage.

Consulta cómo configurar los permisos de Cloud Storage para Cloud ML Engine.

Pasos siguientes

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

AI Platform para scikit-learn y XGBoost