文档首页/ 统一身份认证服务 IAM/ 最佳实践/ 通过IAM限制只有经过MFA二次认证的用户才能访问云资源
更新时间:2025-08-06 GMT+08:00
分享

通过IAM限制只有经过MFA二次认证的用户才能访问云资源

为保障业务和数据安全,您可以通过IAM的策略限定只有经过MFA二次认证的用户才能访问云资源。

应用场景

企业A购买了很多华为云资源来开展业务,例如:ECS实例、BMS实例和OBS实例等。为了确保其业务和数据安全,企业希望增加MFA二次认证,避免因密码或访问密钥泄露导致的核心资产损失。

您可以根据需要创建自定义策略,然后创建IAM用户并为IAM用户授予对应的权限,从而保证只有经过MFA二次认证的用户才能访问云资源。

步骤一:创建自定义策略

  1. 管理员登录IAM控制台
  2. 在统一身份认证服务,左侧导航窗格中,选择“权限管理>权限”页签,单击右上方的“创建自定义策略”

    图1 创建自定义策略

  3. 输入“策略名称”,以“example-policy”为例。
  4. “策略配置方式”选择“JSON视图”
  5. “策略内容”下配置策略。

    图2 配置策略
    {
        "Version": "1.1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "obs:object:DeleteObject",
                    "obs:bucket:DeleteBucket"
                ],
                "Condition": {
                    "Bool": {
                        "g:MFAPresent": [
                            "true"
                        ]
                    }
                }
            }
        ]
    }

    开启MFA登录验证后,如果在登录时勾选“7天内无需再次验证”,下次登录将不再需要进行MFA验证,此时g:MFAPresent是不生效的。

  6. (可选)输入“策略描述”
  7. 单击“确定”。

步骤二:创建IAM用户组

  1. 管理员登录IAM控制台
  2. 在统一身份认证服务,左侧导航窗格中,单击“用户组”>“创建用户组”。

    图3 创建用户组

  3. 在“创建用户组”界面,输入“用户组名称”为“Group”。

    用户组名称只能包含中文、大小写字母、数字、空格或特殊字符(-._)。
    图4 输入用户组信息

  4. 单击“确定”,完成用户组创建。

    返回用户组列表,创建成功的用户组“Group”将会展示在用户组列表中。

步骤三:为IAM用户组授权

  1. 在用户组列表中,单击新建用户组“Group”右侧的“授权”。

    图5 授权

  2. 在用户组选择策略页面中,勾选步骤一创建的策略“example-policy”。单击“下一步”。

    图6 选择权限

  3. 选择权限的作用范围。系统会根据您所选择的策略,自动推荐授权范围方案,便于为用户选择合适的授权作用范围,表1为IAM提供的所有授权范围方案。

    表1 授权范围方案

    可选方案

    方案说明

    所有资源

    授权后,IAM用户可以根据权限使用账号中所有资源,包括企业项目、区域项目和全局服务资源。

    指定企业项目资源

    选择指定企业项目,IAM用户可以根据权限使用该企业项目中的资源。仅开通企业项目后可选。

    如果您暂未开通企业项目,将不支持基于企业项目授权,了解企业项目请参考:什么是企业项目管理。如需开通,请参考:开通企业项目

    指定区域项目资源

    选择指定区域项目,IAM用户可以根据权限使用该区域项目中的资源。

    如果选择作用范围为“区域项目”,且所勾选的策略包含全局服务权限,系统自动将全局服务权限的作用范围设置为所有资源,勾选的区域项目权限的作用范围仍为指定区域项目。

    说明:

    不支持选择专属云DEC的区域项目。

    全局服务资源

    IAM用户可以根据权限使用全局服务。全局服务部署时不区分物理区域。访问全局级服务时,不需要切换区域,如对象存储服务(OBS)、内容分发网络(CDN)等。

    如果选择作用范围为“全局服务”,且所勾选的策略包含项目级服务权限,系统自动将项目权限作用范围设置为所有资源,勾选的全局服务权限的作用范围仍为全局服务。

  4. 单击“确定”,完成用户组授权。

