#java #amazon-web-services #amazon-s3 #aws-lambda #aws-policies
#java #amazon-веб-сервисы #amazon-s3 #aws-лямбда #aws-политики
Вопрос:
Кто-нибудь может посоветовать по этому поводу? Я пытаюсь получить доступ к корзине S3 из лямбда-функции. Я создал следующую политику:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
},
"Action": "sts:AssumeRole"
},
{
"Effect": "Allow",
"Action": [
"s3:GetObject"
],
"Resource": [
"arn:aws:s3:::{{ bucketName }}/*"
]
}
]
}
Но, похоже, это не работает. У меня есть
Политика принятия роли: Неверно сформированный документ policydocument: Запретил выставлять Ресурс.
Мы не можем объединить множественный доступ — это одна и та же политика?
Ответ №1:
вы смешиваете trust policy
и permission policy
в сингле. Не могу объединить их обоих.
между этими политиками есть разница..
The assume role policy is the role's trust policy
политика доверия: разрешение использования роли, а не политика разрешений роли. Trust policies do not contain a resource element
политика разрешений r ole (политика контроля доступа): какие разрешения роль предоставляет предполагаемому объекту.
Комментарии:
1. Спасибо. Значит ли это, что я должен разделить и прикрепить политику к корзине, чтобы разрешить доступ? Итак, каков наилучший подход, позволяющий lambda получать доступ к корзине S3?
2. @amir вы должны посмотреть на docs.aws.amazon.com/lambda/latest/dg /…
3. привет, Лостджон. Спасибо за страницу. Я прочитал это. И я получил от нее политику доверия AssumeRole. Однако я хочу сказать, как добавить доступ к корзине S3? Это не включено в предоставленную вами документацию. Так ли это?