【问题标题】:Amazon S3 - Token Vending Machines/IAMAmazon S3 - 令牌自动售货机/IAM
【发布时间】:2013-11-04 16:16:58
【问题描述】:

我在 IAM 用户和一个 TVM 中配置了以下策略,因为我需要从 Android 应用程序中的 S3 访问,但是,每当我尝试保存我的凭据时,我都会收到相同的“500 - 服务器错误”。我不知道这个问题,但我猜该策略配置错误:

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:GetFederationToken",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "iam:GetUser",
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": "s3:*",
      "Resource": "*"
    }
  ]
}

【问题讨论】:

  • 有 2 个策略。您是否限制了 TVM 用于生成临时凭证的策略?该文件是 src/TokenVendingMachinePolicy.json。不限制此文件将导致 500 错误。
  • 是的,我在这两个地方都有同样的政策。有问题吗?
  • 您需要将实际的 TVM 策略限制为仅在您的移动应用程序中执行的那些必要操作。保留 STS、IAM 和 SimpleDB 权限可能会允许移动应用修改 TVM 表。
  • 谢谢!如何限制 DB 的使用以允许 TVM 功能而不是其他操作?目前我有以下政策:{“Statement”:[{“Effect”:“Allow”,“Action”:“sts:GetFederationToken”,“Resource”:“”},{“Effect”:“Allow ", "Action": "iam:GetUser", "Resource": "" }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ] , "资源": "" }, { "效果": "允许", "操作": "sdb:", "资源": "*" }] }
  • 要么干脆不要在 TokenVendingMachinePolicy.json 中添加 iam 和 sdb 语句,要么按照示例策略执行并拒绝操作:{"Statement": [ {"Effect":"Allow ","Action":["s3:*", "sdb:*", "sqs:*", "sns:*", "dynamodb:*"],"Resource":""}, { "效果":"拒绝","操作":"sdb:","资源":["arn:aws:sdb:__REGION__:__ACCOUNT_ID__:domain/__USERS_DOMAIN__","arn:aws:sdb:__REGION__ :__ACCOUNT_ID__:domain/__DEVICE_DOMAIN__"]}, {"Effect":"Deny","Action":"iam:*","Resource":"*"} ] }

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


【解决方案1】:

免责声明:此答案已从问题移至此处的社区 wiki。


解决方案:问题是我还需要为存储凭据的 sdb 添加权限。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多