cloudPaste使用阿里云OSS教程

koaker 发布于 2025-05-01 所有文章


https://help.aliyun.com/zh/oss/developer-reference/use-temporary-access-credentials-provided-by-sts-to-access-oss?spm=a2c4g.11186623.0.0.261a5ba6zyQ8A2#section-5xa-zdn-s0q

步骤一:企业A颁发临时访问凭证

1. 创建RAM用户

使用阿里云主账号或拥有访问控制(RAM)管理权限的RAM账号创建RAM用户

  1. 登录RAM控制台
  2. 在左侧导航栏,选择身份管理>用户
  3. 单击创建用户
  4. 输入登录名称显示名称
  5. 访问方式区域下,选择使用永久 AccessKey 访问,然后单击确定
  6. 根据界面提示,完成安全验证。
  7. 复制访问密钥(AccessKey ID和AccessKey Secret)。重要RAM用户的AccessKey Secret仅在创建时显示,后续将无法查看。因此,强烈建议您及时下载包含访问密钥(AccessKey)的CSV文件,并妥善保存至本地。image

2. 为RAM用户授予请求AssumeRole的权限

创建完RAM用户后,使用阿里云主账号或拥有访问控制(RAM)管理权限的RAM账号授予该RAM用户通过扮演角色调用STS服务的权限。

  1. 登录RAM控制台
  2. 在左侧导航栏,选择身份管理>用户,单击已创建RAM用户右侧对应的添加权限
  3. 新增授权页面,选择AliyunSTSAssumeRoleAccess系统策略。说明授予RAM用户调用STS服务AssumeRole接口的固定权限是AliyunSTSAssumeRoleAccess,与后续获取临时访问凭证以及通过临时访问凭证发起OSS请求所需权限无关。image
  4. 单击确认新增授权

3. 创建RAM角色

使用阿里云主账号或拥有访问控制(RAM)管理权限的RAM账号创建RAM角色用于定义RAM角色被扮演时,可以获得OSS服务的哪些访问权限。

  1. 登录RAM控制台
  2. 在左侧导航栏,选择身份管理>角色
  3. 角色页面,单击创建角色
  4. 创建角色页面,选择信任主体类型云账号,然后选择信任主体名称当前云账号,单击确定image
  5. 创建角色对话框,输入角色名称,然后单击确定
  6. 单击ARN右侧的复制,保存角色的ARN。image

4. 为RAM角色授予上传文件的权限

创建完RAM角色后,使用阿里云主账号或拥有访问控制(RAM)管理权限的RAM账号为RAM角色附加一个或多个权限策略,明确RAM角色在被扮演时所能拥有的OSS资源访问权限。例如,如果希望RAM用户在扮演该角色后只能向OSS指定Bucket上传文件,则需要为角色添加写入权限的策略。

  1. 创建上传文件的自定义权限策略。
    1. 登录RAM控制台
    2. 在左侧导航栏,选择权限管理>权限策略
    3. 权限策略页面,单击创建权限策略
    4. 创建权限策略页面,单击脚本编辑,然后在策略文档输入框中赋予角色上传文件到examplebucket的权限。具体配置示例如下。警告以下示例仅供参考。您需要根据实际需求配置更细粒度的授权策略,防止出现权限过大的风险。关于更细粒度的授权策略配置详情,请参见通过RAM或STS服务向其他用户授权。 
    5. 说明RAM角色所拥有的OSS权限取决于Action的配置,例如授予oss:PutObject权限,则RAM用户在扮演RAM角色时可以对指定Bucket执行简单上传、表单上传、追加上传、分片上传、断点续传上传等操作。更多信息,请参见OSS Action说明
    6. 策略配置完成后,请单击确定按钮,然后在创建权限策略弹出框中填写策略名称(例如RamTestPolicy),确认信息无误后再次单击确定
  2. 为RAM角色RamOssTest授予自定义权限策略。
    1. 登录RAM控制台
    2. 在左侧导航栏,选择身份管理 > 角色
    3. 角色页面,找到目标RAM角色RamOssTest
    4. 单击RAM角色RamOssTest右侧的新增授权
    5. 新增授权页面的权限策略模块中,选择策略类型为自定义策略,随后在策略列表中选取已创建的自定义权限策略RamTestPolicy
    6. 单击确认新增授权

5. 使用RAM用户扮演RAM角色获取临时访问凭证

重要

STS临时访问凭证无法通过阿里云主账号的访问密钥(AccessKey)调用STS API接口获取,否则会导致报错失败。以下示例将以使用RAM用户的访问密钥(AccessKey)为例进行操作。

  • 为角色授予上传文件的权限后,RAM用户需要通过扮演角色来获取临时访问凭证。临时访问凭证包括安全令牌(SecurityToken)、临时访问密钥(AccessKeyId和AccessKeySecret)以及过期时间(Expiration)。您可以使用STS SDK获取具有简单上传(oss:PutObject)权限的临时访问凭证。有关更多语言的STS SDK示例,请参见STS SDK概览
  • 示例代码中的endpoint为STS服务接入点地址。为了获得更快的STS服务响应速度,您可以根据服务器所处地域,选择对应的或相近的STS服务接入点地址进行填写。有关STS服务接入点地址信息,请参见服务接入点

此作者没有提供个人介绍。
最后更新于 2025-05-15