1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 正如另一个回答中提到的,您在此处遇到权限错误的具体环节不是和明确,但我注意到您没有提到用于调用Personalzie 的Lambda函数的执行角色。
-
错误和您的IAM用户权限应该不太相关(只要您可以访问并编辑Personalize和S3中的内容)。
-
您的Lambda函数时通过使用执行角色(根据描述是personalizeLambda)下运行,并需要访问其需要调用的任何Personalize操作。特别是,personalize:CreateDatasetImportJob听起来是主要的。
-
当您的Lambda调用CreateDatasetImportJob (https://docs.aws.amazon.com/personalize/latest/dg/API_CreateDatasetImportJob.html)时,它将需要通过Lambda的执行角色(API中的roleArn、Python boto3中的role_arn)来传递。
- Personalize需要许可此角色(即它应该在信任策略中具有personalize.amazonaws.com)
- 此角色是需要访问S3的,因为Personalize假定它从S3中读取您的数据。
- 我认为您的Lambda角色还需要Personalize角色的iam:PassRole 权限 (https://docs.amazonaws.cn/en_us/service-authorization/latest/reference/list_identityandaccessmanagement.html#identityandaccessmanagement-actions-as-permissions),以允许您的函数请求Personalize角色下的操作。
从描述中可以看出,您可能忘记了设置具有S3访问权限的Lambda的执行角色,或者只是在该槽中重用Lambda角色ARN而没有添加额外的信任策略,以允许Personalize服务和Lambda都能使用它…但我可能是错的。
您可以在Personalize开发人员指南的设置权限 (https://docs.aws.amazon.com/personalize/latest/dg/aws-personalize-set-up-permissions.html)和[导入批量记录](https://