Serverless Framework 함수의 IAM 역할 분리 점검

작업이 다른 함수에 공유 역할로 불필요한 권한이 부여되는 경우

설명

필요한 권한이 다른 함수들이 IAM 실행 역할을 공유하면 한 함수에 필요한 권한이 다른 함수에도 부여될 수 있습니다. 함수별 작업에 맞춰 역할과 정책을 분리하세요.

잠재적 영향

한 함수가 침해되면 그 함수에 필요하지 않은 AWS 리소스까지 접근할 수 있습니다.

해결 방법

함수별 전용 role이나 지원되는 함수별 IAM 구성을 사용하세요. 역할을 분리한 뒤에도 각 정책의 작업과 리소스를 최소한으로 제한해야 합니다.

예시

다음 예시는 hello에 전용 역할을 연결합니다. 예시 ARN을 실제 역할로 바꾸고, Lambda가 역할을 맡을 수 있는 신뢰 정책과 필요한 실행 권한을 구성하세요.

변경 전

yaml
service: service
frameworkVersion: "4"
provider:
  name: aws
  runtime: nodejs22.x

functions:
  hello:
    handler: handler.hello

변경 후

yaml
service: service
frameworkVersion: "4"
provider:
  name: aws
  runtime: nodejs22.x

functions:
  hello:
    handler: handler.hello
    role: arn:aws:iam::123456789012:role/hello-function-role

참조