Lambda 권한

Lambda 권한 (Lambda permissions)

Lambda 함수의 액세스를 제어하기 위해 AWS Identity and Access Management(IAM)를 사용해요. 이 페이지에서는 Lambda 권한 모델의 개요를 설명해요.

출처: AWS Lambda 개발자 안내서

본문

Lambda 권한은 두 가지 주요 영역으로 구성돼요.

  • 실행 역할(Execution role) – Lambda 함수에 AWS 리소스에 접근할 권한을 부여하는 IAM 역할이에요. Lambda는 함수를 대신해 API 호출을 할 때 이 역할을 수임해요.
  • 리소스 기반 정책(Resource-based policies) – 다른 AWS 서비스나 사용자가 Lambda 함수를 호출할 수 있게 허용하는 정책이에요.

실행 역할 (Execution role)

Lambda 함수를 만들 때 실행 역할을 지정해요. 이 역할은 함수가 다른 AWS 서비스에 접근하고 로그를 작성하는 데 필요한 권한을 제공해요. 실행 역할에는 함수가 사용하는 리소스와 서비스에 대한 권한이 있어야 해요.

예를 들어 함수가 S3 버킷에서 읽는다면 실행 역할에 s3:GetObject 권한이 있어야 해요. 함수가 CloudWatch Logs에 로그를 쓰려면 관련 권한이 필요해요.

리소스 기반 정책 (Resource-based policies)

리소스 기반 정책은 다른 계정이나 서비스가 Lambda 함수에 접근할 수 있는지 제어해요. 예를 들어 Amazon S3나 API Gateway 같은 서비스가 함수를 호출할 수 있도록 리소스 기반 정책에 권한을 추가해요.

리소스 기반 정책은 기능별로 함수에 부여할 수 있어요. 자세한 내용은 Lambda API 권한 참조를 참고하세요.

권한 모델 (Permissions model)

Lambda는 권한 모델에서 실행 역할과 리소스 기반 정책을 함께 사용해요. Lambda가 함수를 실행할 때는 실행 역할의 자격 증명을 사용해요. 함수를 호출하려는 서비스나 사용자는 리소스 기반 정책 또는 IAM 정책으로 허용되어야 해요.

모범 사례 (Best practices)

  • 각 함수에 대해 최소 권한 원칙을 사용해요.
  • 실행 역할과 리소스 기반 정책을 정기적으로 검토해요.
  • 자격 증명을 관리하기 위해 AWS 자격 증명과 액세스 관리 도구를 사용해요.

더 알아보기 (Learn more)