簡體   English   中英

AWS Powershell 核心 Lambda 訪問 S3 存儲桶

[英]AWS Powershell Core Lambda accessing S3 Bucket

我正在構建一個需要從 S3 存儲桶加載 a.pfx 文件的 lambda。 按照基礎教程,我能夠創建和部署我的 lambda。 但是,當調用任何 S3 powershell 命令時,lambda 要么掛起,直到超時或提供錯誤

[錯誤] - 沒有從持久化/shell 默認值中指定或獲取憑據。

我創建了一個包含 AWSLambdaExecute 的執行角色並驗證了 Allow: s3:GetObject 已應用。

它的行為就像是在嘗試利用 AWS CLI 配置角色,我希望 IAM 角色能夠處理身份驗證。

我不希望使用 HTTP 調用從 S3 下載,因為這些不必是公共存儲桶。

任何人都可以添加任何關於我如何在 lambda 中使用 AWS Powershell Cmdlet 來執行 AWS 任務的見解嗎?

我的組織不允許創建 IAM 用戶,因此無法為此目的生成訪問密鑰。

您需要為您的 AWS Lambda function 提供 IAM 角色 此 IAM 角色應have a policy that enables it to get objects (files) from your S3 bucket 如果您通過控制台使用點擊配置了 lambda 功能,則可以使用以下模板配置所需的 IAM 角色:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ExampleStmt",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": [
        "arn:aws:s3:::AWSDOC-EXAMPLE-BUCKET/*"
      ]
    }
  ]
}

如果您使用SAM模板配置了 Lambda function,您可以使用以下 Yaml 來提供您的 Z945F3C532角色:

PfxDependentFunction:
  Type: "AWS::Serverless::Function"
  Name: "pfx-dependent-function"
  Properties:
    CodeUri: pfx-dependent-function/
    Handler: app.execute
    Timeout: 30 # Seconds
    Runtime: Python 3.8 # Could be replaced
    MemorySize: 512
    Policies:
      - S3ReadPolicy:
          BucketName: "s3-containing-your-csv"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM