Tem*_*Fix 5 serverless-framework
这是两个属性您可以在模板中设置的
定义并没有说清楚:
role: arn:aws:iam::XXXXXX:role/role # Overwrite the default IAM role which is used for all functions
iamRoleStatements: # IAM role statements so that services can be accessed in the AWS account
有人可以解释它们有何不同以及两者的用例吗?
我不确定是否应该使用应用程序所需的所有资源创建一个新的提供者级别角色并将参数分配role给它,或者我是否应该保留无服务器创建的默认角色,并将我自己的策略添加到iamRoleStatements
iamRoleStatements旨在包含此服务所需的最常见权限。例如,您有一个 API 网关和一堆 lambda 函数,它们都使用 DynamoDB 来存储事务数据。几乎所有的 lambda 函数都需要有查询 DynamoDB 的权限,所以iamRoleStatements应该这样配置。
provider:
name: aws
...
iamRoleStatements:
- Effect: Allow
Action:
- dynamodb:DescribeTable
- dynamodb:Query
- dynamodb:Scan
- dynamodb:GetItem
- dynamodb:PutItem
- dynamodb:UpdateItem
- dynamodb:DeleteItem
Resource:
- <DynamoDB table and indices arns>
Run Code Online (Sandbox Code Playgroud)
所有 lambda 表达式都将得到与iamRoleStatements上面相同的值。现在,假设您有一个特殊的 lambda 函数需要完全不同的权限集。您可以在控制台中创建角色,并使用该role选项覆盖包含iamRoleStatements.
| 归档时间: |
|
| 查看次数: |
4919 次 |
| 最近记录: |