본문 바로가기

자격증/AWS Certified Security - Specialty

[AWS SCS] Lambda 보안

728x90
반응형

Lambda 보안 관점에서의 이해: 실행 역할 및 로그 관리

1. Lambda 실행 역할 (Lambda Execution Role)

Lambda 함수는 IAM 역할을 통해 AWS 서비스와 리소스에 대한 권한을 부여받습니다. 이를 통해 Lambda 함수가 다른 AWS 서비스와 상호작용할 수 있게 됩니다.

관리형 Lambda 실행 역할 예시:

  • AWSLambdaBasicExecutionRole: CloudWatch에 로그를 업로드할 수 있는 권한을 부여합니다.
  • AWSLambdaKinesisExecutionRole: Kinesis에서 데이터를 읽을 수 있는 권한을 부여합니다.
  • LambdaDynamoDBExecutionRole: DynamoDB 스트림에서 데이터를 읽을 수 있는 권한을 부여합니다.
  • AWSLambdaVPCAccessExecutionRole: VPC 내에서 Lambda를 실행하기 위한 권한을 부여합니다.
  • AWSLambdaXRayExecutionRole: X-Ray에 추적 데이터를 업로드할 수 있는 권한을 부여합니다.

Lambda 함수를 배포할 때, 해당 함수가 상호작용하는 리소스를 이해하고 적절한 IAM 역할을 생성해야 합니다. 각 Lambda 함수는 하나의 실행 역할을 가질 것을 권장하며, 이를 통해 필요한 리소스에 접근할 수 있도록 합니다.

2. 리소스 기반 정책 (Resource-Based Policies)

Lambda 함수에 대한 리소스 기반 정책을 사용하면 다른 계정과 서비스에서 해당 Lambda 함수에 액세스할 수 있도록 할 수 있습니다. 예를 들어, S3와 같은 서비스가 Lambda 함수를 호출할 때, 리소스 기반 정책을 사용하여 액세스 권한을 부여해야 합니다.

3. CloudWatch Logs와 Lambda

Lambda 함수는 실행 중 발생하는 로그를 CloudWatch Logs에 기록할 수 있습니다. 이를 통해 Lambda 함수의 동작을 모니터링하고 디버깅할 수 있습니다.

Lambda 실행 역할에서 필요한 CloudWatch 권한:

  • CreateLogGroup: 로그 그룹을 생성할 수 있는 권한
  • CreateLogStream: Lambda 함수 실행에 대한 로그 스트림을 생성할 수 있는 권한
  • PutLogEvents: 로그 스트림에 로그 이벤트를 기록할 수 있는 권한
  • DescribeLogStreams: 적절한 로그 스트림을 찾을 수 있는 권한

4. Lambda와 IAM 권한

Lambda 함수의 실행에 필요한 권한은 IAM 정책에 의해 정의됩니다. Lambda 함수가 정상적으로 동작하려면 해당 함수에 필요한 리소스에 대한 권한이 제대로 설정되어 있어야 합니다.

결론

Lambda를 안전하게 관리하려면 실행 역할을 정확하게 설정하고, 필요한 리소스 기반 정책을 적용하는 것이 중요합니다. 또한, CloudWatch를 통해 Lambda 함수의 로그를 관리하고 모니터링함으로써, 발생하는 이벤트를 추적할 수 있습니다. Lambda와 관련된 보안 및 로그 관리 정책을 올바르게 설정하면 안정적이고 안전한 Lambda 환경을 구축할 수 있습니다.

이 내용은 Lambda의 보안과 관련된 중요한 개념을 다룬 것이므로, Lambda와 AWS 보안 설정에 대해 더 깊이 이해할 수 있는 기회가 될 것입니다.

728x90
반응형

'자격증 > AWS Certified Security - Specialty' 카테고리의 다른 글

[AWS SCS] AWS Signer  (0) 2024.12.26
[AWS SCS] Lambda in VPC  (0) 2024.12.26
[AWS SCS] EKS Concepts  (0) 2024.12.25
[AWS SCS] ECS Secret Management  (0) 2024.12.25
[AWS SCS] ECR 보안  (0) 2024.12.25