Permisos necesarios para usar AWS Lambda con Ground Truth - 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.

Permisos necesarios para usar AWS Lambda con Ground Truth

Es posible que tenga que configurar algunos o todos los siguientes elementos para crear y usar AWS Lambda con Ground Truth.

  • Debe conceder un permiso a un IAM rol o usuario (colectivamente, una IAM entidad) para crear las funciones Lambda previas y posteriores a la anotación AWS Lambda mediante y elegirlas al crear el trabajo de etiquetado.

  • La función de IAM ejecución especificada al configurar el trabajo de etiquetado necesita permiso para invocar las funciones Lambda previas y posteriores a la anotación.

  • Es posible que las funciones de Lambda postanotación necesiten permiso para acceder a Amazon S3.

Utilice las siguientes secciones para obtener información sobre cómo crear las IAM entidades y conceder los permisos descritos anteriormente.

Otorgue permiso para crear y seleccionar una AWS Lambda función

Si no necesita permisos detallados para desarrollar funciones Lambda previas y posteriores a la anotación, puede adjuntar AWS la AWSLambda_FullAccess política gestionada a un usuario o rol. Esta política otorga amplios permisos para usar todas las funciones de Lambda, así como permisos para realizar acciones en otros AWS servicios con los que Lambda interactúa.

Para crear una política más detallada para los casos de uso sensibles a la seguridad, consulte la documentación Políticas basadas en la identidad IAM para Lambda en la Guía para AWS Lambda desarrolladores para obtener información sobre cómo crear una IAM política que se adapte a su caso de uso.

Políticas de uso de la consola de Lambda

Si desea conceder permiso a una IAM entidad para usar la consola Lambda, consulte Uso de la consola Lambda en la Guía para desarrolladores. AWS Lambda

Además, si desea que el usuario pueda acceder e implementar las funciones iniciales de anotación previa y posterior a la anotación de Ground Truth mediante AWS Serverless Application Repository la consola de Lambda, debe especificar la <aws-region> donde desee implementar las funciones (debe ser la misma AWS región que se utilizó para crear el trabajo de etiquetado) y agregue la siguiente política al IAM rol.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "serverlessrepo:ListApplicationVersions", "serverlessrepo:GetApplication", "serverlessrepo:CreateCloudFormationTemplate" ], "Resource": "arn:aws:serverlessrepo:<aws-region>:838997950401:applications/aws-sagemaker-ground-truth-recipe" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "serverlessrepo:SearchApplications", "Resource": "*" } ] }

Políticas para ver las funciones de Lambda en la consola de Ground Truth

Para conceder a una IAM entidad permiso para ver las funciones de Lambda en la consola Ground Truth cuando el usuario crea un trabajo de etiquetado personalizado, la entidad debe tener los permisos descritos enConceda IAM permiso para usar la consola Amazon SageMaker Ground Truth, incluidos los permisos descritos en la sección. Permisos del flujo de trabajo de etiquetado personalizado

Otorgue permiso al rol de IAM ejecución para AWS Lambda invocar funciones

Si agrega la política IAM administrada AmazonSageMakerGroundTruthExecutional rol de IAM ejecución utilizado para crear el trabajo de etiquetado, este rol tiene permiso para enumerar e invocar funciones de Lambda con una de las siguientes cadenas en el nombre de la funciónGtRecipe:SageMaker,, Sagemakersagemaker, o. LabelingFunction

Si los nombres de las funciones de Lambda preanotación y postanotación no incluyen uno de los términos del párrafo anterior, o si necesita un permiso más detallado que los de la política administrada AmazonSageMakerGroundTruthExecution, puede añadir una política similar a la siguiente para dar permiso al rol de ejecución para invocar las funciones preanotación y postanotación.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": [ "arn:aws:lambda:<region>:<account-id>:function:<pre-annotation-lambda-name>", "arn:aws:lambda:<region>:<account-id>:function:<post-annotation-lambda-name>" ] } ] }

Otorgue permisos de Lambda postanotación para acceder a la anotación

Como se describe en La función Lambda de postanotación, la solicitud de Lambda postanotación incluye la ubicación de los datos de la anotación en Amazon S3. Esta ubicación se identifica mediante la cadena s3Uri del objeto payload. Para procesar las anotaciones a medida que van llegando, incluso para una función de transferencia simple, debe asignar los permisos necesarios al rol de ejecución de Lambda postanotación para leer archivos de Amazon S3.

Hay muchas maneras de configurar su Lambda para obtener acceso a los datos de anotaciones en Amazon S3. Las dos formas más comunes son:

  • Permita que la función de ejecución de Lambda asuma la función de SageMaker ejecución identificada roleArn en la solicitud de Lambda posterior a la anotación. Esta función de SageMaker ejecución es la que se utiliza para crear el trabajo de etiquetado y tiene acceso al depósito de salida de Amazon S3 donde se almacenan los datos de anotación.

  • Conceda permiso al rol de ejecución de Lambda para obtener acceso directo al bucket de salida de Amazon S3.

Utilice las siguientes secciones para aprender a configurar estas opciones.

Otorgue permiso a Lambda para asumir la función de ejecución SageMaker

Para permitir que una función de Lambda asuma una función de SageMaker ejecución, debe adjuntar una política a la función de ejecución de la función de Lambda y modificar la relación de confianza de la función de SageMaker ejecución para permitir que Lambda la asuma.

  1. Adjunte la siguiente IAM política a la función de ejecución de la función Lambda para asumir la función de SageMaker ejecución identificada en. Resource Reemplace 222222222222 por el identificador de la cuenta de AWS. Reemplace sm-execution-role por el nombre del rol asumido.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::222222222222:role/sm-execution-role" } }
  2. Modifique la política de confianza del rol de SageMaker ejecución para incluir lo siguienteStatement. Reemplace 222222222222 por el identificador de la cuenta de AWS. Reemplace my-lambda-execution-role por el nombre del rol asumido.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::222222222222:role/my-lambda-execution-role" }, "Action": "sts:AssumeRole" } ] }

Conceda permiso al rol de ejecución de Lambda para acceder a S3

Puede añadir una política similar a la siguiente al rol de ejecución de la función de Lambda postanotación para concederle permisos de lectura de S3. Reemplazar amzn-s3-demo-bucket con el nombre del depósito de salida que especifique al crear un trabajo de etiquetado.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }

Para añadir permisos de lectura de S3 a un rol de ejecución de Lambda en la consola de Lambda, utilice el siguiente procedimiento.

Añada permisos de lectura de S3 a la función de Lambda postanotación:
  1. Abra la página Funciones en la consola de Lambda.

  2. Elija el nombre de la función postanotación.

  3. Elija Configuración y, a continuación, seleccione Permisos.

  4. Seleccione el nombre del rol y la página de resumen de ese rol se abrirá en la IAM consola en una pestaña nueva.

  5. Seleccione Asociar políticas.

  6. Realice una de las siguientes acciones siguientes:

    • Busque y seleccione AmazonS3ReadOnlyAccess para dar permiso a la función para leer todos los buckets y objetos de la cuenta.

    • Si necesita permisos más detallados, seleccione Crear política y utilice el ejemplo de política de la sección anterior para crear una política. Tenga en cuenta que debe volver a la página de resumen del rol de ejecución después de crear la política.

  7. Si utilizó la política administrada AmazonS3ReadOnlyAccess, seleccione Asociar política.

    Si creó una política nueva, vuelva a la página de resumen del rol de ejecución de Lambda y asocie la política que acaba de crear.