如何通过 serverles.yml 在我的 lambda 中提供基于资源的策略?
How can I provide resource-based policy in my lambda via serverles.yml?
我正在使用 serverless.yml 将 lambda 部署到 AWS,我想知道如何为我的 lambda 配置基于资源的策略。
我为我的 lambda 部署了自定义别名,需要在基于资源的策略中授予 invoke:lambda
。所以当你打开 lambda -> configuration -> permission 时,策略应该如下所示
当我在 serverless.yml 中使用 role
配置时,它只会更改我的 lambda 执行角色的权限。如何为我的 lambda 修改 Resource-based policy
?
我之前用过API网关资源策略:
https://www.serverless.com/framework/docs/providers/aws/events/apigateway/#resource-policy
对于lambda 函数关联,您可以直接查看该线程:
https://github.com/serverless/serverless/issues/4926
示例 serverless.yaml 如下所示:
provider:
name: aws
runtime: nodejs8.10
memorySize: 128
stage: dev
apiGateway:
resourcePolicy:
- Effect: Allow
Principal: '*'
Action: execute-api:Invoke
Resource:
- execute-api:/*/*/*
Condition:
IpAddress:
aws:SourceIp:
- 'your ip here'
How to restrict access to a lambda
请注意,资源策略目前仅适用于 REST API 网关。 https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vs-rest.html
HTTP APIs 不支持资源策略。
我正在使用 serverless.yml 将 lambda 部署到 AWS,我想知道如何为我的 lambda 配置基于资源的策略。
我为我的 lambda 部署了自定义别名,需要在基于资源的策略中授予 invoke:lambda
。所以当你打开 lambda -> configuration -> permission 时,策略应该如下所示
当我在 serverless.yml 中使用 role
配置时,它只会更改我的 lambda 执行角色的权限。如何为我的 lambda 修改 Resource-based policy
?
我之前用过API网关资源策略: https://www.serverless.com/framework/docs/providers/aws/events/apigateway/#resource-policy
对于lambda 函数关联,您可以直接查看该线程: https://github.com/serverless/serverless/issues/4926
示例 serverless.yaml 如下所示:
provider:
name: aws
runtime: nodejs8.10
memorySize: 128
stage: dev
apiGateway:
resourcePolicy:
- Effect: Allow
Principal: '*'
Action: execute-api:Invoke
Resource:
- execute-api:/*/*/*
Condition:
IpAddress:
aws:SourceIp:
- 'your ip here'
How to restrict access to a lambda
请注意,资源策略目前仅适用于 REST API 网关。 https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-vs-rest.html
HTTP APIs 不支持资源策略。