보안 및 권한 - AWS Lambda

보안 및 권한

Lambda 관리형 인스턴스는 신뢰 경계로 용량 공급자를 사용합니다. 함수는 이러한 인스턴스 내의 컨테이너에서 실행되지만 컨테이너는 워크로드 간 보안 격리를 제공하지 않습니다. 동일한 용량 공급자에 할당된 모든 함수는 상호 신뢰해야 합니다.

주요 보안 개념

  • 용량 공급자: Lambda 함수의 신뢰 수준을 정의하는 보안 경계

  • 컨테이너 격리: 컨테이너는 보안 경계가 아니며, 신뢰할 수 없는 워크로드 간의 보안을 컨테이너에 의존해서는 안 됨

  • 신뢰 분리: 서로 다른 용량 공급자를 사용하여 상호 신뢰할 수 없는 워크로드 분리

필수 권한

PassCapacityProvider 작업

사용자에게 용량 공급자에 함수를 할당할 수 있는 lambda:PassCapacityProvider 권한이 필요합니다. 이 권한은 보안 게이트 역할을 하고, 권한이 부여된 사용자만 특정 용량 공급자에 함수를 배치할 수 있습니다.

계정 관리자는 어떤 함수가 lambda:PassCapacityProvider IAM 작업을 통해 특정 용량 공급자를 사용할 수 있는지를 제어합니다. 이 작업이 필요한 경우는 다음과 같습니다.

  • Lambda 관리형 인스턴스를 사용하는 함수 생성

  • 용량 공급자를 사용하도록 함수 구성 업데이트

  • 코드형 인프라를 통해 함수 배포

IAM 정책 예제

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:PassCapacityProvider", "Resource": "arn:aws:lambda:*:*:capacity-provider:trusted-workloads-*" } ] }

서비스 연결 역할

AWS Lambda는 AWSServiceRoleForLambda 서비스 연결 역할을 사용하여 용량 공급자의 Lambda 관리형 인스턴스 EC2 리소스를 관리합니다.

모범 사례

  1. 신뢰 수준에 따른 구분: 보안 요구 사항이 서로 다른 워크로드에 대해 서로 다른 용량 공급자 생성

  2. 설명이 포함된 이름 사용: 용량 공급자의 이름을 지정하여 용도와 신뢰 수준을 명확하게 표시(예: production-trusted, dev-sandbox)

  3. 최소 권한 적용: 필요한 용량 공급자에 대해서만 PassCapacityProvider 권한 부여

  4. 사용량 모니터링: AWS CloudTrail을 사용하여 용량 공급자 할당 및 액세스 패턴 모니터링

다음 단계