我正在尝试让 AWS SageMaker 调用 AWS Comprehend。我在 SageMaker 中收到此消息:
ClientError:调用时发生错误(AccessDeniedException)
StartTopicsDetectionJob 操作: 用户:
arn:aws:sts::545176143103:假定角色/access-aws-services-from-sagemaker/SageMaker
无权对资源执行:iam:PassRole:
arn:aws:iam::545176143103:角色/access-aws-services-from-sagemaker
在创建 Jupyter Notebook 时,我使用了这个角色:
arn:aws:sagemaker:us-east-2:545176143103:notebook-instance/access-comprehend-from-sagemaker
...附有以下政策:
我在 SageMaker 中使用相同的 IAM 角色:
data_access_role_arn = "arn:aws:iam::545176143103:role/access-aws-services-from-sagemaker"
看起来我正在为该角色提供其所需的所有访问权限。我该如何纠正这个错误?
根据您的错误,SageMaker 笔记本尝试从没有明确权限的笔记本中更改 IAM 设置时似乎存在权限问题。
您有几个选项可以解决此问题:
选项 1:授予 SageMaker 笔记本权限以在运行时在笔记本中定义 IAM 角色。
在控制台中,单击Hosted Notebooks
沿着左侧导航栏,然后在下面Permissions
,单击附加的 IAM 角色。在这里,您可以添加策略,例如IAMFullAccess
or IAMReadOnlyAccess
。当您尝试从笔记本中附加 IAM 角色时,这应该可以解决权限错误。
选项 2:在控制台中明确定义您希望 SageMaker 拥有的权限。
在控制台中,单击Hosted Notebooks
沿着左侧导航栏,然后在下面Permissions
,单击附加的 IAM 角色。在这里,您可以直接添加资源权限策略(例如Comprehend)。如果不向此角色附加显式 IAM 访问策略,您将无法在运行时更改权限。
选项 3:两者
如果您想要预定义对某些资源的访问权限,但还可能在实验期间添加其他资源权限,则可以执行步骤 1 和 2(将 IAM + 其他资源权限添加到控制台中的托管笔记本,能够在实验期间内联更改您的 SageMaker IAM 角色)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)