如何限制只有启用了MFA认证的用户才能操作OSS资源?-阿里云开发者社区

开发者社区> 阿里云存储服务> 正文

如何限制只有启用了MFA认证的用户才能操作OSS资源?

简介: 第一章:用户使用场景介绍   阿里云控制台提供了各个产品相关图形化配置,并且功能比较齐全。对于用户来说,学习成本低、易操作、易上手。因此,绝大多数用户使用主账号登录控制台进行日常的运维管理操作。由于主账号对其名下的所有阿里云资源都拥有完全控制的权限,一旦主账号的登录密码泄露,该账号下的资产将面临极大的损失,甚至有可能被他人恶意使用而造成相关法律风险。

第一章:用户使用场景介绍

  阿里云控制台提供了各个产品相关图形化配置,并且功能比较齐全。对于用户来说,学习成本低、易操作、易上手。因此,绝大多数用户使用主账号登录控制台进行日常的运维管理操作。由于主账号对其名下的所有阿里云资源都拥有完全控制的权限,一旦主账号的登录密码泄露,该账号下的资产将面临极大的损失,甚至有可能被他人恶意使用而造成相关法律风险。
  因此,我们建议您禁用主账号进行相关操作,而是通过授权子账号的方式进行运维和开发管理。而对于不得不使用控制台进行操作的场景,我们建议您对账号启用MFA,以提高账号的安全性。

第二章:为主账号/子账号启用MFA

  为主账号/子账号启用MFA的相关操作方法请参见:账号设置MFA操作方法

第三章:为子账号配置RAM policy 已拒绝非MFA认证的操作请求

  当为主账号以及子账号启用MFA后,用户每次登录控制台的操作都需要输入MFA安全码。因此,可以保证控制台相关操作的安全。但是SDK、API以及工具的相关操作默认不传递MFA参数。因此,对于启用了MFA认证的账号,仍然使用AK信息,不通过MFA二次认证而继续使用SDK、API以及工具操作OSS相关资源。为了实现拒绝子账号所有非MFA二次认证的操作请求,需要对子账号额外赋予RAM Policy。具体RAM Policy策略模板如下:

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "oss:*"
            ],
            "Resource": [
                "acs:oss:*:*:*"
            ],
            "Condition": {
                "Bool": {
                    "acs:MFAPresent": [
                        "true"
                    ]
                }
            }
        }
    ]
}

  设置如上RAM policy策略后,该账号的所有请求操作都需要进过MFA进行二次认证。因此账号登录控制台,输入MFA安全码后,就可以进行正常操作。但是该用户如果使用API、SDK或者工具进行操作,就会提示授权失败如下所示:

D:\5-AK账号\ossutil64>ossutil64.exe ls  oss://test-hangzhou-2025/ -e http://oss-
cn-hangzhou.aliyuncs.com
Error: oss: service returned error: StatusCode=403, ErrorCode=AccessDenied, Erro
rMessage=The bucket you visit is not belong to you., RequestId=5C52AB7E880904877
DF82E2E, Bucket=test-hangzhou-2025!

第四章:FAQ

  1. Bucket Policy的条件参数是否支持设置"MFAPresent"参数?

    • 当前不支持。后续规划支持该特性;
  2. 对于有API、SDK或者工具操作是否支持指定MFA参数?

    • 当前不支持;

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云存储基于飞天盘古2.0分布式存储系统,产品多种多样,充分满足用户数据存储和迁移上云需求。

官方博客
链接