概述

本文将为您提供一个 AWS Lambda 和 IAM 的最佳实践权限策略。该策略涵盖了 Lambda 函数的管理和调用,以及相关 IAM 资源的创建和修改。

权限策略内容

以下是详细的 JSON 格式的权限策略:

注:使用apigateway提供服务不需要"lambda:CreateFunctionUrlConfig"权限

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lambda:CreateFunction",
                "lambda:InvokeFunction",
                "lambda:UpdateFunctionConfiguration",
                "lambda:UpdateFunctionCode",
                "lambda:AddPermission",
                "lambda:PublishLayerVersion"
            ],
            "Resource": [
                "arn:aws:lambda:us-east-1:820600610568:function:dev-*",
                "arn:aws:lambda:us-east-1:820600610568:function:test-*",
                "arn:aws:lambda:us-east-1:820600610568:function:pda-*",
                "arn:aws:lambda:us-east-1:820600610568:function:pre-*",
                "arn:aws:lambda:us-east-1:820600610568:layer:*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:CreateServiceLinkedRole",
                "iam:CreateRole",
                "iam:PassRole",
                "iam:CreatePolicy",
                "iam:AttachRolePolicy"
            ],
            "Resource": [
                "arn:aws:iam::820600610568:policy/service-role/AWSLambdaBasicExecutionRole-*",
                "arn:aws:iam::820600610568:role/service-role/dev-*",
                "arn:aws:iam::820600610568:role/service-role/test-*",
                "arn:aws:iam::820600610568:role/service-role/pda-*",
                "arn:aws:iam::820600610568:role/service-role/pre-*",
                "arn:aws:iam::820600610568:role/AWSLambdaBasicExecutionRole-*"
            ]
        }
    ]
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.

权限说明

这个策略包含了两个部分:

  1. Lambda 相关权限:
  • 创建、配置和调用 Lambda 函数的权限,包括 dev-*, test-*, pda-*, pre-* 等 Lambda 函数。
  • 发布层版本的权限,适用于所有层 (arn:aws:lambda:us-east-1:820600610568:layer:*).
  1. IAM 相关权限:
  • 创建服务链接角色、角色、策略的权限。
  • 附加策略到角色的权限。
  • 适用于 AWSLambdaBasicExecutionRole-* 等基本执行角色,以及 dev-*, test-*, pda-*, pre-* 等自定义角色。

最佳实践

这个策略可以被附加到需要使用这些 Lambda 和 IAM 资源的 AWS 主体(如 IAM 用户或角色)上,以确保他们拥有适当的权限来管理和使用这些资源。

通过这种方式,您可以确保您的 Lambda 函数和 IAM 资源得到适当的权限管理,同时也保持良好的安全性和可维护性。