本文罗列了 RAM 中用到的主要术语,帮助您正确理解和使用 RAM。

身份管理相关术语

云账户(主账户, Account)

云账户是阿里云资源归属、资源使用计量计费的基本主体。当用户开始使用阿里云服务时,首先需要注册一个云账户。云账户为其名下所拥有的资源付费,并对其名下所有资源拥有完全控制权限。

默认情况下,资源只能被属主(ResourceOwner)所访问,任何其他用户访问都需要获得属主的显式授权。所以从权限管理的角度来看,云账户就是操作系统的 root 或 Administrator,所以我们有时称它为根账户或主账户。

云账户别名(或称企业别名, Account Alias)

每个云账户可以在 RAM 中设置一个全局唯一的账户别名。账户别名主要用于 RAM 用户登录,登录成功后可作为显示名。

例如,公司 company1 可以为其云账号设置账号别名为 company1,那么该账号下的 RAM 用户 alice 可以使用alice@company1进行登录,登录成功后,用户的显示名就是 alice@company1。

云账户的默认域名(Default Domain Name)与域别名(Domain Alias)

默认域名

阿里云为每个云账号分配了一个默认域名,格式为<AccountAlias>.onaliyun.com,作为子用户登录、身份联盟管理等场景下该云账号的唯一标识符。

有了默认域名,客户可以使用标准格式来表示一个 RAM 用户,例如,alice@company1.onaliyun.com。

域别名

如果您持有公网上可以解析的域名,那么您可以使用该域名替代您的默认域名,该域名称为 域别名。域别名就是指默认域名的别名。
说明 您创建的域别名必须经过域名归属验证,才能使用。验证通过后,您可以使用域别名替代所有需要使用默认域名的场景。

当 RAM 用户登录时,登录名称的后缀表示可以使用云账号别名、默认域名、域别名中的任何一种。

身份凭证(Credential)

身份凭证是用于证明用户真实身份的凭据,它通常是指登录密码或访问密钥(Access Key)。身份凭证是秘密信息,用户必须保护好身份凭证的安全。

  • 登录名/密码(Password):您可以使用登录名和密码登录阿里云控制台,查看订单、账单或购买资源,并通过控制台进行资源操作。
  • 访问密钥(AccessKey):您可以使用访问密钥构造一个 API 请求(或者使用云服务 SDK)来操作资源。
  • 多因素认证(MFA):Multi-Factor Authentication,是一种简单有效的最佳安全实践,它能够在用户名和密码之外再增加一层安全保护。这些多重要素结合起来将为您的账户提供更高的安全保护。启用 MFA 后,用户登录阿里云时,系统将要求输入两层安全要素:
    • 第一安全要素:用户名和密码。
    • 第二安全要素:来自其虚拟 MFA 设备的可变验证码。

    这些多重要素结合起来将为您的账户提供更高的安全保护。

RAM 用户(RAM User)

RAM 允许在一个云账户下创建多个 RAM 用户(可以对应企业内的员工、系统或应用程序)。RAM 用户不拥有资源,没有独立的计量计费,这些用户由所属云账户统一控制和付费。RAM 用户是归属于云账户,只能在所属云账户的空间下可见,而不是独立的云账户。RAM 用户必须在获得云账户的授权后才能登录控制台或使用 API 操作云账户下的资源。

RAM 用户有两种身份类型:

  • RAM-User:是一种实体身份类型,有确定的身份 ID 和身份凭证,它通常与某个确定的人或应用程序一一对应。
  • RAM-Role:是一种虚拟身份类型,它没有确定的身份凭证,它必须关联到某个实体身份上才能使用。

RAM角色(RAM Role)

RAM 角色不同于教科书式角色。RAM 角色是一种虚拟用户(或影子账号),它是 RAM 用户类型的一种。这种虚拟用户有确定的身份,也可以被赋予一组权限(Policy),但它没有确定的身份认证密钥(登录密码或 AccessKey)。与普通 RAM 用户的差别主要在使用方法上,RAM 角色需要被一个授信的实体用户扮演,扮演成功后实体用户将获得 RAM 角色的临时安全令牌,使用这个临时安全令牌就能以角色身份访问被授权的资源。

  • RAM-Role 的扮演与切换

  • 从登录身份切换到角色身份(SwitchRole):一个实体用户(例如 RAM-User)登录到控制台后,可以选择角色切换,前提是这个实体用户已经被关联了角色。每次只能切换进入某一种角色。当用户从登录身份 进入角色身份时,用户只能使用角色身份上所绑定的权限,而登录身份上绑定的权限会被屏蔽。如果需要使用登录身份的权限,那么需要从角色身份切换回到登录身份。
  • 从实体身份通过程序调用方式扮演角色(AssumeRole):如果一个实体用户(例如 RAM-User)关联了某个 RAM-Role,那么该用户可以使用访问密钥(AccessKey)来调用 STS 服务的 AssumeRole 接口来获得这个 RAM-Role 的一个临时访问密钥。临时访问密钥有过期时间和受限制的访问权限(不会超过该角色所绑定的权限集),通常用于解决临时授权问题。

访问控制相关术语

资源(Resource)

资源是云服务呈现给用户与之交互的对象实体的一种抽象,如 OSS 存储桶或对象,ECS 实例等。

我们为每个资源定义了一个全局的阿里云资源名称(Aliyun Resource Name, ARN)。格式如下:

acs:<service-name>:<region>:<account-id>:<resource-relative-id>

格式说明:

  • acs: Alibaba Cloud Service 的首字母缩写,表示阿里云的公有云平台。
  • service-name: 阿里云提供的 Open Service 的名字,如 ecs, oss等。
  • region: 地区信息。如果不支持该项,可以使用通配符“*”号来代替。
  • account-id: 账号 ID,例如 1234567890123456
  • resource-relative-id: 与 service 相关的资源描述部分,其语义由具体 service 指定。

    以 OSS 为例,acs:oss::1234567890123456:sample_bucket/file1.txt 表示公有云平台 OSS 资源,OSS 对象名称是 sample_bucket/file1.txt,对象的 Owner 是 1234567890123456

权限(Permission)

权限分为:允许(Allow)或拒绝(Deny)一个用户对某种资源执行某种操作。

操作可以分为两大类:

  • 资源管控操作:指云资源的生命周期管理及运维管理操作,例如 ECS 的实例创建、停止、重启等,OSS 的 Bucket 创建、修改、删除等;所面向的用户一般是资源购买者或您组织内的运维员工。
  • 资源使用操作:指使用资源的核心功能,例如 ECS 实例操作系统中的用户操作,OSS Bucket 的数据上传/下载;所面向的用户一般是您组织内的研发员工或应用系统。
    说明 对于弹性计算和数据库产品,资源管控操作可以通过 RAM 来管理,而资源使用操作是在每个产品的实例内进行管理,例如 ECS 实例操作系统的权限控制,MySQL 数据库提供的权限控制。单对于存储类产品,如 OSS、Table Store 等,资源管控操作和资源使用操作都可以通过 RAM 来管理。

权限策略(Policy)

权限策略是描述权限集的一种简单语言规范。RAM 支持的语言规范请参见语法结构

RAM 支持两种类型的权限策略:云平台管理的 系统策略 和客户管理的自定义策略

  • 对于阿里云管理的 系统策略,用户只能使用,不能修改,阿里云会自动完成系统访问策略的版本更新。
  • 对于客户管理的自定义策略,用户可以自主创建和删除,策略版本由客户自己维护。