Доступ AWS Cognito / IAM Users к их папке / Buckets в AWS S3? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть приложение, в котором я предоставляю доступ к AWS Консоли пользователям Cognito на определенный срок c Период времени, я хочу, чтобы эти пользователи могли иметь доступ только к своим корзинам, но это кажется невозможным, поэтому я я пытаюсь дать им доступ к указанной пользователем папке c в этом сегменте. Но эти папки должны быть динамичны c. Я использую эту политику ниже

 {
"Version":"2012-10-17",
"Statement": [
{
  "Sid": "AllowGroupToSeeBucketListInTheConsole",
  "Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"],
  "Effect": "Allow",
  "Resource": ["arn:aws:s3:::*"]
},
{
  "Sid": "AllowRootAndHomeListingOfCompanyBucket",
  "Action": ["s3:ListBucket"],
  "Effect": "Allow",
  "Resource": ["arn:aws:s3:::my-company"],
  "Condition":{"StringEquals":{"s3:prefix":["","home/"],"s3:delimiter":["/"]}}
},
{
  "Sid": "AllowListingOfUserFolder",
  "Action": ["s3:ListBucket"],
  "Effect": "Allow",
  "Resource": ["arn:aws:s3:::my-company"],
  "Condition":{"StringLike":{"s3:prefix":
              [
                   "home/${cognito-identity.amazonaws.com:sub}/*",
                   "home/${cognito-identity.amazonaws.com:sub}"
              ]
           }
    }
},
{
   "Sid": "AllowAllS3ActionsInUserFolder",
   "Action":["s3:*"],
   "Effect":"Allow",
   "Resource": ["arn:aws:s3:::my-company/home/${cognito-identity.amazonaws.com:sub}/*"]
}
 ]
}

Проблема с этой политикой заключается в том, что я должен вручную создавать папки с Cognito User Sub, я хочу, чтобы это было Dynami c, так как число пользователей может быть до 1000 в время. Есть ли Boto Script, который автоматически создает папки на основе их Sub?

ОБНОВЛЕНИЕ: я помечаю S3 Buckets на основе Cognito Sub, используя Boto Script, если это может помочь?

Любое предложение действительно приветствуется ..

...