阿里云权限管理机制包括访问控制和临时安全令牌,可以根据需求使用不同权限的RAM用户来访问表格存储,也支持为用户提供访问的临时授权。使用RAM和STS能极大地提高管理的灵活性和安全性。

背景信息

RAM和STS解决的一个核心问题是如何在不暴露主账号的AccessKey的情况下安全地授权其他人访问。因为主账号的AccessKey泄露会带来极大的安全风险,其他人可以随意操作该账号下所有的资源、盗取重要信息等。
  • 访问控制(RAM)是阿里云提供的管理用户身份与资源访问权限的服务。RAM允许在一个阿里云账号下创建并管理多个身份,并允许给单个身份或一组身份分配不同的权限,从而实现不同用户拥有不同资源访问权限的目的。更多信息,请参见什么是访问控制
  • 阿里云临时安全令牌(Security Token Service,STS)是阿里云提供的一种临时访问权限管理服务。通过STS服务,您所授权的身份主体(RAM用户或RAM角色)可以获取一个自定义时效和访问权限的临时访问令牌。更多信息,请参见什么是STS

RAM提供了一种长期有效的权限控制机制,通过分出不同权限的RAM用户,将不同的权限分给不同的用户,即使RAM用户的AccessKey泄露也不会造成全局的信息泄露。RAM用户一般情况也是长期有效的。因此RAM用户的AccessKey也不能泄露。

相对于RAM提供的长效控制机制,STS提供的是一种临时访问授权,通过STS可以获取临时的AccessKey和Token,这些信息可以直接发给临时用户用来访问智能媒体管理。一般来说,从STS获取的权限会受到更加严格的限制,并且拥有时间限制,因此即使这些信息泄露,对于系统的影响也很小。

配置RAM用户权限

为了数据安全和更好的权限控制,建议使用RAM用户访问智能媒体管理。

  1. 创建RAM用户。具体操作,请参见创建RAM用户
  2. 为RAM用户授权,根据实际配置RAM用户的权限。具体操作,请参见为RAM用户授权
    • 如果需要管理智能媒体管理,例如创建项目等,请授予RAM用户AliyunIMMFullAccess权限。
    • 如果只读访问智能媒体管理,例如查看项目等,请授予RAM用户AliyunIMMReadOnlyAccess权限。
    说明 如果需要更精细的权限控制,您可以创建自定义策略,进行策略权限的配置。更多信息,请参见基于RAM Policy的权限控制
  3. 为RAM用户设置多因素认证。具体操作,请参见为RAM用户设置多因素认证

配置临时用户权限

  1. 创建临时角色及授权。
    1. 创建可信实体为阿里云账号的RAM角色。具体操作,请参见创建可信实体为阿里云账号的RAM角色
    2. 创建自定义策略。具体操作,请参见创建自定义策略
      说明 如果需要更精细的权限控制,您可以自定义策略的权限。更多信息,请参见基于RAM Policy的权限控制
    3. 为临时角色授权。具体操作,请参见为RAM角色授权
  2. 临时授权访问。
    1. 创建自定义策略。具体操作,请参见创建自定义策略
      说明 如果需要更精细的权限控制,您可以自定义策略的权限。更多信息,请参见基于RAM Policy的权限控制
    2. 授权RAM用户临时角色。具体操作,请参见为RAM用户授权
  3. 从STS获取的临时访问凭证。具体操作,请参见AssumeRole
  4. 使用临时授权读写数据。
    您可以使用临时授权调用不同语言的SDK访问智能媒体管理。Java SDK请参考以下方式创建IMMClient对象,传入从STS获取的AccessKeyId、AccessKeySecret和SecurityToken等参数。
    IMMClient client = new IMMClient("cn-shanghai", stsAccessKeyId, stsAccessKeySecret, stsToken);