Control de acceso

AI Platform utiliza Identity and Access Management (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:

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

  • Funciones de AI Platform predefinidas, que te brindan un control de acceso detallado a tus recursos de AI Platform a nivel del proyecto y del modelo.

  • Funciones personalizadas, que 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 AI Platform predefinidas, su uso típico y los permisos asociados.

Funciones básicas

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

La función heredada de Editor del proyecto es equivalente a la función Administrador de AI Platform.

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

Funciones predefinidas

Las funciones predefinidas otorgan un conjunto de permisos relacionados. AI Platform 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 AI Platform otorgan diferentes niveles de acceso a los recursos a nivel del proyecto.

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

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

roles/ml.admin

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

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

Desarrollador de AI Platform

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 AI Platform

roles/ml.viewer

Acceso de solo lectura a los recursos de AI Platform.

Funciones del modelo

Las funciones Propietario y Usuario del modelo de AI Platform 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 Capacidades
Propietario del modelo de AI Platform

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

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 AI Platform. 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

Acceso total a tu proyecto de AI Platform 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 anteriormente usaste la función Editor básica asignada a 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 AI Platform.

Recomendación: Otórgale al desarrollador acceso de solo lectura a los registros de AI Platform, ya que puede necesitarlo 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 lector

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

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

Nota: La función heredada de Lector del proyecto 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 AI Platform en un proyecto puede crear trabajos, hacer una lista de todos los trabajos y obtener todos los trabajos en un proyecto determinado. 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 de manera automática al usuario que genera una operación indirectamente como parte del proceso de crear 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 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 AI Platform:

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
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 AI Platform para obtener predicciones, subes tus archivos del modelo guardados a Cloud Storage. Dentro del depósito de Cloud Storage, tus archivos de modelo son objetos. Debes asegurarte de que tu cuenta de servicio de AI Platform pueda acceder a los archivos de tu modelo entrenado en tu depósito de Cloud Storage.

Otorga a tu cuenta de servicio de AI Platform 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 AI Platform encuentre archivos del modelo en tu depósito de Cloud Storage.
Predicción storage.objects.get Permite que tu proyecto de AI Platform lea tus archivos del modelo en tu depósito de Cloud Storage.

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

Pasos siguientes

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

Enviar comentarios sobre…

Cloud ML Engine para TensorFlow