我尝试使用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,因此也不会出现问题。
对于可能出现的问题的任何建议都将不胜感激。
答案 0 :(得分:1)
我向AWS提交了一个案例,他们回答:
当API无法返回时,通常会返回该错误响应 由于发出请求,执行MFA删除任务 非root凭据。打开MFA删除的唯一方法是使用 来自帐户root用户的凭据
简单解决方案!
答案 1 :(得分:0)
要在s3存储桶上启用/禁用MFA删除,您必须使用root访问密钥配置aws命令行。
检查先决条件部分
https://aws.amazon.com/premiumsupport/knowledge-center/s3-undelete-configuration/
答案 2 :(得分:0)
我在尝试使用 AWS CloudShell 执行此操作时遇到了同样的错误,尽管我使用的是 root 用户(并确认我是使用 CloudShell 的 root)。从本地 CLI 运行时,同样的命令也能工作。