AWS Lambda
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS Lambda 权限

可以使用 AWS Identity and Access Management (IAM) 来管理对 Lambda API 和资源(如函数和层)的访问。对于您账户中使用 Lambda 的用户和应用程序,您在一个权限策略中管理权限,并可将该策略应用于 IAM 用户、组或角色。要向其他使用您的 Lambda 资源的账户或 AWS 服务授予权限,请使用一个适用于该资源本身的策略。

Lambda 函数也具有一个策略,称为执行角色,用来向其授予访问 AWS 服务和资源的权限。您的函数至少需要访问 Amazon CloudWatch Logs 来实现日志流。如果您使用 AWS X-Ray 跟踪您的函数,或者您的函数使用 AWS 开发工具包访问服务,则授予其在执行角色中调用它们的权限。当您使用事件源映射来触发函数时,Lambda 还使用执行角色来获取从事件源读取的权限。

注意

如果您的函数需要通过网络来访问通过 AWS API 或 Internet 无法访问的资源(如关系数据库),则配置您的函数以连接到 VPC

使用基于资源的策略来授予其他账户和 AWS 服务使用您的 Lambda 资源的权限。Lambda 资源包括函数、版本、别名和层版本等。除了适用于用户的各种策略,每个这样的资源也都有一个在资源被访问时适用的权限策略。当 Amazon S3 等 AWS 服务调用您的 Lambda 函数时,基于资源的策略将授予它访问权限。

要管理您账户中的用户和应用程序的权限,请使用 Lambda 提供的托管策略,或者编写您自己的策略。Lambda 控制台使用多种服务来获取有关您的函数的配置和触发器的信息。您可以原封不动地使用托管策略,或将其作为更严格策略的起点。

可以按操作所影响的资源,以及在某些情况下借助额外条件来限制用户权限。例如,可以为函数的 Amazon 资源名称 (ARN) 指定一个模式,要求用户在其创建的函数的名称中包括用户名。此外,还可以增加一个条件,要求用户配置函数以使用特定层(例如)来拉入日志记录软件。有关每个操作支持的资源和条件,请参阅资源和条件

有关 IAM 的更多信息,请参阅 IAM 用户指南 中的什么是 IAM?