本文解释了RAM的基本概念,帮助您正确理解和使用RAM。

身份管理相关概念

概念 说明
阿里云账号(Alibaba Cloud account)

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

默认情况下,资源只能被阿里云账号所访问,任何其他用户访问都需要获得阿里云账号的显式授权。阿里云账号就是操作系统的root或Administrator,所以我们有时称它为根账号或主账号。

为确保阿里云账号的安全,如非必要,避免使用阿里云账号登录控制台以及为其创建访问密钥(Access Key)。推荐您在阿里云账号下创建一个RAM用户,并授予管理员权限,后续使用该RAM用户执行管理操作。

身份(Identity) 访问控制(RAM)中有三种身份:RAM用户、用户组和RAM角色。其中RAM用户和用户组是RAM的一种实体身份类型,RAM角色是一种虚拟用户身份。
默认域名(Default domain name)

阿里云为每个阿里云账号分配了一个默认域名,格式为<AccountAlias>.onaliyun.com,其中<AccountAlias>表示账号别名。默认域名可作为RAM用户登录或单点登录(SSO)等场景下该阿里云账号的唯一标识符。

关于如何设置默认域名,请参见查看和修改默认域名

账号别名(Account alias)

账号别名也叫企业别名,账号别名的默认值为阿里云账号ID<AccountID>。账号别名即默认域名中的<AccountAlias>,在设置默认域名时,相当于设置账号别名。在用于RAM用户登录时,账号别名和默认域名等价,使用任何一个均可完成登录。

例如:企业可以为其阿里云账号设置账号别名为:company1,该阿里云账号下的RAM用户alice可以使用alice@company1登录阿里云控制台。

关于如何设置账号别名,请参见查看和修改默认域名

域别名(Domain alias)

如果您持有公网上可以解析的域名,那么您可以使用该域名替代您的默认域名,该域名称为域别名。域别名就是指默认域名的别名。

说明 域别名必须经过域名归属验证后才能使用。验证通过后,您可以使用域别名替代默认域名,用于所有需要使用默认域名的场景。

关于如何设置域别名,请参见创建并验证域别名

RAM用户(RAM user)

RAM用户也叫RAM账号,是RAM的一种实体身份类型,有确定的身份ID和身份凭证,它通常与某个确定的人或应用程序一一对应。RAM用户具备以下特点:

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

关于如何创建RAM用户,请参见创建RAM用户

登录密码(Password)

登录密码是登录阿里云的身份凭证,用于证明用户真实身份的凭证。

说明 登录密码不支持查询,请妥善保管并定期更换。

关于如何设置登录密码,请参见修改阿里云账号登录密码修改RAM用户登录密码

访问密钥(AccessKey)

访问密钥指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。您可以使用访问密钥(或阿里云服务SDK)创建一个API请求,RAM通过使用AccessKey ID和AccessKey Secret对称加密的方法来验证某个请求的发送者身份,身份验证成功后将可以操作相应资源。

AccessKey ID和AccessKey Secret一起使用,AccessKey ID用于标识用户,AccessKey Secret用于验证用户的密钥。

说明 AccessKey Secret只在创建时显示,不支持查询,请妥善保管。

关于如何创建访问密钥,请参见为RAM用户创建访问密钥

多因素认证(MFA)

多因素认证是一种简单有效的最佳安全实践,在用户名和密码之外再增加一层安全保护。这些要素结合起来将为您的账号提供更高的安全保护。启用多因素认证后,再次登录阿里云时,系统将要求输入两层安全要素:

  1. 第一层安全要素:输入用户名和密码。
  2. 第二层安全要素:输入虚拟MFA设备生成的验证码,或通过U2F安全密钥认证。

关于如何设置多因素认证,请参见为阿里云账号启用多因素认证为RAM用户启用多因素认证

用户组(RAM user group)

用户组是RAM的一种实体身份类型,用户组可以对职责相同的RAM用户进行分类并授权,从而更好的管理用户及其权限。

  • 在RAM用户职责发生变化时,只需将其移动到相应职责的用户组下,不会对其他RAM用户产生影响。

    关于如何创建用户组,请参见创建用户组

  • 当用户组的权限发生变化时,只需修改用户组的权限策略,即可应用到所有RAM用户。

    关于如何为用户组授权,请参见为用户组授权

RAM角色(RAM role)

RAM角色是一种虚拟用户,与实体用户(阿里云账号、RAM用户和云服务)和教科书式角色(Textbook role)不同。具体如下:

  • 实体用户:拥有确定的登录密码或访问密钥。
  • 教科书式角色:教科书式角色或传统意义上的角色是指一组权限集合,类似于RAM里的权限策略。如果一个用户被赋予了这种角色,也就意味着该用户被赋予了一组权限,可以访问被授权的资源。
  • RAM角色:RAM角色有确定的身份,可以被赋予一组权限策略,但没有确定的登录密码或访问密钥。RAM角色需要被一个可信的实体用户扮演,扮演成功后实体用户将获得RAM角色的安全令牌,使用这个安全令牌就能以角色身份访问被授权的资源。

根据不同的可信实体类型,RAM角色分为以下几种:

服务提供商(SP) 利用IdP的身份管理功能,为用户提供具体服务的应用。SP会使用IdP提供的用户信息。一些非SAML协议的身份系统(例如:OpenID Connect),也把服务提供商称作IdP的信赖方。
身份提供商(IdP)

