Детальное пользовательское разрешение IAM с AWS Cognito - PullRequest
0 голосов
/ 06 июня 2019

Context

У меня есть следующие требования:

У меня есть API-интерфейс в AWS (API Gateway), позволяющий получить доступ к объектам, организованным в файловой системе, подобной структуре, доступ к которой осуществляется через API с использованием пути в URL, т. Е.

/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, отражающие эти разрешения:

В качестве примера для пользователя1 выше:

{
  "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 Gateway и Cognito (пулы пользователей и / или пулы идентификации)? Или этот уровень адаптации разрешений невозможен?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...