Лямбда-политика для доступа к S3

#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? Это не включено в предоставленную вами документацию. Так ли это?