[英]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.