lambda:UpdateFunctionCode 권한이 과도한 IAM 그룹

Lambda 코드 변경 권한을 승인된 함수로 제한하세요.

설명

lambda:UpdateFunctionCode는 Lambda 함수 코드를 바꿀 수 있습니다. 그룹 구성원이 바꾼 코드가 실행되면 함수의 실행 역할 권한으로 동작할 수 있습니다.

잠재적 영향

실행 역할에 허용된 데이터 접근이 악용되거나 정상 함수 동작이 변조될 수 있습니다.

해결 방법

불필요한 코드 변경 권한을 제거하고, 필요한 배포 권한은 승인된 함수로 제한하세요. 실행 역할의 권한도 최소화하고 코드 변경을 검토하세요.

예시

예시는 Lambda 코드 변경 권한을 제거하고 같은 그룹에 EC2 조회 권한만 남깁니다. 이미 배포된 코드를 되돌리는 변경은 아닙니다.

변경 전

hcl
resource "aws_iam_group" "example" {
  name = "cosmic"
}

resource "aws_iam_group_policy" "example" {
  name  = "test_inline_policy"
  group = aws_iam_group.example.name

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = [
          "lambda:UpdateFunctionCode",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })
}

변경 후

hcl
resource "aws_iam_group" "example" {
  name = "cosmic"
}

resource "aws_iam_group_policy" "example" {
  name = "inline_policy_run_instances"
  group = aws_iam_group.example.name

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [
      {
        Action = [
          "ec2:Describe*",
        ]
        Effect   = "Allow"
        Resource = "*"
      },
    ]
  })
}

참조