SAM模板中如何配置允许AppConfig调用Lambda的权限策略
SAM模板配置允许AppConfig调用Lambda的权限方案
你可以直接在SAM模板中声明AWS::Lambda::Permission类型的资源来实现和CLI命令完全等效的权限配置,该配置会在模板部署时自动生效,无需手动执行CLI命令。
配置示例
假设你SAM模板中已定义的Lambda函数逻辑ID为ConfigValidator,对应CLI命令中指向的函数,添加以下资源配置即可:
Resources: # 你原有Lambda函数的定义,此处仅为示例 ConfigValidator: Type: AWS::Serverless::Function Properties: Runtime: python3.9 Handler: index.lambda_handler CodeUri: ./src # 其他Lambda配置保持不变 # 新增的权限配置,对应你执行的aws lambda add-permission命令 AppConfigInvokePermission: Type: AWS::Lambda::Permission Properties: FunctionName: !Ref ConfigValidator Action: lambda:InvokeFunction StatementId: appconfig Principal: appconfig.amazonaws.com # 如果需要固定区域为eu-west-1,可取消下方注释 # Region: eu-west-1
字段对应说明
所有参数和你使用的CLI参数一一对应:
FunctionName:对应CLI的--function-name参数,这里通过模板内部引用直接获取Lambda的ARN,无需硬写Action:对应CLI的--action参数,固定为lambda:InvokeFunctionStatementId:对应CLI的--statement-id参数,自定义的权限语句唯一标识Principal:对应CLI的--principal参数,固定为AppConfig的服务主体appconfig.amazonaws.comRegion:对应CLI的--region参数,若和模板部署区域一致可省略,需要固定部署区域时单独配置即可
内容的提问来源于stack exchange,提问作者Georgie
相关产品推荐
相关产品推荐

