上下文
我有以下要求:
我在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(用户池和/或身份池)在用户级别生成这些权限吗?还是不可能进行这种级别的权限调整?