DevPay 和 Mfa 是互斥的授权方式

问题描述 投票:0回答:4

我正在尝试使用以下命令通过 AWS-cli 将 MFA 删除添加到我的 S3 存储桶:

aws s3api put-bucket-versioning --bucket <my-bucket-name> --versioning-configuration '{"MFADelete":"Enabled","Status":"Enabled"}' --mfa 'arn:aws:iam::<code-found-at-iam-page>:mfa/root-account-mfa-device <my-google-authenticator-code>'

但我得到的回应是这样的:

调用时发生错误(InvalidRequest) PutBucketVersioning操作:DevPay和Mfa是互斥的 授权方式。

这毫无意义,因为我从未使用过 DevPay。我的实例安全组已启用 S3FullAccess,因此这也不应该成为问题。

任何有关问题可能是什么的建议将不胜感激。

amazon-web-services amazon-s3
4个回答
19
投票

我向 AWS 提交了一个案例,他们的答复是:

当 API 无法执行时,通常会返回该错误响应 由于发出请求而执行 MFA 删除任务 非 root 凭据。打开 MFA 删除的唯一方法是使用 来自帐户根用户的凭据

简单的解决方案!


4
投票

我在尝试使用 AWS CloudShell 执行此操作时遇到了相同的错误,尽管我使用的是 root 用户(并确认我是使用 CloudShell 的 root 用户)。从本地 CLI 运行时,相同的命令有效。


0
投票

要在 s3 存储桶上启用/禁用 MFA 删除,您必须使用 root 访问密钥配置 aws 命令行。

检查先决条件部分

https://aws.amazon.com/premiumsupport/knowledge-center/s3-undelete-configuration/


0
投票

我也遇到同样的错误。我从 AWS 组织创建了一个账户,该账户中没有创建根用户,只有具有完全管理员访问权限的 IAM 角色

OrganizationAccountAccessRole
。我无法使用此角色为 S3 存储桶启用 MFA 删除。

© www.soinside.com 2019 - 2024. All rights reserved.