通过IAM限制只有经过MFA二次认证的用户才能访问云资源
为保障业务和数据安全,您可以通过IAM的策略限定只有经过MFA二次认证的用户才能访问云资源。
应用场景
企业A购买了很多华为云资源来开展业务,例如:ECS实例、BMS实例和OBS实例等。为了确保其业务和数据安全,企业希望增加MFA二次认证,避免因密码或访问密钥泄露导致的核心资产损失。
您可以根据需要创建自定义策略,然后创建IAM用户并为IAM用户授予对应的权限,从而保证只有经过MFA二次认证的用户才能访问云资源。
步骤一:创建自定义策略
- 管理员登录IAM控制台。
- 在统一身份认证服务,左侧导航窗格中,选择“权限管理>权限”页签,单击右上方的“创建自定义策略”。
图1 创建自定义策略
- 输入“策略名称”,以“example-policy”为例。
- “策略配置方式”选择“JSON视图”。
- 在“策略内容”下配置策略。
图2 配置策略
{ "Version": "1.1", "Statement": [ { "Effect": "Allow", "Action": [ "obs:object:DeleteObject", "obs:bucket:DeleteBucket" ], "Condition": { "Bool": { "g:MFAPresent": [ "true" ] } } } ] }
开启MFA登录验证后,如果在登录时勾选“7天内无需再次验证”,下次登录将不再需要进行MFA验证,此时g:MFAPresent是不生效的。
- (可选)输入“策略描述”。
- 单击“确定”。
步骤二:创建IAM用户组
- 管理员登录IAM控制台。
- 在统一身份认证服务,左侧导航窗格中,单击“用户组”>“创建用户组”。
图3 创建用户组
- 在“创建用户组”界面,输入“用户组名称”为“Group”。
用户组名称只能包含中文、大小写字母、数字、空格或特殊字符(-._)。图4 输入用户组信息
- 单击“确定”,完成用户组创建。
返回用户组列表,创建成功的用户组“Group”将会展示在用户组列表中。
步骤三:为IAM用户组授权
- 在用户组列表中,单击新建用户组“Group”右侧的“授权”。
图5 授权
- 在用户组选择策略页面中,勾选步骤一创建的策略“example-policy”。单击“下一步”。
图6 选择权限
- 选择权限的作用范围。系统会根据您所选择的策略,自动推荐授权范围方案,便于为用户选择合适的授权作用范围,表1为IAM提供的所有授权范围方案。
表1 授权范围方案 可选方案
方案说明
所有资源
授权后,IAM用户可以根据权限使用账号中所有资源,包括企业项目、区域项目和全局服务资源。
指定企业项目资源
选择指定企业项目,IAM用户可以根据权限使用该企业项目中的资源。仅开通企业项目后可选。
如果您暂未开通企业项目,将不支持基于企业项目授权,了解企业项目请参考:什么是企业项目管理。如需开通,请参考:开通企业项目。
指定区域项目资源
选择指定区域项目,IAM用户可以根据权限使用该区域项目中的资源。
如果选择作用范围为“区域项目”,且所勾选的策略包含全局服务权限,系统自动将全局服务权限的作用范围设置为所有资源,勾选的区域项目权限的作用范围仍为指定区域项目。
说明:不支持选择专属云DEC的区域项目。
全局服务资源
IAM用户可以根据权限使用全局服务。全局服务部署时不区分物理区域。访问全局级服务时,不需要切换区域,如对象存储服务(OBS)、内容分发网络(CDN)等。
如果选择作用范围为“全局服务”,且所勾选的策略包含项目级服务权限,系统自动将项目权限作用范围设置为所有资源,勾选的全局服务权限的作用范围仍为全局服务。
- 单击“确定”,完成用户组授权。
步骤四:创建IAM用户
- 管理员登录IAM控制台。
- 在左侧导航窗格中,选择“用户”,单击右上方的“创建用户”。
图7 创建用户
- 在“创建用户”页面配置“用户信息”。
图8 填写用户信息
表2 用户信息 参数
示例
描述
用户名
Alice
自定义,不可与账号、或账号中其他IAM用户重复。
邮件地址
暂不配置
自定义,不可与账号、或账号中其他IAM用户重复。可用于IAM用户身份验证、重置密码。
手机号
暂不配置
自定义,不可与账号、或账号中其他IAM用户重复。可用于IAM用户身份验证、重置密码。
- 用户可以使用此处设置的用户名、邮件地址或手机号任意一种方式登录华为云。
- 当用户忘记密码时,可以通过此处绑定的邮箱或手机自行重置密码,如果用户没有绑定邮箱或手机号码,只能由管理员重置密码。
- 选择“访问方式”。
图9 选择访问方式
表3 访问方式 访问方式
说明
编程访问
为IAM用户启用访问密钥或密码,支持用户通过API、CLI、SDK等开发工具访问云服务。
管理控制台访问
为IAM用户启用密码,支持用户登录管理控制台访问云服务。此时凭证类型“密码”为必选项。
- 配置“凭证类型”。
图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用户将无法使用密码相关功能。
- 开启或关闭“登录保护”设置。仅访问方式勾选管理控制台访问时,可以开启或关闭。此处选择开启。
- 开启登录保护:开启登录保护后,IAM用户登录时,除了在登录页面输入用户名和密码外(第一次身份验证),还需要在登录验证页面输入验证码(第二次身份验证)。该功能是一种安全实践,建议开启登录保护,多次身份认证可以提高安全性。
- 关闭登录保护:创建完成后,如需开启登录保护,请参见:登录保护。
图12 关闭登录保护
- 开启或关闭“API登录保护”设置。仅登录保护开启并且验证方式选择虚拟MFA时,可以开启或关闭。
- 开启API登录保护:开启API登录保护后,将无法通过“密码方式”获取IAM用户Token,需要通过“密码+虚拟MFA方式”获取。如需通过密码+虚拟MFA方式获取IAM用户Token,请参见:获取IAM用户Token(使用密码+虚拟MFA)。
- 关闭API登录保护:创建完成后,如需开启API登录保护,需要在IAM用户列表中单击操作列的“安全设置”,单击“登录保护>验证方式”右侧的“
”,选择验证方式为虚拟MFA,开启API登录保护。
- 单击“下一步”,将“Alice”加入到步骤二创建的用户组“Group”中。
图13 加入用户组
- 单击“创建用户”,IAM用户“Alice”创建完成。
图14 创建成功
步骤五:IAM用户登录控制台
- IAM用户Alice单击登录下方的“IAM用户”,在“IAM用户登录”页面,输入“租户名/原华为云账号名”、“IAM用户名/邮件地址”和“IAM用户密码”。
图15 IAM用户登录
表5 登录信息 参数
示例
说明
租户名/原华为云账号名
Company-A
IAM用户所属的账号。此处假设A公司的账号名为“Company-A”。
IAM用户名/邮件地址
Alice
在IAM创建用户时,输入的IAM用户名/邮件地址。如果不知道IAM用户名及初始密码,请向管理员获取。
IAM用户密码
********
IAM用户的密码,非账号密码。此处需要输入上一步中下载的Alice用户的密码。
- 单击“登录”,IAM用户Alice登录华为云。
若用户Alice未开启登录保护,则登录控制台或访问API时无法删除OBS桶和对象。