为RAM用户开启多因素认证(MFA),可以提高RAM用户的使用安全。通过配置审计的托管规则(高权限的RAM用户开启MFA),可以检测所有RAM用户是否开启MFA。如果您只想检测指定RAM用户(例如:高风险用户)是否开启MFA,请使用本文所述的自定义规则的方法。

前提条件

数据规划

数据规划如下表所示。
云服务 参数 示例
配置审计 规则名称 RAMUserMFA
规则触发机制 配置变更,周期执行
触发频率 1小时
规则入参名称 dangerousActions
期望值 ecs:*,oss:*,log:*
消息服务 主题名称 MNSTestConfig
主题地域 新加坡
说明

由于配置审计部署在新加坡,为了减少网络损耗,建议消息服务MNS的主题地域选择新加坡

访问控制 RAM用户名称 Alice
RAM用户ID 25849250231246****
默认权限策略 AliyunECSFullAccess
函数计算 服务 Ram_User
函数 RamDangerousPolicyUserBindMFA

操作流程

操作流程如下图所示。操作流程

操作步骤

  1. 新建服务。
    1. 登录函数计算控制台
    2. 在顶部菜单栏,选择地域,例如:新加坡
    3. 在左侧导航栏,单击服务及函数
    4. 服务列表区域,单击新增服务
    5. 新建服务页面,服务名称输入Ram_User,取消选中绑定日志复选框。
    6. 单击提交
  2. 新建函数。
    1. 在服务Ram_User页面,单击新增函数
    2. 新建函数页面,鼠标悬浮在事件函数区域,单击配置部署
    3. 新建函数页面,所在服务选择Ram_User函数名称输入RamDangerousPolicyUserBindMFA运行环境选择Python 3,其他参数保持默认值。
      新建函数
    4. 单击新建
  3. 配置函数的环境变量。
    1. 在函数RamDangerousPolicyUserBindMFA代码执行页签,单击概览页签。
    2. 概览页签的函数属性区域,单击修改配置
    3. 修改配置页面,环境变量选择键值,输入该环境变量的键和值。
      示例
      AK 当前阿里云账号的AccessKey ID。关于如何获取AccessKey ID,请参见获取AccessKey LTAI4G6JZSANb8MZMkm1****
      SK 当前阿里云账号的AccessKey Secret。关于如何获取AccessKey Secret,请参见获取AccessKey EMLHThhpD2UJqH1DXuAKii2sI****
      ResourceTypes 资源类型。 ACS::RAM::User
    4. 单击提交
  4. 配置检测RAM用户是否开启MFA的代码。
    1. 在函数RamDangerousPolicyUserBindMFA代码执行页签的在线编辑页面,单击文件index.py
    2. 拷贝并粘贴如下代码至文件index.py
      本段代码用于检测RAM用户是否开启MFA,代码中主要参数说明如下表所示。
      参数 说明 示例
      AK 当前阿里云账号的AccessKey ID。该参数必须与步骤 3中的AK相同。 LTAI4FgrMeKLB7NqDmPe****
      SK 当前阿里云账号的AccessKey Secret。该参数必须与步骤 3中的SK相同。 dylEiakiwLFB1CufDyxyCwlCxZ****
      user_name RAM用户。 无。
      rule_parameters 规则参数。 dangerousActions
      input_actions 指定的危险操作。 ecs:*,oss:*,log:*
      configuration_item 资源的配置详情。 请参见自定义规则的数据结构如何
      说明 本段代码以检测RAM用户是否开启MFA为例。如果您需要通过其他参数检测RAM用户,请参见自定义规则的数据结构是什么
    3. 在线编辑页面,单击右上角的部署
  5. 新建自定义规则。
    1. 登录配置审计控制台
    2. 在左侧导航栏,单击规则
    3. 规则页面,单击新建规则
    4. 新建规则页面,单击新建自定义规则
    5. 基本属性页面,函数Arn所在地域选择新加坡服务选择Ram_User函数选择RamDangerousPolicyUserBindMFA规则名称输入RamUserMFA规则触发机制选择配置变更周期执行触发频率选择1小时,单击下一步
      新建自定义规则
    6. 评估资源范围页面,先单击自定义资源类型,再选择规则关联的资源类型为Ram用户,单击下一步
      评估资源范围
    7. 参数设置页面,单击添加规则入参规则入参名称输入dangerousActions期望值输入ecs:*,oss:*,log:*,单击下一步
      参数设置
      说明 规则入参名称期望值必须与步骤 4中的参数rule_parametersinput_actions保持一致。
    8. 修正设置页面,单击下一步
    9. 预览并保存页面,单击提交
  6. 查看RAM用户Alice的检测结果。
    1. 新建规则成功页面,单击查看规则详情
    2. 单击检测结果页签。
    3. 关联资源的合规结果区域,单击目标资源ID链接,查看该资源的合规结果。
      查看规则评估结果
  7. 设置资源合规事件投递。
    设置资源合规事件MNSTestConfig投递到消息服务MNS的指定主题(Topic)后,您会收到来自消息服务MNS的不合规通知。具体操作,请参见发送资源事件到消息服务MNS