amazon-web-services - 如何通过 IAM 共享具有 MFA 保护的 Amazon S3 内容?

标签 amazon-web-services amazon-s3 amazon-iam

我喜欢分享我的Amazon S3与成员(member)的私有(private)内容。最初,我通过创建一个 AWS Identity and Access Management (IAM) 来做到这一点。用户帐户,但人们开始传递这些凭据。

所以我发现我可以分发AWS Multi-Factor Authentication (MFA) token /fob 到通过 IAM 创建的每个用户帐户。但是,测试表明我仍然可以下载文件,S3 不会要求 token /fob 生成的 6 位数字。

我在这里缺少什么?或者,如果我走错了路,请建议一种方法来检测/防止成员共享这些凭据。谢谢

最佳答案

您需要特别Configure MFA-Protected API Access对于您要保护的资源(即您案例中的 S3 内容),请参阅有关 MFA-Protected API Access 的介绍性博客文章了解此功能的工作原理。

幸运的是,有一些 Adding a Bucket Policy to Require MFA Authentication 的示例可用 - 请阅读该部分了解详细信息,但第一个示例已经解决了您的用例(第三个示例通过添加一个条件来扩展它,限制 aws:MultiFactorAuthAge key 的有效持续时间):

{
   "Version": "2008-10-17",
   "Id": "123",
   "Statement": [
      {
         "Sid": "",
         "Effect": "Deny",
         "Principal": { "AWS": "*" },
         "Action": "s3:**",
         "Resource": "arn:aws:s3:::examplebucket/taxdocuments/*",
         "Condition": { "Null": { "aws:MultiFactorAuthAge": true }}
      }
   ]
}

关于amazon-web-services - 如何通过 IAM 共享具有 MFA 保护的 Amazon S3 内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15822177/

相关文章:

php - 使用 PHP 调用 AWS Api Gateway 的首选方式

apache-spark - 如何在 Kubernetes 容器/Pod 上挂载 S3 存储桶?

amazon-web-services - 无服务器框架 lambda 执行角色不匹配?

amazon-web-services - AWS IAM 访问管理

amazon-web-services - AWS SNS SMS 中的多环境支持

hadoop - Spark 看不到 Hive 外部表

ios - 如何降低 AWS on iOS App 的成本?

python - 在 Apache Spark 中读取 pretty-print json 文件

python - Boto3 没有将 zip 文件上传到 S3 python

amazon-web-services - 如何限制 IAM 用户承担具有特定名称的跨账户角色