函数计算这个报错,有人知道怎么解决吗?也看不出来少了啥权限?Error Message:
InvalidArgument: code: 400, cannot assume role ("acs:ram::1398191026353863:role/transcode-susu-oss-triggerrole-034f34b553f3"): No permission to assume the role 'acs:ram::1398191026353863:role/transcode-susu-oss-triggerrole-034f34b553f3' for you request id: 1-65ba0348-16bbea32-b0b6559484fe
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
根据您提供的报错信息,InvalidArgument: code: 400, cannot assume role ("acs:ram::1398191026353863:role/transcode-susu-oss-triggerrole-034f34b553f3"): No permission to assume the role,这表明当前用户或子账号没有权限扮演指定的RAM角色(Role)。以下是详细的解决方法和步骤:
该错误的核心原因是当前用户缺少扮演指定RAM角色的权限。具体来说: - 报错中提到的角色为:acs:ram::1398191026353863:role/transcode-susu-oss-triggerrole-034f34b553f3。 - 错误提示明确指出:当前用户没有权限扮演该角色。
此问题通常发生在以下场景: 1. 使用子账号配置函数计算时,未正确授予子账号扮演特定RAM角色的权限。 2. RAM角色的权限策略未正确配置,导致无法被其他用户或服务使用。
如果当前使用的是子账号,需要确保主账号为子账号授予了扮演指定RAM角色的权限。具体操作如下: - 登录阿里云RAM控制台。 - 找到目标子账号,并为其添加以下权限策略:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "acs:ram::1398191026353863:role/transcode-susu-oss-triggerrole-034f34b553f3"
}
]
}
说明:上述策略允许子账号扮演指定的RAM角色。
AliyunSTSAssumeRoleAccess,它允许子账号扮演所有RAM角色。确保目标RAM角色的信任策略中包含当前用户或服务的主体信息。具体操作如下: - 登录阿里云RAM控制台。 - 找到目标RAM角色(transcode-susu-oss-triggerrole-034f34b553f3)。 - 检查其信任策略是否包含类似以下内容:
{
"Statement": [
{
"Effect": "Allow",
"Principal": {
"RAM": "acs:ram::1398191026353863:root"
},
"Action": "sts:AssumeRole"
}
],
"Version": "1"
}
说明:上述策略允许主账号下的所有用户扮演该角色。如果需要限制为特定子账号,可以将Principal字段替换为具体的子账号ARN。
完成上述配置后,建议通过以下方式验证权限是否生效: - 使用子账号登录阿里云控制台,尝试手动扮演目标RAM角色。 - 如果扮演成功,则说明权限配置正确。
1398191026353863),需要确保目标RAM角色的信任策略中包含当前账号的主体信息。oss:GetObject、oss:ListObjects等)。通过以上步骤,您可以解决因权限不足导致的InvalidArgument错误。如果问题仍未解决,请检查是否有其他权限限制或配置错误,并参考阿里云官方文档进一步排查。您可以复制页面截图提供更多信息,我可以进一步帮您分析问题原因。