ove*_*nge 4 amazon-web-services amazon-iam aws-lambda aws-serverless
下面是 SAM 模板,
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: hello-world/
Handler: app.LambdaHandler
Runtime: nodejs8.10
Policies:
- AWSLambdaExecute
Run Code Online (Sandbox Code Playgroud)
为此,下面是为 Lambda 函数创建的角色(JSON):
{
"roleName": "somestack-HelloWorldFunctionRole-AAAAAAAA",
"policies": [
{...}, # AWSLambdaExecute
{...}, # AWSLambdaSQSQueueExecutionRole
{....} # AWSLambdaBasicExecutionRole
],
"trustedEntities": [
"lambda.amazonaws.com"
]
}
Run Code Online (Sandbox Code Playgroud)
这个 JSON 里有什么trustedEntities?
可信实体是一组可以承担此角色的实体。如果您通过 SAM 创建函数,则 SAM 创建的角色与您账户中的 Lambda 服务之间将自动创建信任关系,这意味着您的 Lambda 函数可以承担该角色。
如果您想将此角色分配给 EC2 实例,您将无法这样做,因为默认情况下您的角色不信任 EC2 服务。您需要修改信任关系并包含 EC2 服务。像这样:
"trustedEntities": [
"lambda.amazonaws.com",
"ec2.amazonaws.com"
]
Run Code Online (Sandbox Code Playgroud)
如果您想创建可以跨帐户承担的角色,这也很有用,您可以将其他帐户指定为受信任实体,以便其他帐户能够承担该角色。
如果trustedEntities列表为空,则没有人能够担任该角色。
| 归档时间: |
|
| 查看次数: |
4821 次 |
| 最近记录: |