Ind*_*Dan 5 amazon-web-services amazon-dynamodb amazon-iam amazon-cognito
我有一个带有自定义属性Organisation_id的Cognito用户池。一个组织可以有多个用户。可以有多个组织。另一个Dynamodb表用于维护类别,该类别具有_id和Organisation_id作为分区键。类别可以归组织所有,以便属于该特定组织的用户只能在这些类别中执行某些操作。
现在,我该如何创建IAM策略,以使其采用Organisation_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"
}
}
}
]}
Run Code Online (Sandbox Code Playgroud)
因此,我的主要要求是通过cognito在IAM策略中获取自定义用户池属性。那怎么可能?
这不可能。这需要 IAM 角色能够识别任何认知用户池中的自定义属性。不过,这是一个有趣的功能,将与团队讨论。
但是,作为替代方案,您可以查看 Cognito 身份和角色基础访问控制
http://docs.aws.amazon.com/cognito/latest/developerguide/role-based-access-control.html
| 归档时间: |
|
| 查看次数: |
724 次 |
| 最近记录: |