【发布时间】: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