步骤一:企业A颁发临时访问凭证
1. 创建RAM用户
使用阿里云主账号或拥有访问控制(RAM)管理权限的RAM账号创建RAM用户。
- 登录RAM控制台。
- 在左侧导航栏,选择身份管理>用户。
- 单击创建用户。
- 输入登录名称和显示名称。
- 在访问方式区域下,选择使用永久 AccessKey 访问,然后单击确定。
- 根据界面提示,完成安全验证。
- 复制访问密钥(AccessKey ID和AccessKey Secret)。重要RAM用户的AccessKey Secret仅在创建时显示,后续将无法查看。因此,强烈建议您及时下载包含访问密钥(AccessKey)的CSV文件,并妥善保存至本地。
2. 为RAM用户授予请求AssumeRole的权限
创建完RAM用户后,使用阿里云主账号或拥有访问控制(RAM)管理权限的RAM账号授予该RAM用户通过扮演角色调用STS服务的权限。
- 登录RAM控制台。
- 在左侧导航栏,选择身份管理>用户,单击已创建RAM用户右侧对应的添加权限。
- 在新增授权页面,选择AliyunSTSAssumeRoleAccess系统策略。说明授予RAM用户调用STS服务AssumeRole接口的固定权限是AliyunSTSAssumeRoleAccess,与后续获取临时访问凭证以及通过临时访问凭证发起OSS请求所需权限无关。
- 单击确认新增授权。
3. 创建RAM角色
使用阿里云主账号或拥有访问控制(RAM)管理权限的RAM账号创建RAM角色。用于定义RAM角色被扮演时,可以获得OSS服务的哪些访问权限。
- 登录RAM控制台。
- 在左侧导航栏,选择身份管理>角色。
- 在角色页面,单击创建角色。
- 在创建角色页面,选择信任主体类型为云账号,然后选择信任主体名称为当前云账号,单击确定。
- 在创建角色对话框,输入角色名称,然后单击确定。
- 单击ARN右侧的复制,保存角色的ARN。
4. 为RAM角色授予上传文件的权限
创建完RAM角色后,使用阿里云主账号或拥有访问控制(RAM)管理权限的RAM账号为RAM角色附加一个或多个权限策略,明确RAM角色在被扮演时所能拥有的OSS资源访问权限。例如,如果希望RAM用户在扮演该角色后只能向OSS指定Bucket上传文件,则需要为角色添加写入权限的策略。
- 创建上传文件的自定义权限策略。
- 登录RAM控制台。
- 在左侧导航栏,选择权限管理>权限策略。
- 在权限策略页面,单击创建权限策略。
- 在创建权限策略页面,单击脚本编辑,然后在策略文档输入框中赋予角色上传文件到examplebucket的权限。具体配置示例如下。警告以下示例仅供参考。您需要根据实际需求配置更细粒度的授权策略,防止出现权限过大的风险。关于更细粒度的授权策略配置详情,请参见通过RAM或STS服务向其他用户授权。
- 说明RAM角色所拥有的OSS权限取决于Action的配置,例如授予oss:PutObject权限,则RAM用户在扮演RAM角色时可以对指定Bucket执行简单上传、表单上传、追加上传、分片上传、断点续传上传等操作。更多信息,请参见OSS Action说明。
- 策略配置完成后,请单击确定按钮,然后在创建权限策略弹出框中填写策略名称(例如RamTestPolicy),确认信息无误后再次单击确定。
- 为RAM角色RamOssTest授予自定义权限策略。
- 登录RAM控制台。
- 在左侧导航栏,选择身份管理 > 角色。
- 在角色页面,找到目标RAM角色RamOssTest。
- 单击RAM角色RamOssTest右侧的新增授权。
- 在新增授权页面的权限策略模块中,选择策略类型为自定义策略,随后在策略列表中选取已创建的自定义权限策略RamTestPolicy。
- 单击确认新增授权。
5. 使用RAM用户扮演RAM角色获取临时访问凭证
重要
STS临时访问凭证无法通过阿里云主账号的访问密钥(AccessKey)调用STS API接口获取,否则会导致报错失败。以下示例将以使用RAM用户的访问密钥(AccessKey)为例进行操作。
Comments NOTHING