簡體   English   中英

使用AWS SAM Local測試Lambda策略的工作流程

[英]workflow for testing lambda policies with aws SAM local

aws SAM本地文檔指出,SAM本地將使用我在本地配置的IAM憑據調用功能。

我想測試一個由Lambda函數和此函數所附的角色組成的cloudformation模板,該角色授予訪問權限以刪除ONE SPECIFIC s3存儲桶的內容。 值區名稱既是模板參數,又是lambda函數的參數。 (不確定是否重要,但我不在CFN模板中使用無服務器轉換。)

我會避免使用管理員個人資料測試此功能,因為存儲桶名稱中的錯字會刪除錯誤存儲桶中的所有內容。

建議的測試這種功能的工作流程是什么?

我目前正在做什么:

  • 創建一個臨時IAM用戶/組
  • 將要測試的策略附加到該組
  • 在調用sam local invoke之前導出訪問環境變量

有更快的方法嗎?

用DryRun調用Lambda

使用Dryrun調用該功能以請求AWS Lambda不執行該功能,而是進行一些驗證,例如是否授權調用方調用該功能以及輸入是否有效。

aws lambda invoke --function-name <name> --invocation-type DryRun

為Cloudformation創建變更集:變更集=空運行模式

使用“ create-change-set”創建變更集,並在控制台UI或CLI中查看更改,然后通過使用CLI或UI執行更改來應用更改。

創建變更集:

aws cloudformation create-change-set --stack-name example --template-body file://templates/instance_and_route53.yml --parameters file://parameters/instance_and_route53.json --change-set-name changeset-1

執行變更集

aws cloudformation execute-change-set --stack-name example --change-set-name changeset-1

暫無
暫無

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

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