开发者社区 问答 正文

快速搭建移动应用直传服务

怎么在服务器搭了sts.php后,已经返回相关参数,但用domo测试,报下面的错,

access denied by authorizer's policy

展开
收起
baitian 2017-08-28 18:14:41 2410 分享 版权
阿里云 AI 助理回答

遇到 "access denied by authorizer's policy" 这个错误,通常意味着您的STS(Security Token Service)请求虽然成功获得了临时凭证,但是使用这些凭证访问阿里云服务时,权限受到了策略的限制。这意味着STS临时凭证所关联的RAM角色或用户缺少执行特定操作的权限。

要解决这个问题,您可以按照以下步骤进行检查和调整:

  1. 检查STS临时凭证的策略

    • 登录阿里云RAM控制台,找到生成STS临时凭证所使用的RAM角色或者直接关联的RAM用户。
    • 查看该角色或用户的授权策略(Policies),确保策略中包含了您尝试访问的服务和操作的权限。例如,如果您尝试访问OSS服务,需要确保策略中有如AliyunOSSFullAccess这样的权限策略,或者更细粒度的自定义策略,具体取决于您的需求。
  2. 细粒度权限调整

    • 如果您不希望赋予全权访问,可以编写自定义策略,仅授予必要的最小权限。例如,如果只需要读写某个OSS bucket的权限,可以编写一个只包含oss:PutObjectoss:GetObject等必要操作的策略,并且指定资源为特定的Bucket或其下的对象路径。
  3. 检查Demo代码中的角色ARN

    • 确认在调用STS API获取临时凭证时,请求中指定的角色ARN是否正确无误,以及该ARN确实关联到了正确的策略。
  4. 刷新策略并重新测试

    • 修改策略后,可能需要一些时间让更改生效。刷新页面或等待片刻后,再次使用Demo进行测试。
  5. 查看操作日志

    • 在RAM控制台查看操作日志,这可以帮助您了解权限检查失败的具体原因,包括被拒绝的操作和拒绝的原因。
  6. STS临时凭证有效期

    • 虽然这个错误通常与权限相关,但确保STS临时凭证在有效期内也是必要的。不过,根据您的描述,似乎问题在于权限配置。

通过上述步骤,您应该能够定位并解决“access denied by authorizer's policy”这一问题。如果问题依旧存在,建议检查您的请求中是否有其他参数设置不当,或者联系阿里云技术支持获取进一步的帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答地址: