本文介绍如何通过RAM限制只有启用了多因素认证(MFA)的RAM用户才能访问云资源,例如:ECS。

前提条件

  • 创建自定义策略前,需要先了解权限策略语言的基本结构和语法。更多信息,请参见权限策略基本元素权限策略语法和结构
  • 操作前,请在移动设备端下载并安装Google Authenticator应用。下载方式如下:
    • iOS:在App Store中搜索Google Authenticator
    • Android:在应用市场中搜索Google Authenticator
      说明 Android版Google Authenticator还依赖外部二维码扫描组件,所以您还需要在应用市场中搜索并安装条行码扫描器。

步骤一:创建自定义策略

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择权限管理 > 权限策略
  3. 权限策略页面,单击创建权限策略
  4. 创建权限策略页面,单击脚本编辑页签。
  5. 输入权限策略内容,然后单击继续编辑基本信息

    策略内容示例:只有启用了MFA的RAM用户才能在控制台访问ECS资源。您可以通过设置Conditionacs:MFAPresent的值为true来实现。

    {
        "Statement": [
            {
                "Action": "ecs:*",
                "Effect": "Allow",
                "Resource": "*",
                "Condition": {
                    "Bool": {
                        "acs:MFAPresent": "true"
                    }
                }
            }
        ],
        "Version": "1"
    }
    说明 Condition(限制条件)只针对当前权限策略描述的操作有效。您可以根据实际情况修改策略内容,限制访问其他云资源。
  6. 输入权限策略名称备注
  7. 检查并优化权限策略内容。
    • 基础权限策略优化

      系统会对您添加的权限策略语句自动进行基础优化。基础权限策略优化会完成以下任务:

      • 删除不必要的条件。
      • 删除不必要的数组。
    • 可选:高级权限策略优化

      您可以将鼠标悬浮在可选:高级策略优化上,单击执行,对权限策略内容进行高级优化。高级权限策略优化功能会完成以下任务:

      • 拆分不兼容操作的资源或条件。
      • 收缩资源到更小范围。
      • 去重或合并语句。
  8. 单击确定

步骤二:创建RAM用户

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 用户
  3. 用户页面,单击创建用户
  4. 创建用户页面的用户账号信息区域,设置用户基本信息。
    • 登录名称:可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_),最多64个字符。
    • 显示名称:最多包含128个字符。
    • 可选:标签:您可以单击edit,然后输入标签键和标签值。为RAM用户绑定标签,便于后续基于标签的用户管理。
    说明 单击添加用户,可以批量创建多个RAM用户。
  5. 访问方式区域,选择访问方式,然后设置对应参数。

    为了账号安全,建议您只选择以下访问方式中的一种,将人员用户和应用程序用户分离,避免混用。

    • 控制台访问

      如果RAM用户代表人员,建议启用控制台访问,使用用户名和密码访问阿里云。启用后,您需要设置以下参数:

      • 控制台密码:选择自动生成密码或者自定义密码。自定义登录密码时,密码必须满足密码复杂度规则。更多信息,请参见设置RAM用户密码强度
      • 密码重置策略:选择在下次登录时是否需要重置密码。
      • 多因素认证(MFA)策略:选择是否为当前RAM用户启用MFA。选择启用MFA后,RAM用户登录控制台时,需要绑定MFA设备。更多信息,请参见为RAM用户启用多因素认证
    • OpenAPI调用访问

      如果RAM用户代表应用程序,建议启用OpenAPI调用访问,使用访问密钥(AccessKey)访问阿里云。启用后,系统会自动为RAM用户生成一个AccessKey ID和AccessKey Secret。更多信息,请参见创建AccessKey

  6. 单击确定

步骤三:为RAM用户授权

步骤一创建的自定义策略授予步骤二创建的RAM用户。

  1. 使用阿里云账号登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 用户
  3. 用户页面,单击目标RAM用户操作列的添加权限
  4. 添加权限面板,为RAM用户添加权限。
    1. 选择授权应用范围。
      • 整个云账号:权限在当前阿里云账号内生效。
      • 指定资源组:权限在指定的资源组内生效。
        说明 指定资源组授权生效的前提是该云服务已支持资源组。更多信息,请参见支持资源组的云服务
    2. 输入授权主体。
      授权主体即需要授权的RAM用户,系统会自动填入当前的RAM用户,您也可以添加其他RAM用户。
    3. 选择权限策略。
      说明 每次最多绑定5条策略,如需绑定更多策略,请分次操作。
  5. 单击确定
  6. 单击完成

步骤四:为RAM用户启用MFA

步骤二创建的RAM用户启用MFA。

  1. 阿里云账号或RAM管理员登录RAM控制台
  2. 在左侧导航栏,选择身份管理 > 用户
  3. 用户登录名称/显示名称列,单击目标RAM用户名称。
  4. 单击认证管理页签,然后单击虚拟MFA页签。
  5. 单击启用虚拟MFA
  6. 在移动设备端,添加虚拟MFA设备。
    说明 如下以iOS系统上的Google Authenticator应用为例。
    1. 登录Google Authenticator应用。
    2. 单击开始使用,选择合适的方式添加虚拟MFA设备。
      • 扫码添加(推荐):单击扫描二维码,然后扫描从RAM控制台扫码获取页签下的二维码。
      • 手动添加:先单击输入设置密钥,然后填写从RAM控制台手输信息获取页签下的账号和密钥,最后单击添加
  7. 在RAM控制台,输入移动设备端显示的动态验证码,然后单击确定绑定
    说明 您还可以设置是否允许RAM用户保存MFA验证状态7天,如果为允许,则RAM用户使用MFA登录时,可以选中记住这台机器,7天内无需再次验证,就可以在7天内免MFA验证。关于具体的设置方法,请参见设置RAM用户安全策略