授予用户对 Lambda 层的访问权限
使用基于身份的策略允许用户、用户组或角色在 Lambda 层上执行操作。以下策略授予用户创建层并通过函数使用层的权限。资源模式允许用户在任何 AWS 区域 和任何层版本中工作,只要层的名称以 test-
开头即可。
例 层开发策略
{ "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
。
{ "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:*:*" ] } }
为确保条件应用,应验证没有其他语句向用户授予这些操作的权限。