Instalación de políticas y permisos para los entornos locales de Jupyter - Amazon SageMaker

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.

Instalación de políticas y permisos para los entornos locales de Jupyter

Tendrá que configurar los permisos y las políticas necesarios para programar las tareas de los ordenadores portátiles en un entorno local de Jupyter. El IAM usuario necesita permisos para enviar trabajos SageMaker y el IAM rol que asume el propio trabajo de notebook necesita permisos para acceder a los recursos, en función de las tareas del trabajo. A continuación, se proporcionan instrucciones sobre cómo configurar los permisos y las políticas necesarios.

Deberá instalar dos conjuntos de permisos. El siguiente diagrama muestra la estructura de permisos para programar trabajos de cuadernos en un entorno local de Jupyter. El IAM usuario debe configurar IAM los permisos para poder enviar trabajos a. SageMaker Una vez que el usuario envía el trabajo del bloc de notas, el propio trabajo asume un IAM rol que tiene permisos para acceder a los recursos en función de las tareas del trabajo.

Se IAM agotan los permisos que necesita el usuario y el IAM rol que asume el trabajo en un bloc de notas.

Las siguientes secciones le ayudan a instalar las políticas y los permisos necesarios tanto para el rol de IAM usuario como para el de ejecución del trabajo.

Permisos de usuario de IAM

Permisos para enviar trabajos a SageMaker

Para agregar permisos para enviar trabajos, siga los siguientes pasos:

  1. Abre la IAMconsola.

  2. En el panel izquierdo, seleccione Usuarios.

  3. Busque el IAM usuario para el trabajo de su portátil y elija el nombre de usuario.

  4. Elija Agregar permisos y, a continuación, Crear política insertada en el menú desplegable.

  5. Seleccione la JSONpestaña.

  6. Copie y pegue la siguiente política:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "EventBridgeSchedule", "Effect": "Allow", "Action": [ "events:TagResource", "events:DeleteRule", "events:PutTargets", "events:DescribeRule", "events:EnableRule", "events:PutRule", "events:RemoveTargets", "events:DisableRule" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true" } } }, { "Sid": "IAMPassrole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": [ "sagemaker.amazonaws.com", "events.amazonaws.com" ] } } }, { "Sid": "IAMListRoles", "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "*" }, { "Sid": "S3ArtifactsAccess", "Effect": "Allow", "Action": [ "s3:PutEncryptionConfiguration", "s3:CreateBucket", "s3:PutBucketVersioning", "s3:ListBucket", "s3:PutObject", "s3:GetObject", "s3:GetEncryptionConfiguration", "s3:DeleteObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemaker-automated-execution-*" ] }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Sid": "SagemakerJobs", "Effect": "Allow", "Action": [ "sagemaker:DescribeTrainingJob", "sagemaker:StopTrainingJob", "sagemaker:DescribePipeline", "sagemaker:CreateTrainingJob", "sagemaker:DeletePipeline", "sagemaker:CreatePipeline" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true" } } }, { "Sid": "AllowSearch", "Effect": "Allow", "Action": "sagemaker:Search", "Resource": "*" }, { "Sid": "SagemakerTags", "Effect": "Allow", "Action": [ "sagemaker:ListTags", "sagemaker:AddTags" ], "Resource": [ "arn:aws:sagemaker:*:*:pipeline/*", "arn:aws:sagemaker:*:*:space/*", "arn:aws:sagemaker:*:*:training-job/*", "arn:aws:sagemaker:*:*:user-profile/*" ] }, { "Sid": "ECRImage", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchGetImage" ], "Resource": "*" } ] }

AWS KMS política de permisos (opcional)

De forma predeterminada, los buckets de Amazon S3 de entrada y salida se cifran mediante el cifrado del lado del servidor, pero puede especificar una KMS clave personalizada para cifrar los datos en el depósito Amazon S3 de salida y en el volumen de almacenamiento adjunto al trabajo del cuaderno.

Si desea utilizar una KMS clave personalizada, repita las instrucciones anteriores, adjunte la siguiente política y suministre su propia clave. KMS ARN

{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action":[ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:CreateGrant" ], "Resource":"your_KMS_key_ARN" } ] }

Permisos de rol de ejecución de trabajos

Relaciones de confianza

Para modificar las relaciones de confianza del rol de ejecución de trabajos, siga los pasos siguientes:

  1. Abre la IAMconsola.

  2. En el panel izquierdo, seleccione Roles.

  3. Busque el rol de ejecución de trabajos para el trabajo del cuaderno y elija el nombre del rol.

  4. Seleccione la pestaña Relaciones de confianza.

  5. Elija Editar la política de confianza.

  6. Copie y pegue la siguiente política:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com", "events.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Permisos adicionales

Una vez enviado, el trabajo del cuaderno necesita permisos para acceder a los recursos. Las siguientes instrucciones muestran cómo agregar un conjunto mínimo de permisos. Si es necesario, agregue más permisos en función de las necesidades de trabajo de su cuaderno. Para agregar permisos a su rol de ejecución de trabajos, siga los pasos que se describen a continuación:

  1. Abre la IAMconsola.

  2. En el panel izquierdo, seleccione Roles.

  3. Busque el rol de ejecución de trabajos para el trabajo del cuaderno y elija el nombre del rol.

  4. Elija Agregar permisos y, a continuación, Crear política insertada en el menú desplegable.

  5. Selecciona la JSONpestaña.

  6. Copie y pegue la siguiente política:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PassroleForJobCreation", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "sagemaker.amazonaws.com" } } }, { "Sid": "S3ForStoringArtifacts", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::sagemaker-automated-execution-*" }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Sid": "SagemakerJobs", "Effect": "Allow", "Action": [ "sagemaker:StartPipelineExecution", "sagemaker:CreateTrainingJob" ], "Resource": "*" }, { "Sid": "ECRImage", "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability" ], "Resource": "*" } ] }
  7. Agregue permisos a otros recursos a los que accede su trabajo del cuaderno.

  8. Elija Revisar política.

  9. Escriba un nombre para la política.

  10. Elija Crear política.