0003-00000301

问题描述

请求被STS Token Policy所拒绝。

问题原因

该报错是获取STS Token代码中的Policy参数的授权问题导致。

问题示例

比如下面Java获取Token的Demo代码所示,其中的Policy设置代表Token的Policy权限设置,最终的Token权限是用户角色的授权和代码中Policy权限的交集:

image

解决方案

请结合您调用的OSS接口,检查您代码中Policy参数的授权策略,排查Policy中的授权是否正确。更多信息,请参见使用STS临时访问凭证访问OSS。其中临时访问凭证最终获取的权限是步骤四:为角色授予上传文件的权限设置的角色权限和步骤五:获取临时访问凭证中Policy设置权限的交集。请通过以下示例检查您在这两个步骤中设置的权限交集。

  • 示例一

    步骤四设置的角色权限为AliyunOSSFullAccess系统权限,步骤五Policy中设置了oss:PutObject权限,则临时访问凭证最终获取的权限为oss:PutObject,即仅支持执行向指定Bucket上传文件的操作。

  • 示例二

    步骤四设置的角色权限为oss:PutObject系统权限,步骤五Policy中设置了oss:GetObject权限,则临时访问凭证最终未获取任何权限,即无法向指定Bucket执行任何操作。