# 文件存储模块 ## 1. 前端上传接口 ## 2. 配置STS直传 ### 步骤一:创建RAM用户 - 登录RAM控制台。 - 在左侧导航栏的人员管理菜单下,单击用户。 - 单击新建用户。 - 输入登录名称和显示名称。 - 在访问方式区域下,选择编程访问,然后单击确定。 - 单击复制,保存访问密钥(AccessKey ID 和 AccessKey Secret)。 ### 步骤二:为RAM用户授予请求AssumeRole的权限 - 单击已创建RAM用户右侧对应的添加权限。 - 在添加权限页面,选择AliyunSTSAssumeRoleAccess权限。 - 单击确定。 ### 步骤三:创建用于获取临时访问凭证的角色 - 在左侧导航栏,单击RAM角色管理。 - 单击新建RAM角色,选择可信实体类型为阿里云账号,单击下一步。 - 在新建RAM角色页面,RAM角色名称填写为RamOssTest,选择云账号为当前云账号。 - 单击完成。 - 单击复制,保存角色的ARN。 ### 步骤四:为角色授予上传文件的权限 - 在左侧导航栏的权限管理菜单下,单击权限策略管理。 - 单击创建权限策略。 - 在新建自定义权限策略页面,填写策略名称,配置模式选择脚本配置,并在策略内容中赋予角色向目标存储空间examplebucket下的目录exampledir上传文件的权限。 ```json { "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:PutObject" ], "Resource": [ "acs:oss:*:*:examplebucket/exampledir", "acs:oss:*:*:examplebucket/exampledir/*" ] } ] } ``` - 单击确定。 ### 步骤五:获取临时访问凭证 - 您可以通过调用STS服务接口AssumeRole 或者使用各语言STS SDK来获取临时访问凭证。 > 说明 临时访问凭证有效时间单位为秒,最小值为900,最大值以当前角色设定的最大会话时间为准。详情请参见设置角色最大会话时间。 ### 步骤六:使用临时访问凭证上传文件至OSS ### 常见问题 - 报错The security token you provided is invalid.如何处理? > 请确保完整填写步骤五获取到的SecurityToken。 - 报错The OSS Access Key Id you provided does not exist in our records.如何处理? > 临时访问凭证已过期,过期后自动失效。请使用临时访问密钥(AccessKeyId和AccessKeySecret)向App服务器申请新的临时访问凭证。具体操作,请参见步骤五。 - 获取STS时报错NoSuchBucket如何处理? > 出现这种报错通常是STS的endpoint填写错误。请根据您的地域,填写正确的STS接入地址。各地域的STS接入地址请参见接入地址。