Ejemplos de políticas basadas en identidades de Amazon SageMaker AI
De forma predeterminada, los roles y usuarios de IAM no tienen permiso para crear ni modificar recursos de SageMaker AI. Tampoco pueden realizar tareas mediante la Consola de administración de AWS, la AWS CLI, o la API de AWS. Un administrador de IAM debe crear políticas de IAM que concedan permisos a los usuarios y a los roles para realizar operaciones de la API concretas en los recursos especificados que necesiten. El administrador debe asociar esas políticas a los usuarios o grupos de IAM que necesiten esos permisos. Para aprender a asociar políticas a un usuario o grupo de IAM, consulte Adding and Removing IAM Identity Permissions en Referencia de autorizaciones de servicio.
Para aprender a crear una política basada en identidades de IAM utilizando estos documentos de políticas de JSON de ejemplo, consulte Creación de políticas en la pestaña JSON.
Temas
Control de la creación de recursos de SageMaker AI con claves de condición
Control del acceso a la API de SageMaker AI mediante políticas basadas en identidades
Límite del acceso a una instancia de cuaderno por dirección IP
Control de acceso a los recursos de SageMaker AI mediante etiquetas
Concesión de permisos para etiquetar recursos de SageMaker AI
Limitación del acceso a los recursos que permiten búsquedas con condiciones de visibilidad
Prácticas recomendadas sobre las políticas
Las políticas basadas en identidades determinan si alguien puede crear, acceder o eliminar los recursos de SageMaker AI de la cuenta. Estas acciones pueden generar costos adicionales para su Cuenta de AWS. Siga estas directrices y recomendaciones al crear o editar políticas basadas en identidades:
-
Comienza con las políticas administradas por AWSy continúa con los permisos de privilegio mínimo: a fin de comenzar a conceder permisos a los usuarios y las cargas de tarea, utiliza las políticas administradas por AWS, que conceden permisos para muchos casos de uso comunes. Están disponibles en su Cuenta de AWS. Se recomienda definir políticas gestionadas por el cliente de AWS específicas para sus casos de uso a fin de reducir aún más los permisos. Con el fin de obtener más información, consulta las políticas administradas por AWS o las políticas administradas por AWS para funciones de tarea en la Guía de usuario de IAM.
-
Aplique permisos de privilegio mínimo: cuando establezca permisos con políticas de IAM, conceda solo los permisos necesarios para realizar una tarea. Para ello, debe definir las acciones que se pueden llevar a cabo en determinados recursos en condiciones específicas, también conocidos como permisos de privilegios mínimos. Con el fin de obtener más información sobre el uso de IAM para aplicar permisos, consulta Políticas y permisos en IAM en la Guía del usuario de IAM.
-
Utilice condiciones en las políticas de IAM para restringir aún más el acceso: puede agregar una condición a sus políticas para limitar el acceso a las acciones y los recursos. Por ejemplo, puedes escribir una condición de políticas para especificar que todas las solicitudes deben enviarse utilizando SSL. También puedes usar condiciones para conceder acceso a acciones de servicios si se emplean a través de un Servicio de AWS determinado como, por ejemplo, CloudFormation. Para obtener más información, consulta Elementos de la política de JSON de IAM: Condición en la Guía del usuario de IAM.
-
Utiliza el analizador de acceso de IAM para validar las políticas de IAM con el fin de garantizar la seguridad y funcionalidad de los permisos: el analizador de acceso de IAM valida políticas nuevas y existentes para que respeten el lenguaje (JSON) de las políticas de IAM y las prácticas recomendadas de IAM. El analizador de acceso de IAM proporciona más de 100 verificaciones de políticas y recomendaciones procesables para ayudar a crear políticas seguras y funcionales. Para más información, consulte Validación de políticas con el Analizador de acceso de IAM en la Guía del usuario de IAM.
-
Solicite la autenticación multifactor (MFA): si se encuentra en una situación en la que necesite usuarios raíz o de IAM en su Cuenta de AWS, active la MFA para obtener una mayor seguridad. Para exigir la MFA cuando se invoquen las operaciones de la API, añada condiciones de MFA a sus políticas. Para más información, consulte Acceso seguro a la API con MFA en la Guía del usuario de IAM.
Para obtener más información sobre las prácticas recomendadas de IAM, consulte Prácticas recomendadas de seguridad en IAM en la Guía del usuario de IAM.
Uso de la consola de SageMaker AI
Para acceder a la consola de Amazon SageMaker AI, debe tener un conjunto mínimo de permisos. Estos permisos deben permitirle enumerar y ver los detalles acerca de los recursos de SageMaker AI en su cuenta de AWS. Si crea una política basada en identidades más restrictiva que los permisos mínimos requeridos, la consola no funcionará correctamente para las entidades con esa política. Esto incluye a los usuarios o roles con esa política.
Para asegurarse de que esas entidades puedan seguir usando la consola de SageMaker AI, debe asociar también la siguiente política administrada de AWS a las entidades. Para obtener más información, consulte Adición de permisos a un usuario en Referencia de autorizaciones de servicio:
No es necesario que conceda permisos mínimos para la consola a los usuarios que solo realizan llamadas a la AWS CLI o a la API de AWS. En su lugar, permite acceso únicamente a las acciones que coincidan con la operación de API que intenta realizar.
Temas
Permisos necesarios para utilizar la consola de Amazon SageMaker AI
La tabla de referencia de los permisos muestra las operaciones de la API de Amazon SageMaker AI e indica los permisos necesarios para cada operación. Para obtener más información sobre las operaciones de la API de Amazon SageMaker AI, consulte Permisos de la API de Amazon SageMaker AI: referencia de acciones, permisos y recursos.
Para utilizar la consola de Amazon SageMaker AI debe conceder permisos para acciones adicionales. En concreto, la consola precisa permisos que permiten que las acciones ec2 muestren subredes, VPC y grupos de seguridad. Opcionalmente, la consola necesita permiso para crear funciones de ejecución para tareas como CreateNotebook, CreateTrainingJob y CreateModel. Conceda estos permisos con la siguiente política de permisos:
Permisos necesarios para utilizar la consola de Amazon SageMaker Ground Truth
Para utilizar la consola de Amazon SageMaker Ground Truth debe conceder permisos para recursos adicionales. En concreto, la consola necesita permisos para:
-
El AWS Marketplace para ver las suscripciones
-
Operaciones de Amazon Cognito para administrar al personal privado
-
Acciones de Amazon S3 para acceder a sus archivos de entrada y salida
-
Acciones de AWS Lambda para enumerar e invocar funciones
Conceda estos permisos con la siguiente política de permisos:
Permisos necesarios para usar la consola de Amazon Augmented AI (versión preliminar)
Para utilizar la consola de Amazon Augmented AI debe conceder permisos para recursos adicionales. Conceda estos permisos con la siguiente política de permisos:
Cómo permitir a los usuarios consultar sus propios permisos
En este ejemplo, se muestra cómo podría crear una política que permita a los usuarios de IAM ver las políticas gestionadas e insertadas que se asocian a la identidad de sus usuarios. Esta política incluye permisos para llevar a cabo esta acción en la consola o mediante programación con la AWS CLI o la API de AWS.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": ["arn:aws:iam::*:user/${aws:username}"] }, { "Sid": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }
Control de la creación de recursos de SageMaker AI con claves de condición
Controle el acceso detallado a la creación de recursos de SageMaker AI mediante claves de condición específicas de SageMaker AI. Para obtener más información acerca de las claves de condición en las políticas de IAM, consulte Elementos de política JSON de IAM: Condition en la Guía del usuario de IAM.
Las claves de condición, las acciones relacionadas con la API y los enlaces a la documentación correspondiente también se muestran en Condition Keys for SageMaker AI de Referencia de autorizaciones de servicio.
Los siguientes ejemplos muestran cómo utilizar las claves de condición de SageMaker AI para controlar el acceso.
Temas
Control del acceso a los recursos de SageMaker AI mediante claves de condición del sistema de archivos
El entrenamiento de SageMaker AI proporciona una infraestructura segura para que el algoritmo de entrenamiento se ejecute, pero en algunos casos es posible que desee aumentar la defensa en profundidad. Por ejemplo, minimice el riesgo de ejecutar código que no sea de confianza en su algoritmo o disponga de mandatos de seguridad específicos en su organización. En estos escenarios, puede utilizar las claves de condición específicas del servicio en el elemento de condición de una política de IAM para limitar al usuario a:
-
sistemas de archivos específicos
-
directorios
-
modos de acceso (lectura-escritura, solo lectura)
-
grupos de seguridad
Temas
Restricción de un usuario de IAM a directorios y modos de acceso específicos
La política siguiente restringe a un usuario a los directorios /sagemaker/xgboost-dm/train y /sagemaker/xgboost-dm/validation de un sistema de archivos de EFS al modo de acceso ro (solo lectura):
nota
Cuando se permite un directorio, el algoritmo de capacitación también puede acceder a todos sus subdirectorios. Los permisos POSIX se omiten.
Restricción de un usuario a un sistema de archivos específico
Para evitar que un algoritmo malintencionado que utiliza un cliente del espacio de usuarios acceda a cualquier sistema de archivos directamente en su cuenta, puede restringir el tráfico de red. Para restringir este tráfico, permita la entrada únicamente desde un grupo de seguridad específico. En el siguiente ejemplo, el usuario de solo puede utilizar el grupo de seguridad especificado para acceder al sistema de archivos:
En este ejemplo, se puede restringir un algoritmo a un sistema de archivos específico. Sin embargo, no se impide que un algoritmo acceda a cualquier directorio de ese sistema de archivos mediante el cliente del espacio de usuario. Para mitigar esto, puede:
-
Asegurarse de que el sistema de archivos solo contenga datos cuyo acceso confíe a los usuarios de
-
Crear un rol de IAM que restrinja a los usuarios a lanzar trabajos de entrenamiento con algoritmos de repositorios de ECR aprobados
Para obtener más información sobre cómo utilizar los roles con SageMaker AI, consulte Roles de SageMaker AI.
Restricción del entrenamiento a una VPC específica
Restrinja a un usuario de AWS a crear trabajos de entrenamiento desde dentro de una Amazon VPC. Cuando se crea un trabajo de entrenamiento dentro de una VPC, puede utilizar los registros de flujo de VPC para supervisar todo el tráfico entrante y saliente del clúster de entrenamiento. Para obtener información sobre el uso de registros de flujo de VPC, consulte Registros de flujo de la VPC en la Guía del usuario de Amazon Virtual Private Cloud.
La siguiente política obliga a usuario a crear un trabajo de entrenamiento llamando a CreateTrainingJob desde una VPC:
Restricción del acceso a tipos de personal para trabajos de etiquetado de Ground Truth y flujos de trabajo de revisión humana de Amazon A2I
Los equipos de trabajo de Amazon SageMaker Ground Truth y Amazon Augmented AI se dividen en tres tipos de personal:
-
público (con Amazon Mechanical Turk)
-
privada
-
proveedor
Puede restringir el acceso del usuario a un equipo de trabajo específico utilizando uno de estos tipos o el ARN del equipo de trabajo. Para ello, utilice sagemaker:WorkteamType y/o las claves de condición sagemaker:WorkteamArn. Para la clave de condición sagemaker:WorkteamType, utilice operadores de condición de cadena. Para la clave de condición de sagemaker:WorkteamArn, utilice los operadores de condición de Nombre de recurso de Amazon (ARN). Si el usuario intenta crear un trabajo de etiquetado con un equipo de trabajo restringido, SageMaker AI devuelve un error de acceso denegado.
Las siguientes políticas muestran diferentes formas de utilizar las claves de condición sagemaker:WorkteamType y sagemaker:WorkteamArn con operadores de condición apropiados y valores de condición válidos.
En el ejemplo siguiente se utiliza la clave de condición sagemaker:WorkteamType con el operador de condición StringEquals para restringir el acceso a un equipo de trabajo público. Acepta valores de condición en el siguiente formato: , donde workforcetype-crowdtipo de personal puede ser igual public, private, o vendor.
Las siguientes políticas muestran cómo restringir el acceso a un equipo de trabajo público mediante la clave de condición sagemaker:WorkteamArn. La primera muestra cómo usarla con un regex-variant de IAM válido del ARN del equipo de trabajo y el operador de condición de ArnLike. El segundo muestra cómo usarla con el operador de condición ArnEquals y el ARN del equipo de trabajo.
Aplicación del cifrado de datos de entrada
La siguiente política restringe a un usuario la especificación de una clave de AWS KMS para cifrar los datos de entrada utilizando la clave de condición sagemaker:VolumeKmsKey al crear:
-
entrenamiento
-
ajuste de hiperparámetros
-
trabajos de etiquetado
Aplicación del aislamiento de red para trabajos de entrenamiento
La siguiente política restringe a un usuario a habilitar el aislamiento de redes al crear trabajos de entrenamiento mediante la clave de condición sagemaker:NetworkIsolation:
Aplicación de un tipo de instancia específico para trabajos de entrenamiento
La siguiente política restringe a un usuario a utilizar un tipo de instancia específico al crear trabajos de entrenamiento mediante la clave de condición sagemaker:InstanceTypes:
Aplicación de la deshabilitación del acceso a Internet y el acceso raíz para crear instancias de cuadernos
Puede deshabilitar tanto el acceso a Internet como el acceso raíz a las instancias de bloc de notas para que sean más seguras. Para obtener más información sobre el control del acceso a una instancia de cuaderno, consulte Control del acceso raíz a una instancia de cuaderno de SageMaker. Para obtener más información acerca de cómo deshabilitar el acceso a Internet para una instancia de cuaderno, consulte Conexión de una instancia de cuaderno en una VPC a recursos externos.
La siguiente política requiere que un usuario deshabilite el acceso de red a la hora de crear una instancia y que deshabilite el acceso raíz a la hora de crear o actualizar una instancia de cuaderno.
Control del acceso a la API de SageMaker AI mediante políticas basadas en identidades
Para controlar el acceso a las llamadas a la API de SageMaker AI y a las llamadas a puntos de conexión alojados de SageMaker AI, utilice políticas de IAM basadas en identidades.
Restricción del acceso a la API de SageMaker AI y al tiempo de ejecución para llamadas dentro de la VPC
Si configura un punto de conexión de interfaz en su VPC, las personas que están fuera de la VPC pueden conectarse a la API y al tiempo de ejecución de SageMaker AI a través de Internet. Para evitarlo, asocie una política de IAM que restrinja el acceso a las llamadas procedentes de la VPC. Estas llamadas deben restringirse a todos los usuarios y grupos que tengan acceso a sus recursos de SageMaker AI. Para obtener más información acerca de cómo crear un punto de conexión de interfaz de VPC para la API de SageMaker AI y el tiempo de ejecución, consulte Conexión a SageMaker AI desde su VPC.
importante
Si aplica una política de IAM similar a una de las siguientes, los usuarios no pueden tener acceso a las API de SageMaker AI especificadas o a través de la consola.
Para restringir el acceso solo a las conexiones realizadas desde la VPC, cree una política de AWS Identity and Access Management que restrinja el acceso. Este acceso debe restringirse únicamente a las llamadas que provengan de su VPC. A continuación, agregue dicha política a todos los usuarios, grupos o roles de AWS Identity and Access Management para obtener acceso a la API de SageMaker AI o al tiempo de ejecución.
nota
Esta política únicamente permite las conexiones a los intermediarios que se encuentren dentro de una subred en la que se haya creado un punto de enlace de interfaz.
Para restringir el acceso a la API únicamente a las llamadas realizadas mediante el punto de conexión de interfaz, utilice la clave de condición aws:SourceVpce en lugar de aws:SourceVpc:
Limitación del acceso a las llamadas a la API de SageMaker AI y al tiempo de ejecución por dirección IP
Puede permitir el acceso a las llamadas a la API de SageMaker AI y a las invocaciones en tiempo de ejecución únicamente desde las direcciones IP de una lista que especifique. Para ello, cree una política de IAM que deniegue el acceso a la API a menos que la llamada provenga de una dirección IP de la lista. A continuación, asocie dicha política a todos los usuarios, grupos o roles de AWS Identity and Access Management para obtener acceso a la API o al tiempo de ejecución. Para obtener información acerca de las políticas de IAM, consulte Crear políticas de IAM en la AWS Identity and Access ManagementGuía del usuario de IAM.
Para especificar la lista de direcciones IP que tienen acceso a la llamada a la API, utilice lo siguiente:
-
Operador de condición
IpAddress -
Clave de contexto de condición
aws:SourceIP
Para obtener información acerca de los operadores de condición de IAM, consulte Elementos de la política de JSON de IAM: operadores de condición en la Guía del usuario de AWS Identity and Access Management. Para obtener más información sobre las claves de contexto de condición de IAM, consulte Claves de contexto de condición globales de AWS.
Por ejemplo, la siguiente política permite el acceso a la CreateTrainingJob solo desde direcciones IP en los intervalos 192.0.2.0-192.0.2.255 y 203.0.113.0-203.0.113.255:
Límite del acceso a una instancia de cuaderno por dirección IP
Puede permitir el acceso a una instancia de cuaderno únicamente desde las direcciones IP de una lista que especifique. Para ello, cree una política de IAM que deniegue el acceso a CreatePresignedNotebookInstanceUrl a menos que la llamada provenga de una dirección IP de la lista. A continuación, asocie dicha política a todos los usuarios, grupos o roles de AWS Identity and Access Management que se han utilizado para obtener acceso a la instancia de cuaderno. Para obtener información acerca de las políticas de IAM, consulte Crear políticas de IAM en la AWS Identity and Access ManagementGuía del usuario de IAM.
Para especificar la lista de direcciones IP que desea que tengan acceso a la instancia de cuaderno, utilice lo siguiente:
-
Operador de condición
IpAddress -
Clave de contexto de condición
aws:SourceIP
Para obtener información acerca de los operadores de condición de IAM, consulte Elementos de la política de JSON de IAM: operadores de condición en la Guía del usuario de AWS Identity and Access Management. Para obtener más información sobre las claves de contexto de condición de IAM, consulte Claves de contexto de condición globales de AWS.
Por ejemplo, la siguiente política permite el acceso a una instancia de bloc de notas solo desde las direcciones IP en los intervalos 192.0.2.0 a 192.0.2.255 y 203.0.113.0 a 203.0.113.255:
La política restringe el acceso tanto a la llamada a CreatePresignedNotebookInstanceUrl como a la URL que la llamada devuelve. La política también restringe el acceso a abrir una instancia de bloc de notas en la consola. Se aplica a todas las solicitudes HTTP y al marco de WebSocket que intenten conectarse a la instancia del cuaderno.
nota
El uso de este método para filtrar según la dirección IP es incompatible cuando se conecta a SageMaker AI d través de un punto de conexión de interfaz de VPC. Para obtener más información acerca de cómo restringir el acceso a una instancia de bloc de notas cuando se conecta a través de un punto de enlace de interfaz VPC, consulte Conexión a una instancia de bloc de notas a través de un punto de enlace de interfaz de VPC.
Control de acceso a los recursos de SageMaker AI mediante etiquetas
Especifique etiquetas dentro de una política de IAM para controlar el acceso a los grupos de recursos de SageMaker AI. Utilice etiquetas de recursos para implementar el control de acceso basado en atributos (ABAC). El uso de etiquetas le ayuda a particionar el acceso a los recursos para grupos específicos de usuarios. Puede tener un equipo con acceso a un grupo de recursos y otro equipo con acceso a otro conjunto de recursos. Puede establecer condiciones ResourceTag en las políticas de IAM para proporcionar acceso a cada grupo.
nota
Las políticas basadas en etiquetas no funcionan para restringir las siguientes llamadas a la API:
-
DeleteImageVersion
-
DescribeImageVersion
-
ListAlgorithms
-
ListCodeRepositories
-
ListCompilationJobs
-
ListEndpointConfigs
-
ListEndpoints
-
ListFlowDefinitions
-
ListHumanTaskUis
-
ListHyperparameterTuningJobs
-
ListLabelingJobs
-
ListLabelingJobsForWorkteam
-
ListModelPackages
-
ListModels
-
ListNotebookInstanceLifecycleConfigs
-
ListNotebookInstances
-
ListSubscribedWorkteams
-
ListTags
-
ListProcessingJobs
-
ListTrainingJobs
-
ListTrainingJobsForHyperParameterTuningJob
-
ListTransformJobs
-
ListWorkteams
-
Búsqueda
Un ejemplo sencillo puede ayudarle a entender cómo puede utilizar las etiquetas para particionar los recursos. Por ejemplo, suponga que ha definido dos grupos de IAM diferentes, denominados DevTeam1 y DevTeam2, en su cuenta de AWS. También ha creado 10 instancias de cuaderno. Usa 5 de las instancias del cuaderno para un proyecto. Usa las otras 5 para un segundo proyecto. Puede proporcionar a DevTeam1 permisos para realizar llamadas a la API en las instancias de cuaderno que utilice para el primer proyecto. Puede permitir a DevTeam2 realizar llamadas a la API en las instancias de cuaderno utilizadas en el segundo proyecto.
El siguiente procedimiento proporciona un ejemplo sencillo que le ayuda a entender el concepto de agregar etiquetas. Puede usarlo para implementar la solución descrita en el párrafo anterior.
Para controlar el acceso a llamadas a la API (ejemplo)
-
Añada una etiqueta con la clave
Projecty el valorAa las instancias de bloc de notas usadas para el primer proyecto. Para obtener más información sobre cómo agregar etiquetas a recursos de SageMaker AI, consulteAddTags. -
Añada una etiqueta con la clave
Projecty el valorBa las instancias de bloc de notas usadas para el segundo proyecto. -
Cree una política de IAM con una condición
ResourceTagque deniegue el acceso a las instancias de cuaderno usadas para el segundo proyecto. A continuación, asocie esa política aDevTeam1. La siguiente política de ejemplo deniega todas las llamadas a la API en cualquier instancia de cuaderno con una etiqueta que tenga una clave deProjecty un valor deB:Para obtener información sobre la creación de políticas de IAM y cómo asociarlas a las identidades, consulte Control del acceso mediante políticas en la Guía de usuario de AWS Identity and Access Management.
-
Cree una política de IAM con una condición
ResourceTagque deniegue el acceso a las instancias de cuaderno usadas para el primer proyecto. A continuación, asocie esa política aDevTeam2. La siguiente política de ejemplo deniega todas las llamadas a la API en cualquier instancia de cuaderno con una etiqueta que tenga una clave deProjecty un valor deA:
Concesión de permisos para etiquetar recursos de SageMaker AI
Las etiquetas son etiquetas de metadatos que puede asociar a determinados recursos de AWS. Una etiqueta consta de un par clave-valor que proporciona una forma flexible de anotar los recursos con atributos de metadatos para diversos casos de uso de etiquetado, entre los que se incluyen:
-
buscar
-
seguridad
-
control de acceso
-
Automation
Se pueden usar en permisos y políticas, cuotas de servicio e integraciones con otros servicios de AWS. Las etiquetas puede definirlas el usuario o generarlas AWS al crear recursos. Esto depende de si el usuario especifica manualmente las etiquetas personalizadas o si un servicio de AWS genera una etiqueta automáticamente.
-
Etiquetas definidas por el usuario en SageMaker AI: los usuarios pueden añadir etiquetas cuando crean recursos de SageMaker AI mediante los SageMaker SDK, la AWS CLI, las API de SageMaker, la consola de SageMaker AI o plantillas de CloudFormation.
nota
Las etiquetas definidas por el usuario se pueden anular si un recurso se actualiza posteriormente y se cambia o reemplaza el valor de la etiqueta. Por ejemplo, un trabajo de entrenamiento creado con {Equipo: A} podría actualizarse incorrectamente y volver a etiquetarse como {Equipo: B}. Como resultado, los permisos concedidos podrían asignarse de forma incorrecta. Por lo tanto, se debe tener cuidado al permitir que los usuarios o grupos añadan etiquetas, ya que es posible que puedan anular los valores de las etiquetas existentes. Se recomienda limitar estrictamente los permisos de las etiquetas y utilizar las condiciones de IAM para controlar las capacidades de etiquetado.
-
Etiquetas generadas por AWS en SageMaker AI: SageMaker AI etiqueta automáticamente determinados recursos que crea. Por ejemplo, Studio y Studio Classic asignan automáticamente la etiqueta
sagemaker:domain-arna los recursos de SageMaker AI que crean. El etiquetado de nuevos recursos con el ARN del dominio proporciona trazabilidad de la forma en que se originan los recursos de SageMaker AI, como trabajos de entrenamiento, modelos y puntos de conexión. Para realizar un control y un seguimiento más precisos, los nuevos recursos reciben etiquetas adicionales, como las siguientes:-
sagemaker:user-profile-arn: el ARN del perfil de usuario que creó el recurso. Esto permite realizar un seguimiento de los recursos creados por usuarios específicos. -
sagemaker:space-arn: el ARN del espacio en el que se creó el recurso. Esto permite agrupar y aislar los recursos por espacio.
nota
Los usuarios no pueden cambiar las etiquetas generadas por AWS.
-
Para obtener más información sobre las prácticas recomendadas y los recursos de AWS, consulte Tagging your AWS resources. Para obtener más información sobre los principales casos de uso del etiquetado, consulte Etiquetado de casos de uso.
Concesión de permiso para añadir etiquetas al crear recursos de SageMaker AI
Puede permitir a los usuarios (etiquetas definidas por el usuario) o a Studio y Studio Classic (etiquetas generadas por AWS) añadir etiquetas a los nuevos recursos de SageMaker AI en el momento de la creación. Para ello, sus permisos de IAM deben incluir lo siguiente:
-
El permiso de creación base de SageMaker AI para ese tipo de recurso.
-
El permiso
sagemaker:AddTags.
Por ejemplo, permitir a un usuario crear un trabajo de entrenamiento de SageMaker y etiquetarlo requeriría conceder permisos para sagemaker:CreateTrainingJob y sagemaker:AddTags.
importante
Las políticas de IAM personalizadas que permiten a Amazon SageMaker Studio o Amazon SageMaker Studio Classic crear recursos de Amazon SageMaker AI también deben conceder permisos para añadir etiquetas a dichos recursos. El permiso para añadir etiquetas a los recursos es necesario porque Studio y Studio Classic etiquetan automáticamente todos los recursos que crean. Si una política de IAM permite a Studio y Studio Classic crear recursos, pero no permite el etiquetado, se pueden producir errores AccessDenied al intentar crear recursos.
Las Políticas administradas por AWS para Amazon SageMaker AI que conceden permisos para crear recursos de SageMaker AI ya incluyen permisos para añadir etiquetas al crear esos recursos.
Los administradores asocian estos permisos de IAM a una de las siguientes opciones:
-
Roles de IAM de AWS asignados al usuario para etiquetas definidas por el usuario
-
El rol de ejecución que utiliza Studio o Studio Classic para las etiquetas generadas por AWS
Para obtener instrucciones sobre cómo crear y aplicar políticas de IAM personalizadas, consulte Creación de políticas de IAM (consola).
nota
La lista de operaciones de creación de recursos de SageMaker AI se puede encontrar en la documentación de la API de SageMaker AI buscando acciones que comiencen por Create. Estas acciones de creación, como CreateTrainingJob y CreateEndpoint, son las operaciones que crean nuevos recursos de SageMaker AI.
Adición de permisos de etiquetas a determinadas acciones de creación
Para conceder el permiso sagemaker:AddTags con restricciones, debe asociar una política de IAM adicional a la política de creación de recursos original. El siguiente ejemplo de política permite sagemaker:AddTags, pero lo restringe, solo a determinadas acciones de creación de recursos de SageMaker AI, como CreateTrainingJob.
{ "Sid": "AllowAddTagsForCreateOperations", "Effect": "Allow", "Action": [ "sagemaker:AddTags" ], "Resource": "*", "Condition": { "StringEquals": { "sagemaker:TaggingAction": "CreateTrainingJob" } } }
La condición de la política limita sagemaker:AddTags para que se use únicamente con acciones de creación específicas. En este enfoque, la política de permisos de creación permanece intacta, mientras que una política adicional proporciona un acceso sagemaker:AddTags restringido. La condición impide el permiso general sagemaker:AddTags al limitarlo a las acciones de creación que hay que etiquetar. Esto implementa el privilegio mínimo para sagemaker:AddTags al permitirlo solo para casos de uso específicos de creación de recursos de SageMaker AI.
Ejemplo: concesión del permiso de etiquetas de manera global y restricción de las acciones de creación a un dominio
En este ejemplo de política de IAM personalizada, las dos primeras instrucciones ilustran el uso de etiquetas para realizar un seguimiento de la creación de recursos. Permite la acción sagemaker:CreateModel en todos los recursos y el etiquetado de esos recursos cuando se utiliza esa acción. La tercera instrucción demuestra cómo se pueden utilizar los valores de las etiquetas para controlar las operaciones en los recursos. En este caso, impide la creación de recursos de SageMaker AI etiquetados con un ARN de dominio específico, lo que restringe el acceso en función del valor de la etiqueta.
En particular:
-
La primera instrucción permite la acción
CreateModelen cualquier recurso (*). -
La segunda instrucción permite la acción
sagemaker:AddTags, pero solo cuando la clave de condiciónsagemaker:TaggingActiones igual aCreateModel. Esto restringe la acciónsagemaker:AddTagsa solo cuando se utiliza para etiquetar un modelo recién creado. -
La tercera instrucción niega cualquier acción de creación de SageMaker AI (
Create*) en cualquier recurso (*), pero solo cuando el recurso tiene una etiquetasagemaker:domain-arnigual a un ARN de dominio específico,.domain-arn
{ "Statement":[ { "Effect":"Allow", "Action":[ "sagemaker:CreateModel" ], "Resource":"*" }, { "Effect":"Allow", "Action":[ "sagemaker:AddTags" ], "Resource":"*", "Condition":{ "String":{ "sagemaker:TaggingAction":[ "CreateModel" ] } } }, { "Sid":"IsolateDomain", "Effect":"Deny", "Resource":"*", "Action":[ "sagemaker:Create*" ], "Condition":{ "StringEquals":{ "aws:ResourceTag/sagemaker:domain-arn":"domain-arn" } } } ] }
Limitación del acceso a los recursos que permiten búsquedas con condiciones de visibilidad
Use las condiciones de visibilidad para limitar el acceso de sus usuarios a recursos etiquetados específicos dentro de una cuenta de AWS. Sus usuarios solo pueden acceder a los recursos para los que tienen permisos. Cuando los usuarios buscan en sus recursos, pueden limitar los resultados de la búsqueda a recursos específicos.
Es posible que desee que sus usuarios solo vean los recursos asociados a dominios específicos de Amazon SageMaker Studio o Amazon SageMaker Studio Classic y puedan interactuar con ellos. Puede utilizar las condiciones de visibilidad para limitar su acceso a uno o varios dominios.
{ "Sid": "SageMakerApis", "Effect": "Allow", "Action": "sagemaker:Search", "Resource": "*", "Condition": { "StringEquals": { "sagemaker:SearchVisibilityCondition/Tags.sagemaker:example-domain-arn/EqualsIfExists": "arn:aws:sagemaker:Región de AWS:111122223333:domain/example-domain-1", "sagemaker:SearchVisibilityCondition/Tags.sagemaker:example-domain-arn/EqualsIfExists": "arn:aws:sagemaker:Región de AWS:111122223333:domain/example-domain-2" } } }
El formato general de una condición de visibilidad es "sagemaker:SearchVisibilityCondition/Tags.key": "value". Puede proporcionar el par clave-valor para cualquier recurso etiquetado.
{ "MaxResults": number, "NextToken": "string", "Resource": "string", # Required Parameter "SearchExpression": { "Filters": [ { "Name": "string", "Operator": "string", "Value": "string" } ], "NestedFilters": [ { "Filters": [ { "Name": "string", "Operator": "string", "Value": "string" } ], "NestedPropertyName": "string" } ], "Operator": "string", "SubExpressions": [ "SearchExpression" ] }, "IsCrossAccount": "string", "VisibilityConditions" : [ List of conditions for visibility {"Key": "Tags.sagemaker:example-domain-arn", "Value": "arn:aws:sagemaker:Región de AWS:111122223333:domain/example-domain-1"}, {"Key": "Tags.sagemaker:example-domain-arn", "Value": "arn:aws:sagemaker:Región de AWS:111122223333:domain/example-domain-2"} ] ], "SortBy": "string", "SortOrder": "string" }
La condición de visibilidad interna utiliza el mismo formato de "sagemaker:SearchVisibilityCondition/Tags.key": "value" especificado en la política. Los usuarios pueden especificar los pares clave-valor que se utilizan para cualquier recurso etiquetado.
Si un usuario incluye el parámetro VisibilityConditions en su solicitud de búsqueda, pero la política de acceso que se aplica a ese usuario no contiene ninguna de clave de condición que coincida con lo que se ha especificado en VisibilityConditions, la solicitud Search seguirá estando permitida y se ejecutará.
Si no se especifica un parámetro VisibilityConditions en la solicitud de la API de búsqueda del usuario, pero la política de acceso que se aplica a ese usuario contiene las claves de condición relacionadas con VisibilityConditions, se deniega la solicitud Search de ese usuario.