授予用户对 Lambda 层的访问权限
使用基于身份的策略允许用户、用户组或角色在 Lambda 层上执行操作。以下策略授予用户创建层并通过函数使用层的权限。资源模式允许用户在任何 AWS 区域 和任何层版本中工作,只要层的名称以 test-
开头即可。
例 层开发策略
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PublishLayers",
"Effect": "Allow",
"Action": [
"lambda:PublishLayerVersion"
],
"Resource": "arn:aws:lambda:*:*:layer:test-*"
},
{
"Sid": "ManageLayerVersions",
"Effect": "Allow",
"Action": [
"lambda:GetLayerVersion",
"lambda:DeleteLayerVersion"
],
"Resource": "arn:aws:lambda:*:*:layer:test-*:*"
}
]
}
您还可以附加 lambda:Layer
条件以在函数创建和配置过程中强制使用层。例如,您可以防止用户使用其他账户发布的层。以下策略在 CreateFunction
和 UpdateFunctionConfiguration
操作中添加一个条件,以要求任何指定层来自账户 123456789012
。
- JSON
-
-
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ConfigureFunctions",
"Effect": "Allow",
"Action": [
"lambda:CreateFunction",
"lambda:UpdateFunctionConfiguration"
],
"Resource": "*",
"Condition": {
"ForAllValues:StringLike": {
"lambda:Layer": [
"arn:aws:lambda:*:123456789012
:layer:*:*"
]
}
}
}
]
}
为确保条件应用,应验证没有其他语句向用户授予这些操作的权限。