使用AWS s3api CLI,为未通过此规则的S3存储桶启用MFA Delete,例如:
aws s3api put-bucket-versioning --bucket bucketname --versioning-configuration Status=Enabled,MFADelete=Enabled --mfa "your-mfa-serial-number mfa-code"
但收到此错误:调用时发生错误(AccessDenied(PutBucketVersioning操作:此操作只能由铲斗所有者执行。
甚至我也尝试创建新的bucket来做这件事,但同样的错误也出现了。有人经历过吗?
由于您的问题中没有指定它,我将假设最有可能的情况是不使用根帐户。
MFA Delete
只能由您帐户的根启用(来自文档(:
bucket所有者、创建bucket的AWS帐户(根帐户(和所有授权IAM用户都可以启用版本控制,但只有bucket所有者(根账户(可以启用MFA Delete。
在文档中,它指出您必须是的根用户才能启用此功能。
bucket所有者、创建bucket的AWS帐户(根帐户(和所有授权IAM用户都可以启用版本控制,但只有bucket所有者(根账户(可以启用MFA Delete。
除此之外,任何其他BucketVersioning
配置都可以由根用户或允许的IAM用户/角色完成。
这样可以防止员工因为权限过多而意外启用该功能。
作为警告,如果您通过CLI进行配置,请不要在执行操作后留下根IAM凭据。