步骤四:创建IAM用户

  1. 管理员登录IAM控制台
  2. 在左侧导航窗格中,选择“用户”,单击右上方的“创建用户”。

    图7 创建用户

  3. 在“创建用户”页面配置“用户信息”。

    图8 填写用户信息
    表2 用户信息

    参数

    示例

    描述

    用户名

    Alice

    自定义,不可与账号、或账号中其他IAM用户重复。

    邮件地址

    暂不配置

    自定义,不可与账号、或账号中其他IAM用户重复。可用于IAM用户身份验证、重置密码。

    手机号

    暂不配置

    自定义,不可与账号、或账号中其他IAM用户重复。可用于IAM用户身份验证、重置密码。

    • 用户可以使用此处设置的用户名、邮件地址或手机号任意一种方式登录华为云。
    • 当用户忘记密码时,可以通过此处绑定的邮箱或手机自行重置密码,如果用户没有绑定邮箱或手机号码,只能由管理员重置密码。

  4. 选择“访问方式”。

    图9 选择访问方式
    表3 访问方式

    访问方式

    说明

    编程访问

    为IAM用户启用访问密钥密码,支持用户通过API、CLI、SDK等开发工具访问云服务。

    管理控制台访问

    为IAM用户启用密码,支持用户登录管理控制台访问云服务。此时凭证类型“密码”为必选项。

  5. 配置“凭证类型”。

    图10 配置凭证类型
    表4 配置凭证类型

    凭证类型

    示例

    说明

    访问密钥

    勾选

    访问密钥(AK/SK,Access Key ID/Secret Access Key)包含访问密钥ID(AK)和秘密访问密钥(SK)两部分,是您在华为云的长期身份凭证,您可以通过访问密钥对华为云API的请求进行签名

    创建用户完成后即可下载本次创建的所有用户的访问密钥(AK/SK)

    密码

    自定义

    -

    自定义用户密码,并选择用户首次登录时是否需要重置密码。

    如果您是用户的使用主体,建议您选择该方式,设置自己的登录密码,且无需勾选首次登录时重置密码。

    自动生成

    -

    系统自动生成IAM用户的登录密码,创建完用户即可下载Excel形式的密码文件。将密码文件提供给用户,用户使用该密码登录。

    密码文件需在创建完用户后及时下载,如取消下载将无法再次获取该密码文件。可以通过修改IAM用户密码重新设置用户密码。

    仅在创建单个用户时适用。

    首次登录时设置

    选择

    系统通过邮件发一次性登录链接给用户,用户登录控制台并设置密码。

    如果您不是用户的使用主体,建议选择该方式,同时输入用户的邮件地址和手机,用户通过邮件中的一次性链接登录华为云,自行设置密码。该链接2天内有效。

    USB KEY

    不勾选

    USB KEY是一种通过硬件存储用户凭证的设备。使用USB KEY进行身份验证,无需输入密码,可以避免密码意外泄漏带来的账号安全问题。

    勾选后,该IAM用户只能使用USB KEY登录,IAM用户将无法使用密码相关功能。

  6. 开启或关闭“登录保护”设置。仅访问方式勾选管理控制台访问时,可以开启或关闭。此处选择开启。

    • 开启登录保护:开启登录保护后,IAM用户登录时,除了在登录页面输入用户名和密码外(第一次身份验证),还需要在登录验证页面输入验证码(第二次身份验证)。该功能是一种安全实践,建议开启登录保护,多次身份认证可以提高安全性。
      您可以选择通过手机、邮件地址、虚拟MFA进行登录验证。
      图11 开启登录保护
    • 关闭登录保护:创建完成后,如需开启登录保护,请参见:登录保护
      图12 关闭登录保护

  7. 开启或关闭“API登录保护”设置。仅登录保护开启并且验证方式选择虚拟MFA时,可以开启或关闭。

    • 开启API登录保护:开启API登录保护后,将无法通过“密码方式”获取IAM用户Token,需要通过“密码+虚拟MFA方式”获取。如需通过密码+虚拟MFA方式获取IAM用户Token,请参见:获取IAM用户Token(使用密码+虚拟MFA)
    • 关闭API登录保护:创建完成后,如需开启API登录保护,需要在IAM用户列表中单击操作列的“安全设置”,单击“登录保护>验证方式”右侧的“”,选择验证方式为虚拟MFA,开启API登录保护。

  8. 单击“下一步”,将“Alice”加入到步骤二创建的用户组“Group”中。

    图13 加入用户组

  9. 单击“创建用户”,IAM用户“Alice”创建完成。

    图14 创建成功

步骤五:IAM用户登录控制台

  1. IAM用户Alice单击登录下方的“IAM用户”,在“IAM用户登录”页面,输入“租户名/原华为云账号名”、“IAM用户名/邮件地址”“IAM用户密码”

    图15 IAM用户登录
    表5 登录信息

    参数

    示例

    说明

    租户名/原华为云账号名

    Company-A

    IAM用户所属的账号。此处假设A公司的账号名为“Company-A”。

    IAM用户名/邮件地址

    Alice

    在IAM创建用户时,输入的IAM用户名/邮件地址。如果不知道IAM用户名及初始密码,请向管理员获取。

    IAM用户密码

    ********

    IAM用户的密码,非账号密码。此处需要输入上一步中下载的Alice用户的密码。

  2. 单击“登录”,IAM用户Alice登录华为云。

    若用户Alice未开启登录保护,则登录控制台或访问API时无法删除OBS桶和对象。

相关文档