使用AWS Cognito的细化用户特定的IAM权限

时间:2019-06-06 10:36:30

标签: amazon-web-services amazon-cognito

上下文

我有以下要求:

我在AWS(API网关)中有一个API,该API允许访问以类似于文件系统的结构组织的对象,该对象通过使用url中的路径通过API进行访问。

/dir1/                -> https://myapi/dir1/
/dir1/object1         -> https://myapi/dir1/object1
/dir1/subdir1/        -> https://myapi/dir1/subdir1
/dir1/subidr1/object2 -> https://myapi/dir1/subdir1/object2

现在我拥有对这些对象拥有权限的用户,即:

user1 -> Read on /dir1/, Read+Write on /dir1/subdir1/object2
user2 -> Read on /dir1/object1

规则是,如果用户对目录具有某些权限,则它对所有子目录具有相同的权限!

user1 -> Read on /dir1/
therefore user1 -> Read on /dir1/*

我可以通过为用户提供反映这些权限的特定IAM角色来对这些权限进行建模:

以上面的user1为例:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "execute-api:Invoke"
      ],
      "Resource": [
        "arn:aws:execute-api:us-east-1:*:a123456789/test/GET/dir1/*",
        "arn:aws:execute-api:us-east-1:*:a123456789/test/*/dir1/subdir1/object2"
      ]
    }
  ]
}

每个用户的权限不同,具体取决于他有权访问哪些对象。

现在是问题

我可以使用API​​网关和Cognito(用户池和/或身份池)在用户级别生成这些权限吗?还是不可能进行这种级别的权限调整?

0 个答案:

没有答案