下面是 SAM 模板,
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: hello-world/
Handler: app.LambdaHandler
Runtime: nodejs8.10
Policies:
- AWSLambdaExecute
为此,下面是为 Lambda 函数创建的角色(JSON):
{
"roleName": "somestack-HelloWorldFunctionRole-AAAAAAAA",
"policies": [
{...}, # AWSLambdaExecute
{...}, # AWSLambdaSQSQueueExecutionRole
{....} # AWSLambdaBasicExecutionRole
],
"trustedEntities": [
"lambda.amazonaws.com"
]
}
What is trustedEntities
在这个 JSON 中?
可信实体是一组可以承担此角色的实体。如果您通过 SAM 创建函数,则 SAM 创建的角色与您账户中的 Lambda 服务之间将自动创建信任关系,这意味着您的 Lambda 函数可以承担该角色。
如果您想将此角色分配给 EC2 实例,您将无法这样做,因为默认情况下您的角色不信任 EC2 服务。您需要修改信任关系并包含 EC2 服务。像这样:
"trustedEntities": [
"lambda.amazonaws.com",
"ec2.amazonaws.com"
]
如果您想创建可以跨帐户承担的角色,这也很有用,您可以将其他帐户指定为受信任实体,以便其他帐户能够承担该角色。
And if trustedEntities
列表为空,没有人能够承担该角色。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)