第一章:用户使用场景介绍
阿里云控制台提供了各个产品相关图形化配置,并且功能比较齐全。对于用户来说,学习成本低、易操作、易上手。因此,绝大多数用户使用主账号登录控制台进行日常的运维管理操作。由于主账号对其名下的所有阿里云资源都拥有完全控制的权限,一旦主账号的登录密码泄露,该账号下的资产将面临极大的损失,甚至有可能被他人恶意使用而造成相关法律风险。
因此,我们建议您禁用主账号进行相关操作,而是通过授权子账号的方式进行运维和开发管理。而对于不得不使用控制台进行操作的场景,我们建议您对账号启用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
-
Bucket Policy的条件参数是否支持设置"MFAPresent"参数?
- 当前不支持。后续规划支持该特性;
-
对于有API、SDK或者工具操作是否支持指定MFA参数?
- 当前不支持;