보안 및 권한

보안 및 권한 (Security and permissions)

Lambda Managed Instances는 용량 제공자(capacity provider)를 신뢰 경계(trust boundary)로 사용합니다. 함수는 이 인스턴스 안의 컨테이너에서 실행되지만, 컨테이너는 워크로드 간에 보안 격리를 제공하지 않습니다. 같은 용량 제공자에 할당된 모든 함수는 서로 신뢰할 수 있어야 합니다.

출처: AWS Lambda 개발자 안내서

본문

주요 보안 개념

  • 용량 제공자(Capacity Provider) — Lambda 함수의 신뢰 수준을 정의하는 보안 경계입니다.
  • 컨테이너 격리(Container Isolation) — 컨테이너는 보안 경계가 아닙니다. 신뢰할 수 없는 워크로드 간의 보안을 위해 컨테이너에 의존하지 마세요.
  • 신뢰 분리(Trust Separation) — 서로 신뢰할 수 없는 워크로드를 서로 다른 용량 제공자를 사용해 분리하세요.

필수 권한

PassCapacityProvider 작업

사용자가 용량 제공자에 함수를 할당하려면 lambda:PassCapacityProvider 권한이 필요합니다. 이 권한은 보안 게이트 역할을 하여, 승인된 사용자만 특정 용량 제공자에 함수를 배치할 수 있게 합니다.

계정 관리자는 lambda:PassCapacityProvider IAM 작업을 통해 특정 용량 제공자를 사용할 수 있는 함수를 제어합니다. 이 작업은 다음 경우에 필요합니다:

  • Lambda Managed Instances를 사용하는 함수 생성
  • 용량 제공자를 사용하도록 함수 구성을 업데이트
  • 인프라를 코드로 사용해 함수 배포

IAM 정책 예시

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

서비스 연결 역할

AWS Lambda는 AWSServiceRoleForLambda 서비스 연결 역할을 사용해 용량 제공자의 Lambda Managed Instances ec2 리소스를 관리합니다.

모범 사례

  • 신뢰 수준별 분리 — 보안 요구 사항이 다른 워크로드에 대해 서로 다른 용량 제공자를 만드세요.
  • 설명적인 이름 사용 — 의도된 용도와 신뢰 수준을 명확히 나타내도록 용량 제공자 이름을 정하세요(예: production-trusted, dev-sandbox).
  • 최소 권한 적용 — 필요한 용량 제공자에 대해서만 PassCapacityProvider 권한을 부여하세요.
  • 사용 모니터링 — AWS CloudTrail을 사용해 용량 제공자 할당 및 액세스 패턴을 모니터링하세요.

다음 단계

  • Lambda Managed Instances의 용량 제공자에 대해 알아보기
  • Lambda Managed Instances의 확장 이해
  • 용량 제공자에 대한 VPC 연결 구성
  • Java, Node.js, Python 관련 런타임 안내서 검토

더 알아보기 (Learn more)

  • Lambda Managed Instances 개요
  • 용량 제공자 구성
  • IAM 권한 및 정책