【发布时间】:2017-09-16 20:15:12
【问题描述】:
我有一个带有自定义属性 organization_id 的 Cognito 用户池。 一个组织可能有多个用户。可以有多个组织。 另一个 Dynamodb 表用于维护具有 _id 和 organization_id 作为分区键的类别。 类别可以归组织所有,因此属于该特定组织的用户只能在这些类别中执行某些操作。
现在,我如何创建 IAM 策略,以便它采用组织 ID 而不是 sub/user_id,如此处所述
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/specifying-conditions.html
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowAccessToOnlyItemsMatchingUserID",
"Effect": "Allow",
"Action": [
"dynamodb:GetItem",
"dynamodb:BatchGetItem",
"dynamodb:Query",
"dynamodb:PutItem",
"dynamodb:UpdateItem",
"dynamodb:DeleteItem",
"dynamodb:BatchWriteItem"
],
"Resource": [
"arn:aws:dynamodb:us-west-2:123456789012:table/GameScores"
],
"Condition": {
"ForAllValues:StringEquals": {
"dynamodb:LeadingKeys": [
"${cognito:organisation_id(?)}"
],
"dynamodb:Attributes": [
"UserId",
"GameTitle",
"Wins",
"Losses",
"TopScore",
"TopScoreDateTime"
]
},
"StringEqualsIfExists": {
"dynamodb:Select": "SPECIFIC_ATTRIBUTES"
}
}
}
]}
所以我的主要要求是通过 cognito 获取 IAM 策略中的自定义用户池属性。这怎么可能?
【问题讨论】:
-
你是如何解决这个问题的??
-
不能...我为自己的自定义解决方案离开了 API 网关
标签: amazon-web-services amazon-dynamodb amazon-iam amazon-cognito