一个包含有关外部身份提供商元数据的RAM实体,身份提供商可以提供身份管理服务。

  • 企业本地IdP:Microsoft Active Directory Federation Service(AD FS)以及Shibboleth等。
  • Cloud IdP:Azure AD、Google G Suite、Okta以及OneLogin等。
安全断言标记语言(SAML 2.0) 实现企业级用户身份认证的标准协议,它是SP和IdP之间实现沟通的技术实现方式之一。SAML 2.0已经是目前实现企业级SSO的一种事实标准。
单点登录(SSO)

阿里云支持基于SAML 2.0和OIDC的SSO(Single Sign On,单点登录),也称为身份联合登录。阿里云提供以下两种SSO方式:

  • 用户SSO

    阿里云通过IdP颁发的SAML断言确定企业用户与阿里云RAM用户的对应关系 。企业用户登录后,使用该RAM用户访问阿里云资源。更多信息,请参见用户SSO概览

  • 角色SSO
    支持基于SAML 2.0和OIDC的两种角色SSO:
    • SAML角色SSO:阿里云通过IdP颁发的SAML断言确定企业用户在阿里云上可以使用的RAM角色。企业用户登录后,使用SAML断言中指定的RAM角色访问阿里云资源。请参见SAML角色SSO概览
    • OIDC角色SSO:企业用户通过IdP签发的OIDC令牌(OIDC Token),调用阿里云API扮演指定角色并换取角色临时身份凭证(STS Token),然后使用STS Token安全地访问阿里云资源。更多信息,请参见OIDC角色SSO概览
元数据文档(Metadata file) 元数据文档由企业IdP提供,一般为XML格式,包含IdP的登录服务地址、用于验证签名的公钥及断言格式等信息。
SAML断言(SAML assertion) SAML协议中用于描述认证请求和认证响应的核心元素。例如:用户的具体属性就包含在认证响应的断言里。
信赖(Trust) 建立在SP和IdP之间的互信机制,通常由公钥和私钥来实现。SP通过可信的方式获取IdP的SAML元数据,元数据中包含IdP签发SAML断言的签名验证公钥,SP则使用公钥来验证断言的完整性。
阿里云OAuth 2.0服务(Alibaba Cloud OAuth 2.0 service) 对用户进行认证,接受用户对应用的授权,生成代表用户身份的令牌并返回给被授权的应用。
OAuth应用(OAuth application)

获取用户授权,并获取代表用户身份的令牌,从而可以访问阿里云。

OAuth 2.0服务目前支持的应用类型包括:

  • WebApp:指基于浏览器交互的网络应用。
  • NativeApp:指操作系统中运行的本地应用,主要为运行在桌面操作系统或移动操作系统中的应用。
  • ServerApp:指直接访问阿里云服务,而无需依赖用户登录的应用,目前仅支持基于SCIM协议的用户同步应用。
OAuth范围(Scope) OAuth 2.0服务通过OAuth范围来限定应用扮演用户登录阿里云后可以访问的范围。

访问控制相关概念

概念 说明
权限(Permission)

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

操作分为两大类:

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

权限策略是用语法结构描述的一组权限的集合,可以精确地描述被授权的资源集、操作集以及授权条件。权限策略是描述权限集的一种简单语言规范。关于RAM支持的语言规范,请参见权限策略语法和结构

在RAM中,权限策略是一种资源实体。RAM支持以下两种权限策略:

  • 阿里云管理的系统策略:统一由阿里云创建,用户只能使用不能修改,策略的版本更新由阿里云维护。
  • 客户管理的自定义策略:用户可以自主创建、更新和删除,策略的版本更新由客户自己维护。

通过为RAM用户、用户组或RAM角色绑定权限策略,可以获得权限策略中指定的访问权限。更多信息,请参见为RAM用户授权为用户组授权为RAM角色授权

授权主体(Principal) 获得策略中定义的权限主体,授权主体可以为RAM用户、用户组或RAM角色。
效果(Effect) 权限策略基本元素之一,表示授权效果。取值为:允许(Allow)或拒绝(Deny)。
操作(Action) 权限策略基本元素之一,表示对具体资源的操作。取值为:云服务所定义的API操作名称。
条件(Condition) 权限策略基本元素之一,表示授权生效的条件。
资源(Resource) 资源是云服务呈现给用户与之交互的对象实体的一种抽象,例如:OSS存储空间或ECS实例等。
ARN(Aliyun Resource Name) ARN是阿里云为每个资源定义的全局资源名称。在RAM授权时,ARN遵循的格式为acs:<ram-code>:<region>:<account-id>:<relative-id>,字段含义如下:
  • acs:Alibaba Cloud Service的首字母缩写,表示阿里云的公共云平台。
  • ram-code:云服务的RAM代码。更多信息,请参见支持RAM的云服务RAM代码列。
  • region:地域信息。对于全局资源(无需指定地域就可以访问的资源),该字段置空。更多信息,请参见地域和可用区
  • account-id:阿里云账号ID。例如:123456789012****
  • relative-id:与云服务相关的资源描述部分,其语义由具体云服务指定。这部分的格式支持树状结构(类似文件路径)。以OSS为例,表示一个OSS对象的格式为:relative-id = “mybucket/dir1/object1.jpg”