本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
添加所需的使用权限 AWS Lambda 用 Ground Truth
您可能需要配置以下部分或全部内容,才能在 Ground Truth 中创建和使用 AWS Lambda 。
-
您需要向 IAM 角色或用户(统称为 IAM 实体)授予使用创建标注前和注释后 Lambda 函数的权限 AWS Lambda,并在创建标签任务时选择它们。
-
配置标注作业时指定的 IAM 执行角色需要调用注释前和注释后 Lambda 函数的权限。
-
注释后 Lambda 函数可能需要获得访问 Amazon S3 的权限。
使用以下部分了解如何创建 IAM 实体并授予上述权限。
授予创建和选择权限 AWS Lambda 函数
如果您不需要精细权限来开发注释前和注释后的 Lambda 函数,则可以将托管AWSLambda_FullAccess策略附加 AWS 到用户或角色。该策略授予使用所有 Lambda 功能的广泛权限,以及在 Lambda 与之交互的其他 AWS 服务中执行操作的权限。
要为对安全敏感的用例创建更精细的策略,请参阅 AWS Lambda 开发人员指南中针对 Lambda 的 Identity-based IAM 策略文档,了解如何创建适合您的用例的 IAM 策略。
使用 Lambda 控制台的策略
如果您想授予 IAM 实体使用 Lambda 控制台的权限,请参阅开发人员指南中的使用 Lambda 控制台。 AWS Lambda
此外,如果您希望用户能够 AWS Serverless Application Repository 在 Lambda 控制台中使用访问和部署 Ground Truth 入门预注释和标注后函数,则必须指定要部署函数的位置(这应该与用于创建标签任务的 AWS 区域相同),并将以下策略添加到 IAM 角色。<aws-region>
在 Ground Truth 控制台中查看 Lambda 函数的策略
要授予 IAM 实体在用户创建自定义标注作业时在 Ground Truth 控制台中查看 Lambda 函数的权限,该实体必须具有授予 IAM 使用亚马逊 G SageMaker round Truth 控制台的权限中所述的权限,包括自定义标注工作流权限部分中所述权限。
授予 IAM 执行角色调用权限 AWS Lambda 函数
如果您将 IAM 托管策略AmazonSageMakerGroundTruthExecutionGtRecipe、、、SageMakerSagemakersagemaker、或。LabelingFunction
如果注释前或注释后 Lambda 函数名称不包括上一段中的任何术语,或者您需要比 AmazonSageMakerGroundTruthExecution 托管策略中更细粒度的权限,您可以添加与下面类似的策略,以授予执行角色调用注释前和注释后函数的权限。
授予 Post-Annotation Lambda 访问注解的权限
如Post-annotation Lambda中所述,注释后 Lambda 请求包括注释数据在 Amazon S3 中的位置。此位置由 payload 对象中的 s3Uri 字符串标识。要处理传入的注释,即使是简单的传递函数,也需要为注释后 Lambda 执行角色分配必要的权限,以便从 Amazon S3 读取文件。
您可以通过多种方式配置 Lambda 以访问 Amazon S3 中的注释数据。两种常见的方法是:
-
允许 Lambda 执行角色担任注释后 Lambda 请求
roleArn中标识的 SageMaker AI 执行角色。此 SageMaker AI 执行角色用于创建标签任务,并且可以访问存储注释数据的 Amazon S3 输出存储桶。 -
授予 Lambda 执行角色直接访问 Amazon S3 输出存储桶的权限。
使用以下部分了解如何配置这些选项。
向 Lambda 授予担任 SageMaker AI 执行角色的权限
要允许 Lambda 函数担任 SageMaker AI 执行角色,您必须将策略附加到 Lambda 函数的执行角色,并修改 SageMaker AI 执行角色的信任关系以允许 Lambda 担任该角色。
-
将以@@ 下 IAM 策略附加到您的 Lambda 函数的执行角色,以代入中确定的 SageMaker AI 执行角色。
Resource将替换为 AWS 账户 ID。将222222222222替换为代入角色的名称。sm-execution-role -
修改 SageMaker AI 执行角色的信任策略以包括以下内容
Statement。将替换为 AWS 账户 ID。将222222222222替换为代入角色的名称。my-lambda-execution-role
授予 Lambda 执行角色访问 S3 的权限
您可以将类似于以下内容的策略添加到注释后 Lambda 函数执行角色,以授予其 S3 读取权限。amzn-s3-demo-bucket替换为您在创建标注任务时指定的输出存储桶的名称。
要在 Lambda 控制台中为 Lambda 执行角色添加 S3 读取权限,请使用以下过程。
将 S3 读取权限添加到注释后 Lambda:
-
在 Lambda 控制台中打开函数页面
。 -
选择注释后函数的名称。
-
选择配置,然后选择权限。
-
选择角色名称,该角色的摘要页面就会在 IAM 控制台的新标签页中打开。
-
选择附加策略。
-
请执行以下操作之一:
-
搜索并选择
AmazonS3ReadOnlyAccess以授予函数读取账户中所有存储桶和对象的权限。 -
如果需要更细粒度的权限,请选择创建策略并使用上一节中的策略示例来创建策略。请注意,创建策略后必须导航回执行角色摘要页面。
-
-
如果使用了
AmazonS3ReadOnlyAccess托管策略,请选择附加策略。如果您创建了新策略,请导航回 Lambda 执行角色摘要页面并附加刚创建的策略。