Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de permisos de IAM para MLflow
Debe configurar las funciones de servicio de IAM necesarias para empezar a utilizar MLflow en Amazon SageMaker AI.
Si creas un nuevo dominio de Amazon SageMaker AI para acceder a tus experimentos en Studio, puedes configurar los permisos de IAM necesarios durante la configuración del dominio. Para obtener más información, consulte Configuración de permisos de IAM para MLflow al crear un nuevo dominio.
Para configurar los permisos mediante la consola de IAM, consulte Creación de los roles de servicio de IAM necesarios en la consola de IAM.
Debe configurar los controles de autorización para las acciones de sagemaker-mlflow. Si lo desea, puede definir controles de autorización de forma más pormenorizada para regular los permisos de MLflow específicos de cada acción. Para obtener más información, consulte Creación de controles de autorización específicos de cada acción.
Configuración de permisos de IAM para MLflow al crear un nuevo dominio
Al configurar un nuevo dominio de Amazon SageMaker AI para su organización, puede configurar los permisos de IAM para su función de servicio de dominio a través de los ajustes Usuarios y Actividades de aprendizaje automático.
Para configurar los permisos de IAM para usar MLflow con SageMaker AI al configurar un nuevo dominio
-
Configure un nuevo dominio mediante la consola de SageMaker IA. En la página Configurar un dominio de SageMaker IA, selecciona Configurar para organizaciones. Para obtener más información, consulte Configuración personalizada mediante la consola.
-
Al configurar los usuarios y las actividades de aprendizaje automático, elija entre las siguientes actividades de aprendizaje automático para MLflow: utilizar MLflow, gestionar los servidores de seguimiento de MLflow y acceder a los AWS servicios necesarios para MLflow. Para obtener más información sobre estas actividades, consulte las explicaciones que se incluyen a continuación de este procedimiento.
-
Complete la configuración y la creación del nuevo dominio.
Las siguientes actividades de MLflow ML están disponibles en Amazon SageMaker Role Manager:
Utilizar MLflow: esta actividad de ML concede al rol de servicio de dominio permiso para llamar a las API de REST de MLflow con el fin de administrar los experimentos, las ejecuciones y los modelos en MLflow.
Administrar servidores de seguimiento de MLflow: esta actividad de ML concede al rol de servicio de dominio permiso para crear, actualizar, iniciar, detener y eliminar servidores de seguimiento.
Acceso obligatorio a AWS los servicios de MLflow: esta actividad de aprendizaje automático proporciona los permisos de rol de servicio de dominio necesarios para acceder a Amazon S3 y al registro de modelos de SageMaker IA. Esto le permite utilizar el rol de servicio de dominio como rol de servicio de servidor de seguimiento.
Para obtener más información sobre las actividades de ML en el Administrador de roles, consulte Referencia de actividad de ML.
Creación de los roles de servicio de IAM necesarios en la consola de IAM
Si no ha creado ni actualizado el rol de servicio de dominio, debe crear los siguientes roles de servicio en la consola de IAM para crear y utilizar un servidor de seguimiento de MLflow:
Una función de servicio de IAM de servidor de seguimiento que el servidor de seguimiento puede utilizar para acceder a los recursos de IA SageMaker
Una SageMaker función de servicio de IAM de SageMaker IA que la IA puede utilizar para crear y gestionar los recursos de MLflow
Políticas de IAM para el rol de servicio de IAM del servidor de seguimiento
El servidor de seguimiento utiliza la función de servicio IAM del servidor de seguimiento para acceder a los recursos que necesita, como Amazon S3 y SageMaker Model Registry.
Al crear el rol de servicio de IAM del servidor de seguimiento, utilice la siguiente política de confianza de IAM:
En la consola de IAM, añada la siguiente política de permisos al rol de servicio del servidor de seguimiento:
Política de IAM para la función de servicio de SageMaker IA IAM
El cliente que accede al servidor de seguimiento de MLflow utiliza el rol de servicio de SageMaker IA y necesita permisos para llamar a las API REST de MLflow. El rol de servicio de SageMaker IA también necesita permisos de SageMaker API para crear, ver, actualizar, iniciar, detener y eliminar servidores de rastreo.
Puede crear un nuevo rol o actualizar uno existente. El rol de servicio de SageMaker IA necesita la siguiente política:
Creación de controles de autorización específicos de cada acción
Debe configurar controles de autorización para sagemaker-mlflow y, si lo desea, puede configurar controles de autorización específicos de cada acción con el fin de regular de forma más pormenorizada los permisos de MLflow que los usuarios tienen en un servidor de seguimiento de MLflow.
nota
En los siguientes pasos se da por hecho que ya tiene un ARN para un servidor de seguimiento de MLflow. Para obtener más información sobre cómo crear un servidor de seguimiento, consulte Creación de un servidor de seguimiento con Studio o Cree un servidor de seguimiento mediante el AWS CLI.
El siguiente comando crea un archivo denominado mlflow-policy.json que proporciona a su servidor de seguimiento los permisos de IAM para todas las acciones de SageMaker AI MLflow disponibles. También puede limitar los permisos que tiene un usuario. Para ello, seleccione las acciones específicas que desea que realice ese usuario. Para obtener una lista de las acciones disponibles, consulte Acciones de IAM compatibles con MLflow.
# Replace "Resource":"*" with "Resource":"TrackingServerArn" # Replace "sagemaker-mlflow:*" with specific actions printf '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker-mlflow:*", "Resource": "*" } ] }' > mlflow-policy.json
Utilice el archivo mlflow-policy.json para crear una política de IAM mediante la AWS CLI.
aws iam create-policy \ --policy-nameMLflowPolicy\ --policy-documentfile://mlflow-policy.json
Recupere el ID de la cuenta y asocie la política al rol de IAM.
# Get your account ID aws sts get-caller-identity # Attach the IAM policy using your exported role and account ID aws iam attach-role-policy \ --role-name$role_name\ --policy-arn arn:aws:iam::123456789012:policy/MLflowPolicy
Acciones de IAM compatibles con MLflow
Se admiten las siguientes acciones de SageMaker AI MLflow para el control de acceso y autorización:
-
sagemaker-mlflow:AccessUI
-
sagemaker-mlflow: CreateExperiment
-
flujo sagemaker-ml: SearchExperiments
-
flujo sagemaker-ml: GetExperiment
-
flujo sagemaker-ml: GetExperimentByName
-
flujo sagemaker-ml: DeleteExperiment
-
flujo sagemaker-ml: RestoreExperiment
-
flujo sagemaker-ml: UpdateExperiment
-
flujo sagemaker-ml: CreateRun
-
flujo sagemaker-ml: DeleteRun
-
flujo sagemaker-ml: RestoreRun
-
flujo sagemaker-ml: GetRun
-
flujo sagemaker-ml: LogMetric
-
flujo sagemaker-ml: LogBatch
-
flujo sagemaker-ml: LogModel
-
flujo sagemaker-ml: LogInputs
-
flujo sagemaker-ml: SetExperimentTag
-
flujo sagemaker-ml: SetTag
-
flujo sagemaker-ml: DeleteTag
-
flujo sagemaker-ml: LogParam
-
flujo sagemaker-ml: GetMetricHistory
-
flujo sagemaker-ml: SearchRuns
-
flujo sagemaker-ml: ListArtifacts
-
flujo sagemaker-ml: UpdateRun
-
flujo sagemaker-ml: CreateRegisteredModel
-
flujo sagemaker-ml: GetRegisteredModel
-
flujo sagemaker-ml: RenameRegisteredModel
-
flujo sagemaker-ml: UpdateRegisteredModel
-
flujo sagemaker-ml: DeleteRegisteredModel
-
flujo sagemaker-ml: GetLatestModelVersions
-
flujo sagemaker-ml: CreateModelVersion
-
flujo sagemaker-ml: GetModelVersion
-
flujo sagemaker-ml: UpdateModelVersion
-
flujo sagemaker-ml: DeleteModelVersion
-
flujo sagemaker-ml: SearchModelVersions
-
flujo sagemaker-ml: GetDownloadURIForModelVersionArtifacts
-
flujo sagemaker-ml: TransitionModelVersionStage
-
flujo sagemaker-ml: SearchRegisteredModels
-
flujo sagemaker-ml: SetRegisteredModelTag
-
flujo sagemaker-ml: DeleteRegisteredModelTag
-
flujo sagemaker-ml: DeleteModelVersionTag
-
flujo sagemaker-ml: DeleteRegisteredModelAlias
-
flujo sagemaker-ml: SetRegisteredModelAlias
-
flujo sagemaker-ml: GetModelVersionByAlias
-
flujo sagemaker-ml: FinalizeLoggedModel
-
flujo sagemaker-ml: GetLoggedModel
-
flujo sagemaker-ml: DeleteLoggedModel
-
flujo sagemaker-ml: SearchLoggedModels
-
flujo sagemaker-ml: SetLoggedModelTags
-
flujo sagemaker-ml: DeleteLoggedModelTag
-
flujo sagemaker-ml: ListLoggedModelArtifacts
-
flujo sagemaker-ml: LogLoggedModelParams
-
flujo sagemaker-ml: LogOutputs