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.
Amazon SageMaker AI realiza operaciones en tu nombre mediante otros AWS servicios. Debe conceder permisos a la SageMaker IA para utilizar estos servicios y los recursos sobre los que actúan. Estos permisos se conceden a la SageMaker IA mediante una función de ejecución AWS Identity and Access Management (IAM). Para obtener más información acerca de los roles de IAM, consulte Roles de IAM.
Para crear y usar un rol de ejecución, puede utilizar los siguientes procedimientos.
Creación de un rol de ejecución
Utilice el siguiente procedimiento para crear un rol de ejecución con la política administrada por IAM, AmazonSageMakerFullAccess
, asociada. Si su caso de uso requiere permisos más detallados, utilice otras secciones de esta página para crear un rol de ejecución que se adapte a las necesidades de su empresa. Puede crear un rol de ejecución mediante la consola de SageMaker IA o la AWS CLI.
importante
La política administrada por IAM, AmazonSageMakerFullAccess
, utilizada en el siguiente procedimiento, solo concede permiso al rol de ejecución para realizar determinadas acciones de Amazon S3 en buckets u objetos con SageMaker
, Sagemaker
, sagemaker
o aws-glue
en el nombre. Para obtener información sobre cómo agregar una política adicional al rol de ejecución para concederle acceso a otros buckets y objetos de Amazon S3, consulte Añadir permisos adicionales de Amazon S3 a una función de ejecución de SageMaker IA.
nota
Puede crear un rol de ejecución directamente al crear un dominio de SageMaker IA o una instancia de bloc de notas.
-
Para obtener información sobre cómo crear un dominio de SageMaker IA, consulteGuía para empezar a usar Amazon SageMaker AI.
-
Para obtener información sobre cómo crear una instancia de cuaderno, consulte Crear una instancia de Amazon SageMaker Notebook para el tutorial.
Para crear un nuevo rol de ejecución desde la consola de SageMaker IA
Abra la consola de IAM en https://console.aws.amazon.com/iam/
. -
Elija Roles (Roles) y, después, seleccioneCreate Role (Crear rol).
-
Mantenga el AWS servicio como el tipo de entidad de confianza y, a continuación, utilice la flecha hacia abajo para buscar la SageMaker IA en los casos de uso de otros AWS servicios.
-
Selecciona SageMaker AI — Execution y, a continuación, selecciona Siguiente.
-
La política administrada por IAM,
AmazonSageMakerFullAccess
, se asocia automáticamente al rol. Para ver los permisos incluidos en esta política, elija el signo más (+) situado junto al nombre de la política. Elija Next (Siguiente). -
Ingrese un Nombre del rol y una Descripción.
-
De forma opcional, puede agregar permisos y etiquetas adicionales al rol.
-
Elija Crear rol.
-
En la sección Roles de la consola de IAM, busque el rol que acaba de crear. Si es necesario, utilice el cuadro de texto para buscar el rol por su nombre.
-
En la página de resumen del rol, tome nota del ARN del rol.
Para crear un nuevo rol de ejecución desde la AWS CLI
Antes de crear un rol de ejecución mediante el AWS CLI, asegúrese de actualizarlo y configurarlo siguiendo las instrucciones que se indican en y, a continuación(Opcional) Configure el AWS CLI, continúe con las instrucciones que aparecen enConfiguración personalizada mediante el AWS CLI.
Una vez que haya creado un rol de ejecución, podrá asociarlo a un dominio de SageMaker IA, a un perfil de usuario o a una instancia de Jupyter Notebook.
-
Para obtener información sobre cómo asociar una función de ejecución a un dominio de SageMaker IA existente, consulte. Edición de la configuración del dominio
-
Para obtener información sobre cómo asociar un rol de ejecución a un perfil de usuario existente, consulte Adición de perfiles de usuario.
-
Para obtener información sobre cómo asociar un rol de ejecución a una instancia de cuaderno existente, consulte Actualización de una instancia de cuaderno..
También puede pasar el ARN de un rol de ejecución a su llamada a la API. Por ejemplo, con el SDK de Amazon SageMaker Python
import sagemaker, boto3
from sagemaker import image_uris
sess = sagemaker.Session()
region = sess.boto_region_name
bucket = sess.default_bucket()
prefix = "sagemaker/DEMO-xgboost-churn"
container = sagemaker.image_uris.retrieve("xgboost", region, "1.7-1")
xgb = sagemaker.estimator.Estimator(
container,
execution-role-ARN
,
instance_count=1,
instance_type="ml.m4.xlarge",
output_path="s3://{}/{}/output".format(bucket, prefix),
sagemaker_session=sess,
)
...
Añadir permisos adicionales de Amazon S3 a una función de ejecución de SageMaker IA
Cuando utiliza una función de SageMaker IA con recursos de Amazon S3, como datos de entrada, la función de ejecución que especifique en la solicitud (por ejemploCreateTrainingJob
) se utiliza para acceder a estos recursos.
Si asocia la política administrada por IAM, AmazonSageMakerFullAccess
, a un rol de ejecución, solo concede permiso al rol para que realice determinadas acciones de Amazon S3 en buckets u objetos con SageMaker
, Sagemaker
, sagemaker
o aws-glue
en el nombre. También tiene permiso para realizar las siguientes acciones en cualquier recurso de Amazon S3:
"s3:CreateBucket",
"s3:GetBucketLocation",
"s3:ListBucket",
"s3:ListAllMyBuckets",
"s3:GetBucketCors",
"s3:PutBucketCors"
Para conceder permisos a un rol de ejecución para acceder a uno o más buckets específicos en Amazon S3, puede asociar al rol una política similar a la siguiente. Esta política otorga a un rol de IAM permiso para realizar todas las acciones que permite AmazonSageMakerFullAccess
, pero restringe este acceso a los buckets amzn-s3-demo-bucket1 y amzn-s3-demo-bucket2. Consulte la documentación de seguridad de la función de SageMaker IA específica que esté utilizando para obtener más información sobre los permisos de Amazon S3 necesarios para esa función.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject", "s3:AbortMultipartUpload" ], "Resource": [ "arn:aws:s3:::
amzn-s3-demo-bucket1/*
", "arn:aws:s3:::amzn-s3-demo-bucket2/*
" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:GetBucketLocation", "s3:ListBucket", "s3:ListAllMyBuckets", "s3:GetBucketCors", "s3:PutBucketCors" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetBucketAcl", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket1
", "arn:aws:s3:::amzn-s3-demo-bucket2
" ] } ] }
Obtención del rol de ejecución
Puede utilizar la consola de SageMaker IA
Temas
Obtención del rol de ejecución del dominio
A continuación, se proporcionan instrucciones para encontrar el rol de ejecución del dominio.
Búsqueda del rol de ejecución asociado a su dominio
-
Abra la consola de SageMaker IA, https://console.aws.amazon.com/sagemaker/
-
En el panel de navegación izquierdo, seleccione Dominios en Configuraciones de administración.
-
Elija el enlace correspondiente a su dominio.
-
Elija la pestaña Configuración del dominio.
-
En la sección Configuración general, el ARN del rol de ejecución aparece en Rol de ejecución.
El nombre del rol de ejecución se encuentra después del último
/
en el nombre del ARN del rol de ejecución.
Obtención del rol de ejecución del espacio
A continuación, se proporcionan instrucciones para encontrar el rol de ejecución de su espacio.
Búsqueda del rol de ejecución asociado a su espacio
-
Abre la consola de SageMaker IA, https://console.aws.amazon.com/sagemaker/
-
En el panel de navegación izquierdo, seleccione Dominios en Configuraciones de administración.
-
Elija el enlace correspondiente a su dominio.
-
Seleccione la pestaña Administración del espacio.
-
En la sección Detalles, el ARN del rol de ejecución aparece en Rol de ejecución.
El nombre del rol de ejecución se encuentra después del último
/
en el nombre del ARN del rol de ejecución.
nota
El siguiente código está diseñado para ejecutarse en un entorno de SageMaker IA, como cualquiera de los IDEs de Amazon SageMaker Studio. Recibirás un error si corres get_execution_role
fuera de un entorno de SageMaker IA.
El siguiente comando del SDK de get_execution_role
from sagemaker import get_execution_role
role = get_execution_role()
print(role)
El nombre del rol de ejecución se encuentra después del último /
en el nombre del ARN del rol de ejecución.
Obtención del rol de ejecución del usuario
A continuación, se proporcionan instrucciones para encontrar el rol de ejecución de un usuario.
Búsqueda del rol de ejecución asociado a un usuario
-
Abra la consola de SageMaker IA, https://console.aws.amazon.com/sagemaker/
-
En el panel de navegación izquierdo, seleccione Dominios en Configuraciones de administración.
-
Elija el enlace correspondiente a su dominio.
-
Seleccione la pestaña Perfiles de usuario.
-
Elija el enlace correspondiente a su usuario.
-
En la sección Detalles, el ARN del rol de ejecución aparece en Rol de ejecución.
El nombre del rol de ejecución se encuentra después del último
/
en el nombre del ARN del rol de ejecución.
nota
Para usar los siguientes ejemplos, debe tener el AWS Command Line Interface (AWS CLI) instalado y configurado. Para obtener más información, consulte Get started with the AWS CLI en la Guía del usuario de la versión 2 de AWS Command Line Interface .
El siguiente comando get-caller-identity
aws sts get-caller-identity
El nombre del rol de ejecución se encuentra después del último /
en el nombre del ARN del rol de ejecución.
Cambio del rol de ejecución
Una función de ejecución es una función de IAM que asume una identidad de SageMaker IA (como un usuario, un espacio o un dominio de SageMaker IA). Al cambiar el rol de IAM, se cambian los permisos de todas las identidades que asumen ese rol.
Al cambiar un rol de ejecución, también cambiará el rol de ejecución del espacio correspondiente. Los efectos del cambio pueden tardar algún tiempo en propagarse.
-
Al cambiar el rol de ejecución de un usuario, los espacios privados creados por ese usuario asumirán el rol de ejecución cambiado.
-
Al cambiar el rol de ejecución predeterminada de un espacio, los espacios compartidos del dominio asumirán el rol de ejecución cambiado.
Para obtener más información acerca de los espacios y roles de ejecución, consulte Descripción de los permisos y roles de ejecución de espacio de dominio.
Puede cambiar el rol de ejecución de una identidad por un rol de IAM diferente. Para ello, siga una de estas instrucciones.
Si, por el contrario, desea modificar un rol que asume una identidad, consulte Modificación de los permisos del rol de ejecución.
Temas
Cambio del rol de ejecución predeterminado del dominio
A continuación, se proporcionan instrucciones sobre cómo cambiar el rol de ejecución predeterminado del dominio.
Cambio del rol de ejecución predeterminado asociado a su dominio
-
Abre la consola de SageMaker IA, https://console.aws.amazon.com/sagemaker/
-
En el panel de navegación izquierdo, seleccione Dominios en Configuraciones de administración.
-
Elija el enlace correspondiente a su dominio.
-
Elija la pestaña Configuración del dominio.
-
En la sección Configuración general, seleccione Editar.
-
En la sección Permisos, en Rol de ejecución predeterminado, expanda la lista desplegable.
-
En la lista desplegable, puede elegir un rol actual, introducir un ARN de rol de IAM personalizado o crear un rol nuevo.
Si desea crear un rol nuevo, puede elegir Crear un rol con el asistente de creación de roles.
-
Elija Siguiente en los siguientes pasos y elija Enviar en el último paso.
Cambio del rol de ejecución predeterminado del espacio
A continuación, se proporcionan instrucciones sobre cómo cambiar el rol de ejecución predeterminado del espacio. Al cambiar este rol de ejecución, se cambiará el rol que asumen todos los espacios compartidos del dominio.
Cambio del rol de ejecución predeterminado del espacio cuando se crea un espacio nuevo
-
Abre la consola de SageMaker IA, https://console.aws.amazon.com/sagemaker/
-
En el panel de navegación izquierdo, seleccione Dominios en Configuraciones de administración.
-
Elija el enlace correspondiente a su dominio.
-
Elija la pestaña Configuración del dominio.
-
En la sección Configuración general, seleccione Editar.
-
En la sección Permisos, en Rol de ejecución predeterminado del espacio, expanda la lista desplegable.
-
En la lista desplegable, puede elegir un rol actual, introducir un ARN de rol de IAM personalizado o crear un rol nuevo.
Si desea crear un rol nuevo, puede elegir Crear un rol con el asistente de creación de roles.
-
Elija Siguiente en los siguientes pasos y elija Enviar en el último paso.
Cambio del rol de ejecución del perfil de usuario
A continuación, se proporcionan instrucciones para cambiar el rol de ejecución de un usuario. Al cambiar este rol de ejecución, se cambiará el rol que asumen todos los espacios privados creados por este usuario.
Cambio del rol de ejecución asociado a un usuario
-
Abre la consola de SageMaker IA, https://console.aws.amazon.com/sagemaker/
-
En el panel de navegación izquierdo, seleccione Dominios en Configuraciones de administración.
-
Elija el enlace correspondiente a su dominio.
-
Seleccione la pestaña Perfiles de usuario.
-
Elija el enlace correspondiente al nombre del perfil de usuario.
-
Elija Editar.
-
En la lista desplegable, puede elegir un rol actual, introducir un ARN de rol de IAM personalizado o crear un rol nuevo.
Si desea crear un rol nuevo, puede elegir Crear un rol con el asistente de creación de roles.
-
Elija Siguiente en los siguientes pasos y elija Enviar en el último paso.
Modificación de los permisos del rol de ejecución
Puede modificar los permisos existentes para asignar la función de ejecución de una identidad (como un usuario, un espacio o un dominio de SageMaker IA). Para ello, busque el rol de IAM adecuado que asume la identidad y, a continuación, modifique ese rol de IAM. A continuación, se proporcionan instrucciones para hacer esto a través de la consola.
Al modificar un rol de ejecución, el rol de ejecución del espacio correspondiente también cambiará. Es posible que los efectos del cambio no sean inmediatos.
-
Al modificar el rol de ejecución de un usuario, los espacios privados creados por ese usuario asumirán el rol de ejecución modificado.
-
Al modificar el rol de ejecución predeterminado de un espacio, los espacios compartidos del dominio asumirán el rol de ejecución modificado.
Para obtener más información acerca de los espacios y roles de ejecución, consulte Descripción de los permisos y roles de ejecución de espacio de dominio.
Si, por el contrario, desea cambiar un rol que asume una identidad, consulte Cambio del rol de ejecución.
Modificación de los permisos de sus roles de ejecución
-
Primero obtenga el nombre de la identidad que desea modificar.
-
Para modificar el rol que asume una identidad, consulte Modificación de un rol en la Guía del usuario de AWS Identity and Access Management .
Para obtener más información e instrucciones sobre cómo añadir permisos a identidades de IAM, consulte Adición y eliminación de permisos de identidad de IAM en la AWS Identity and Access Management Guía del usuario de IAM.
Transferencia de roles
Acciones como transferir un rol entre servicios son una función común en la SageMaker IA. Encontrarás más información sobre las acciones, los recursos y las claves de condición de la SageMaker IA en la Referencia de autorización de servicios.
El rol (iam:PassRole
) se pasa al realizar estas llamadas a la API: CreateAutoMLJob
, CreateCompilationJob
, CreateDomain
, CreateFeatureGroup
, CreateFlowDefiniton
, CreateHyperParameterTuningJob
, CreateImage
, CreateLabelingJob
, CreateModel
, CreateMonitoringSchedule
, CreateNotebookInstance
, CreateProcessingJob
, CreateTrainingJob
, CreateUserProfile
, RenderUiTemplate
, UpdateImage
y UpdateNotebookInstance
.
Debe adjuntar la siguiente política de confianza a la función de IAM, que otorga a la SageMaker IA los permisos principales para asumir la función, y es la misma para todas las funciones de ejecución:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "sagemaker.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
Los permisos que tiene que conceder al rol varían según la API a la que llame. Las siguientes secciones explican estos permisos.
nota
En lugar de gestionar los permisos mediante la elaboración de una política de permisos, puedes utilizar la política de permisos AWS gestionadosAmazonSageMakerFullAccess
. Los permisos de esta política son bastante amplios para permitir cualquier acción que desees realizar en SageMaker IA. Para ver un listado de la política, incluida información acerca de los motivos para añadir muchos de los permisos, consulte AWS política gestionada: AmazonSageMakerFullAccess. Si prefiere crear políticas personalizadas y administrar permisos para delimitarlos solo a las acciones que es necesario realizar con el rol de ejecución, consulte los siguientes temas.
importante
Si tiene problemas, consulte Solución de problemas de Amazon SageMaker AI Identity and Access.
Para obtener más información sobre los roles de IAM, consulte Roles de IAM en Referencia de autorizaciones de servicio.
Temas
- CreateAutoMLJob y API CreateAuto MLJob V2: permisos de rol de ejecución
- CreateDomain API: permisos de rol de ejecución
- CreateImage y UpdateImage APIs: Permisos del rol de ejecución
- CreateNotebookInstance API: Permisos de rol de ejecución
- CreateHyperParameterTuningJob API: permisos de funciones de ejecución
- CreateProcessingJob API: permisos de rol de ejecución
- CreateTrainingJob API: permisos de rol de ejecución
- CreateModel API: permisos de rol de ejecución
- SageMaker funciones de capacidades geoespaciales
CreateAutoMLJob y API CreateAuto MLJob V2: permisos de rol de ejecución
Para un rol de ejecución que puede pasar en una solicitud de la API CreateAutoMLJob
o CreateAutoMLJobV2
, puede asociar la siguiente política de permisos mínimos al rol:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"iam:PassedToService": "sagemaker.amazonaws.com"
}
}
},
{
"Effect": "Allow",
"Action": [
"sagemaker:DescribeEndpointConfig",
"sagemaker:DescribeModel",
"sagemaker:InvokeEndpoint",
"sagemaker:ListTags",
"sagemaker:DescribeEndpoint",
"sagemaker:CreateModel",
"sagemaker:CreateEndpointConfig",
"sagemaker:CreateEndpoint",
"sagemaker:DeleteModel",
"sagemaker:DeleteEndpointConfig",
"sagemaker:DeleteEndpoint",
"cloudwatch:PutMetricData",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:DescribeLogStreams",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "*"
}
]
}
Si especifica una VPC privada para el trabajo de AutoML, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
]
}
Si la entrada está cifrada mediante un cifrado del lado del servidor con una clave AWS gestionada por KMS (SSE-KMS), añada los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
]
}
Si especifica una clave de KMS en la configuración de salida del trabajo AutoML, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:Encrypt"
]
}
Si especifica una clave de KMS de volumen en la configuración de recursos del trabajo AutoML, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant"
]
}
CreateDomain API: permisos de rol de ejecución
La función de ejecución para los dominios con el centro de identidad de IAM y la función de usuario/ejecución para los dominios de IAM necesitan los siguientes permisos cuando se transfiere una clave gestionada por el AWS KMS cliente como se indica KmsKeyId
en la solicitud de API. CreateDomain
Los permisos se aplican durante la llamada a la API CreateApp
.
Para un rol de ejecución que puede pasar en una solicitud de la API CreateDomain
, puede asociar la siguiente política de permiso al rol:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "arn:aws:kms:region
:account-id
:key/kms-key-id
"
}
]
}
Como alternativa, si los permisos se especifican en una política de KMS, puede asociar la siguiente política al rol:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": [
"arn:aws:iam::account-id
:role/ExecutionRole
"
]
},
"Action": [
"kms:CreateGrant",
"kms:DescribeKey"
],
"Resource": "*"
}
]
}
CreateImage y UpdateImage APIs: Permisos del rol de ejecución
Para un rol de ejecución que puede pasar en una solicitud de la API CreateImage
o UpdateImage
, puede asociar la siguiente política de permisos al rol:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:BatchGetImage",
"ecr:GetDownloadUrlForLayer"
],
"Resource": "*"
}
]
}
CreateNotebookInstance API: Permisos de rol de ejecución
Los permisos que concede para el rol de ejecución para la llamada a la API CreateNotebookInstance
dependen de lo que piense hacer con la instancia de bloc de notas. Si planea usarla para invocar la SageMaker IA APIs y pasar la misma función al llamar a la función CreateTrainingJob
y CreateModel
APIs, adjunte la siguiente política de permisos a la función:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sagemaker:*",
"ecr:GetAuthorizationToken",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage",
"ecr:BatchCheckLayerAvailability",
"ecr:SetRepositoryPolicy",
"ecr:CompleteLayerUpload",
"ecr:BatchDeleteImage",
"ecr:UploadLayerPart",
"ecr:DeleteRepositoryPolicy",
"ecr:InitiateLayerUpload",
"ecr:DeleteRepository",
"ecr:PutImage",
"ecr:CreateRepository",
"cloudwatch:PutMetricData",
"cloudwatch:GetMetricData",
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics",
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:DescribeLogStreams",
"logs:PutLogEvents",
"logs:GetLogEvents",
"s3:CreateBucket",
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"robomaker:CreateSimulationApplication",
"robomaker:DescribeSimulationApplication",
"robomaker:DeleteSimulationApplication",
"robomaker:CreateSimulationJob",
"robomaker:DescribeSimulationJob",
"robomaker:CancelSimulationJob",
"ec2:CreateVpcEndpoint",
"ec2:DescribeRouteTables",
"elasticfilesystem:DescribeMountTargets"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"codecommit:GitPull",
"codecommit:GitPush"
],
"Resource": [
"arn:aws:codecommit:*:*:*sagemaker*",
"arn:aws:codecommit:*:*:*SageMaker*",
"arn:aws:codecommit:*:*:*Sagemaker*"
]
},
{
"Effect": "Allow",
"Action": [
"iam:PassRole"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"iam:PassedToService": "sagemaker.amazonaws.com"
}
}
}
]
}
Para endurecer los permisos, limítelos a recursos de Amazon S3 y Amazon ECR específicos, limitando "Resource": "*"
como se indica a continuación:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:*", "ecr:GetAuthorizationToken", "cloudwatch:PutMetricData", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:PutLogEvents", "logs:GetLogEvents" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "sagemaker.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::inputbucket" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::
inputbucket
/object1
", "arn:aws:s3:::outputbucket
/path
", "arn:aws:s3:::inputbucket
/object2
", "arn:aws:s3:::inputbucket
/object3
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": [ "arn:aws:ecr:region
::repository/my-repo1
", "arn:aws:ecr:region
::repository/my-repo2
", "arn:aws:ecr:region
::repository/my-repo3
" ] } ] }
Si tiene previsto obtener acceso a otros recursos, como Amazon DynamoDB o Amazon Relational Database Service, agregue los permisos relevantes a esta política.
En la política anterior, examine la política de la siguiente forma:
-
Examine el permiso
s3:ListBucket
al bucket determinado que especifica comoInputDataConfig.DataSource.S3DataSource.S3Uri
en una solicitudCreateTrainingJob
. -
Examine los permisos
s3:GetObject
,s3:PutObject
ys3:DeleteObject
de la siguiente forma:-
Examine los siguientes valores que especifica en una solicitud
CreateTrainingJob
:InputDataConfig.DataSource.S3DataSource.S3Uri
OutputDataConfig.S3OutputPath
-
Examine los siguientes valores que especifica en una solicitud
CreateModel
:PrimaryContainer.ModelDataUrl
SuplementalContainers.ModelDataUrl
-
-
Examine los permisos
ecr
de la siguiente forma:-
Examine el valor
AlgorithmSpecification.TrainingImage
que especifica en una solicitudCreateTrainingJob
. -
Examine el valor
PrimaryContainer.Image
que especifica en una solicitudCreateModel
:
-
Las acciones cloudwatch
y logs
son aplicables a los recursos "*". Para obtener más información, consulta CloudWatch Recursos y operaciones en la Guía del CloudWatch usuario de Amazon.
CreateHyperParameterTuningJob API: permisos de funciones de ejecución
Para un rol de ejecución que puede pasar en una solicitud de la API CreateHyperParameterTuningJob
, puede asociar la siguiente política de permisos al rol:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:DescribeLogStreams",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "*"
}
]
}
En lugar de "Resource": "*"
especificarlos, puede limitar estos permisos a recursos específicos de Amazon S3, Amazon ECR y Amazon CloudWatch Logs:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
inputbucket
" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::inputbucket
/object
", "arn:aws:s3:::outputbucket
/path
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:region
::repository/my-repo
" }, { "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/sagemaker/TrainingJobs*" } ] }
Si el contenedor de entrenamiento asociado al trabajo de ajuste de hiperparámetros tiene que acceder a otros orígenes de datos, como los recursos de DynamoDB o Amazon RDS, agregue los permisos pertinentes a esta política.
En la política anterior, examine la política de la siguiente forma:
-
Examine el permiso
s3:ListBucket
al bucket determinado que especifica comoInputDataConfig.DataSource.S3DataSource.S3Uri
en una solicitudCreateTrainingJob
. -
Examine los permisos
s3:GetObject
ys3:PutObject
de los siguientes objetos que especifica en la configuración de datos de entrada y salida en una solicitudCreateHyperParameterTuningJob
:InputDataConfig.DataSource.S3DataSource.S3Uri
OutputDataConfig.S3OutputPath
-
Delimite los permisos de Amazon ECR a la ruta de registro (
AlgorithmSpecification.TrainingImage
) que especifique en una solicitudCreateHyperParameterTuningJob
. -
Limite CloudWatch los permisos de Amazon Logs a registrar un grupo de trabajos de SageMaker formación.
Las acciones cloudwatch
son aplicables a los recursos “*”. Para obtener más información, consulta CloudWatch Recursos y operaciones en la Guía del CloudWatch usuario de Amazon.
Si especifica una VPC privada para el trabajo de ajuste de hiperparámetros, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
]
}
Si la entrada está cifrada mediante un cifrado del lado del servidor con una clave AWS gestionada por KMS (SSE-KMS), añada los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
]
}
Si especifica una clave de KMS en la configuración de salida del trabajo de ajuste de hiperparámetros, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:Encrypt"
]
}
Si especifica una clave de KMS de volumen en la configuración de recursos del trabajo de ajuste de hiperparámetros, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant"
]
}
CreateProcessingJob API: permisos de rol de ejecución
Para un rol de ejecución que puede pasar en una solicitud de la API CreateProcessingJob
, puede asociar la siguiente política de permisos al rol:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:DescribeLogStreams",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "*"
}
]
}
En lugar de especificar "Resource": "*"
, podría delimitar estos permisos a recursos de Amazon S3 y Amazon ECR específicos:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
inputbucket
" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::inputbucket
/object
", "arn:aws:s3:::outputbucket
/path
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:region
::repository/my-repo
" } ] }
Si CreateProcessingJob.AppSpecification.ImageUri
tiene que tener acceso a otros orígenes de datos, como recursos de Amazon DynamoDB o Amazon RDS, agregue los permisos pertinentes a esta política.
En la política anterior, examine la política de la siguiente forma:
-
Examine el permiso
s3:ListBucket
al bucket determinado que especifica comoProcessingInputs
en una solicitudCreateProcessingJob
. -
Examine los permisos
s3:GetObject
ys3:PutObject
a los objetos que se descargarán o cargarán enProcessingInputs
yProcessingOutputConfig
en una solicitudCreateProcessingJob
. -
Delimite los permisos de Amazon ECR a la ruta de registro (
AppSpecification.ImageUri
) que especifique en una solicitudCreateProcessingJob
.
Las acciones cloudwatch
y logs
son aplicables a los recursos "*". Para obtener más información, consulta CloudWatch Recursos y operaciones en la Guía del CloudWatch usuario de Amazon.
Si especifica una VPC privada para el trabajo de procesamiento, agregue los siguientes permisos. No incluya condiciones ni filtros de recursos a la política. De lo contrario, las comprobaciones de validación que se realicen durante la creación del trabajo de procesamiento darán por resultado un error.
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
]
}
Si la entrada está cifrada mediante un cifrado del lado del servidor con una clave AWS gestionada por KMS (SSE-KMS), añada los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
]
}
Si especifica una clave de KMS en la configuración de salida del trabajo de procesamiento, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:Encrypt"
]
}
Si especifica una clave de KMS de volumen en la configuración de recursos del trabajo de procesamiento, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant"
]
}
CreateTrainingJob API: permisos de rol de ejecución
Para un rol de ejecución que puede pasar en una solicitud de la API CreateTrainingJob
, puede asociar la siguiente política de permisos al rol:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:DescribeLogStreams",
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "*"
}
]
}
En lugar de especificar "Resource": "*"
, podría delimitar estos permisos a recursos de Amazon S3 y Amazon ECR específicos:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::
inputbucket
" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::inputbucket
/object
", "arn:aws:s3:::outputbucket
/path
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:region
::repository/my-repo
" } ] }
Si CreateTrainingJob.AlgorithSpecifications.TrainingImage
tiene que tener acceso a otros orígenes de datos, como recursos de Amazon DynamoDB o Amazon RDS, agregue los permisos pertinentes a esta política.
En la política anterior, examine la política de la siguiente forma:
-
Examine el permiso
s3:ListBucket
al bucket determinado que especifica comoInputDataConfig.DataSource.S3DataSource.S3Uri
en una solicitudCreateTrainingJob
. -
Examine los permisos
s3:GetObject
ys3:PutObject
de los siguientes objetos que especifica en la configuración de datos de entrada y salida en una solicitudCreateTrainingJob
:InputDataConfig.DataSource.S3DataSource.S3Uri
OutputDataConfig.S3OutputPath
-
Delimite los permisos de Amazon ECR a la ruta de registro (
AlgorithmSpecification.TrainingImage
) que especifique en una solicitudCreateTrainingJob
.
Las acciones cloudwatch
y logs
son aplicables a los recursos "*". Para obtener más información, consulta CloudWatch Recursos y operaciones en la Guía del CloudWatch usuario de Amazon.
Si especifica una VPC privada para el trabajo de capacitación, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
]
}
Si la entrada está cifrada mediante un cifrado del lado del servidor con una clave AWS gestionada por KMS (SSE-KMS), añada los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:Decrypt"
]
}
Si especifica una clave de KMS en la configuración de salida del trabajo de capacitación, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:Encrypt"
]
}
Si especifica una clave de KMS de volumen en la configuración de recursos del trabajo de capacitación, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"kms:CreateGrant"
]
}
CreateModel API: permisos de rol de ejecución
Para un rol de ejecución que puede pasar en una solicitud de la API CreateModel
, puede asociar la siguiente política de permisos al rol:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"cloudwatch:PutMetricData",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:CreateLogGroup",
"logs:DescribeLogStreams",
"s3:GetObject",
"s3:ListBucket",
"ecr:GetAuthorizationToken",
"ecr:BatchCheckLayerAvailability",
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage"
],
"Resource": "*"
}
]
}
En lugar de especificar "Resource": "*"
, puede delimitar estos permisos a recursos específicos de Amazon S3 y Amazon ECR:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData", "logs:CreateLogStream", "logs:PutLogEvents", "logs:CreateLogGroup", "logs:DescribeLogStreams", "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::
inputbucket
/object
" ] }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": [ "arn:aws:ecr:region
::repository/my-repo
", "arn:aws:ecr:region
::repository/my-repo
" ] } ] }
Si CreateModel.PrimaryContainer.Image
tiene que obtener acceso a otros orígenes de datos, como recursos de Amazon DynamoDB o Amazon RDS, agregue permisos relevantes a esta política.
En la política anterior, examine la política de la siguiente forma:
-
Examine los permisos de S3 en objetos que especifique en
PrimaryContainer.ModelDataUrl
en una solicitudCreateModel
. -
Delimite los permisos de Amazon ECR a una ruta de registro determinada que especifica como
PrimaryContainer.Image
ySecondaryContainer.Image
en una solicitudCreateModel
.
Las acciones cloudwatch
y logs
son aplicables a los recursos "*". Para obtener más información, consulta CloudWatch Recursos y operaciones en la Guía del CloudWatch usuario de Amazon.
nota
Si planea utilizar la función de barreras de despliegue de SageMaker IA para el despliegue de modelos en producción, asegúrese de que su función de ejecución tenga permiso para realizar la cloudwatch:DescribeAlarms
acción en sus alarmas de reversión automática.
Si especifica una VPC privada para el modelo, agregue los siguientes permisos:
{
"Effect": "Allow",
"Action": [
"ec2:CreateNetworkInterface",
"ec2:CreateNetworkInterfacePermission",
"ec2:DeleteNetworkInterface",
"ec2:DeleteNetworkInterfacePermission",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
]
}