Lambda 실행 역할 권한 구성 - AWS Lambda

Lambda 실행 역할 권한 구성

Amazon MSK 클러스터에 액세스하려면 함수와 이벤트 소스 매핑에 다양한 Amazon MSK API 작업을 수행할 수 있는 권한이 필요합니다. 함수의 실행 역할에 이러한 권한을 추가합니다. 사용자에게 액세스 권한이 필요한 경우 사용자 또는 역할에 대한 ID 정책에 필요한 권한을 추가합니다.

필요한 모든 권한을 포괄하기 위해 실행 역할에 AWSLambdaMSKExecutionRole 관리형 정책을 연결할 수 있습니다. 또는 수동으로 각 권한을 추가할 수 있습니다.

기본 권한

Lambda 함수 실행 역할에는 CloudWatch Logs에 로그를 생성하고 저장하기 위한 다음과 같은 필수 권한이 ​​있어야 합니다.

클러스터 액세스 권한

Lambda가 사용자를 대신하여 Amazon MSK 클러스터에 액세스하기 위해서는 Lambda 함수의 실행 역할에 다음 권한이 있어야 합니다.

kafka:DescribeCluster 또는 kafka:DescribeClusterV2 중 하나만 추가하면 됩니다. 프로비저닝된 Amazon MSK 클러스터의 경우 두 권한 모두 작동합니다. 서버리스 Amazon MSK 클러스터의 경우 kafka:DescribeClusterV2를 사용해야 합니다.

참고

Lambda는 결국 AWSLambdaMSKExecutionRole 관리형 정책에서 kafka:DescribeCluster 권한을 제거할 계획입니다. 이 정책을 사용하는 경우 kafka:DescribeCluster를 사용하는 모든 애플리케이션을 대신 kafka:DescribeClusterV2를 사용하도록 마이그레이션합니다.

VPC 권한

Amazon MSK 클러스터가 VPC의 프라이빗 서브넷에 있는 경우 Lambda 함수에 Amazon VPC 리소스에 액세스할 수 있는 추가 권한이 있어야 합니다. 여기에는 VPC, 서브넷, 보안 그룹 및 네트워크 인터페이스가 있습니다. 함수의 실행 역할에 다음 권한이 있어야 합니다.

선택적 권한

Lambda 함수에 또한 다음 권한이 필요할 수 있습니다.

  • SASL/SCRAM 인증을 사용하는 경우 SCRAM 보안 암호에 액세스 이렇게 하면 함수가 사용자 이름과 암호를 사용하여 Kafka에 연결할 수 있습니다.

  • SASL/SCRAM 또는 mTLS 인증을 사용하는 경우 Secrets Manager 보안 암호 설명 이렇게 하면 함수가 보안 연결에 필요한 자격 증명이나 인증서를 검색할 수 있습니다.

  • 필터 기준을 암호화하려는 경우 AWS KMS 고객 관리 키에 액세스 이렇게 하면 메시지 필터링 규칙을 시크릿으로 유지할 수 있습니다.

  • 인증과 함께 스키마 레지스트리를 사용하는 경우 스키마 레지스트리 시크릿에 액세스합니다.

    • AWS Glue 스키마 레지스트리의 경우: 함수에 glue:GetRegistryglue:GetSchemaVersion 권한이 필요합니다. 이를 통해 함수가 AWS Glue에 저장된 메시지 형식 규칙을 조회하고 사용할 수 있습니다.

    • BASIC_AUTH 또는 CLIENT_CERTIFICATE_TLS_AUTH를 사용하는 Confluent 스키마 레지스트리의 경우: 함수에 인증 자격 증명이 포함된 시크릿에 대한 secretsmanager:GetSecretValue 권한이 필요합니다. 이렇게 하면 함수가 Confluent 스키마 레지스트리에 액세스하는 데 필요한 사용자 이름/암호 또는 인증서를 검색할 수 있습니다.

    • Private CA Certificate의 경우: 함수에 인증서가 포함된 시크릿에 대한 secretsmanager:GetSecretValue 권한이 필요합니다. 이렇게 하면 함수가 사용자 지정 인증서를 사용하는 스키마 레지스트리의 ID를 확인할 수 있습니다.

이는 다음과 같은 필수 권한에 해당합니다.

또한 실패한 간접 호출의 레코드를 장애 시 대상으로 전송하려면 대상 유형에 따라 다음과 같은 권한이 필요합니다:

  • Amazon SQS 대상의 경우: sqs:SendMessage - Amazon SQS 대기열로 메시지 전송 허용

  • Amazon SNS 대상의 경우: sns:Publish - Amazon SNS 주제에 메시지 게시 허용

  • Amazon S3 버킷 대상의 경우: s3:PutObjects3:ListBucket - Amazon S3 버킷에서 객체 쓰기 및 나열 활성화

일반적인 인증 및 권한 부여 오류 문제를 해결할 경우 Kafka 이벤트 소스 매핑 오류 문제 해결 섹션을 참조하세요.