aws временные настройки роли токена - PullRequest
0 голосов
/ 12 марта 2020

У меня есть временный генератор токенов, который получает токен для браузера aws -sdk. js для пользовательских сессий, взаимодействующих с S3 и lambda. У меня есть существующая роль с доступом к S3 и лямбда-вызову, затем я прикрепляю определенные c пользовательские политики к временному токену, чтобы они могли видеть только свои собственные файлы и вызывать только те функции, которые требуют пользовательской информации (только для просмотра пользовательских указаний c files)

Я хотел добавить возможность определять, существует ли объект с заданным ключом через лямбду, а не с помощью браузера / javascript, поскольку последний показывает ошибки в консоли, когда объекты это делают не существует. (это не останавливает выполнение кода, но может сбить с толку пользователей)

, но, не сделав ничего, кроме изменения существующей политики, чтобы добавить дополнительное разрешение на лямбда-вызов для новой функции (которую я уже тестировал), он все равно говорит «AccessDeniedException». Я добавил отладку, чтобы увидеть, что политика, прикрепленная к токену, включает список ресурсов.

Что мне здесь не хватает? Все, что я сделал с приведенной ниже политикой, это добавил строку 'ObjectExists':

{
 "Version":"2012-10-17",
 "Statement": [
   {
     "Sid" : "AllowUserInvokeLambda",
     "Action": [
        "lambda:InvokeAsync",
        "lambda:InvokeFunction"
     ],
     "Effect": "Allow",
     "Resource": [
         "arn:aws:lambda:us-east-2:*:function:CreateThumbnail",
         "arn:aws:lambda:us-east-2:*:function:ObjectExists",
         "arn:aws:lambda:us-east-2:*:function:GetCachedThumbnail"
     ]
   }
 ]
}

Ошибка:

AwsHelper.js:699 {method: "AwsHelper::lambdaObjectExists", message: "lambda invocation error"} AccessDeniedException: User: arn:aws:sts::109876543210:assumed-role/test_sts_role/user-12345 is not authorized to perform: lambda:InvokeFunction on resource: arn:aws:lambda:us-east-2:123456789012:function:ObjectExists

Обновление: я думал, что заставил остальных работать, но пока у меня все еще есть встроенная функция, я никогда ее не реализовывал. (это было несколько месяцев go, так что теперь я задаюсь вопросом, не возникла ли у меня тогда такая же проблема с лямбда-вызовом) Так что, возможно, другие тоже никогда не работали.

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