Lambda 실행 역할 권한 구성
Lambda 실행 역할 권한 구성
자체 관리형 Kafka 클러스터 접근 외에도, Lambda 함수는 다양한 API 작업을 수행할 권한이 필요해요. 이러한 권한을 함수의 실행 역할에 추가하세요. 사용자가 API 작업에 접근해야 한다면 AWS Identity and Access Management(IAM) 사용자 또는 역할의 자격 기반 정책에 필요한 권한을 추가하세요.
본문
Topics(주제)
필수 Lambda 함수 권한
Amazon CloudWatch Logs의 로그 그룹에 로그를 만들고 저장하려면 Lambda 함수의 실행 역할에 다음 권한이 있어야 해요:
선택적 Lambda 함수 권한
Lambda 함수는 다음을 위한 권한도 필요할 수 있어요:
- Secrets Manager 시크릿 설명.
- AWS Key Management Service(AWS KMS) 고객 관리형 키 접근.
- Amazon VPC 접근.
- 실패한 호출 레코드를 대상(destination)으로 보내기.
Secrets Manager 및 AWS KMS 권한
Kafka 브로커에 대해 구성하는 접근 제어 유형에 따라 Lambda 함수는 Secrets Manager 시크릿 접근 또는 AWS KMS 고객 관리형 키 복호화 권한이 필요할 수 있어요. 이러한 리소스에 접근하려면 함수의 실행 역할에 다음 권한이 있어야 해요:
VPC 권한
VPC 내의 사용자만 자체 관리형 Apache Kafka 클러스터에 접근할 수 있다면 Lambda 함수는 Amazon VPC 리소스에 접근할 권한이 있어야 해요. 이러한 리소스에는 VPC, 서브넷, 보안 그룹, 네트워크 인터페이스가 포함돼요. 이러한 리소스에 접근하려면 함수의 실행 역할에 다음 권한이 있어야 해요:
- ec2:CreateNetworkInterface
- ec2:DescribeNetworkInterfaces
- ec2:DescribeVpcs
- ec2:DeleteNetworkInterface
- ec2:DescribeSubnets
- ec2:DescribeSecurityGroups
실행 역할에 권한 추가
자체 관리형 Apache Kafka 클러스터가 사용하는 다른 AWS 서비스에 접근하기 위해 Lambda는 Lambda 함수의 실행 역할에 정의한 권한 정책을 사용해요.
기본적으로 Lambda는 자체 관리형 Apache Kafka 클러스터에 필수 또는 선택 작업을 수행할 수 없어요. 실행 역할의 IAM 신뢰 정책에서 이러한 작업을 만들고 정의해야 해요. 이 예제는 Lambda가 Amazon VPC 리소스에 접근할 수 있게 하는 정책을 만드는 방법을 보여줘요.
[ JSON ]
{
"Version":"2012-10-17",
"Statement":[
{
"Effect":"Allow",
"Action":[
"ec2:CreateNetworkInterface",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeVpcs",
"ec2:DeleteNetworkInterface",
"ec2:DescribeSubnets",
"ec2:DescribeSecurityGroups"
],
"Resource":"*"
}
]
}
IAM 정책으로 사용자에게 접근 권한 부여
기본적으로 사용자와 역할은 이벤트 소스 API 작업을 수행할 권한이 없어요. 조직이나 계정의 사용자에게 접근 권한을 부여하려면 자격 기반 정책을 만들거나 업데이트하세요. 자세한 내용은 IAM 사용자 안내서의 정책으로 AWS 리소스 접근 제어를 참고하세요.
인증·권한 부여 오류 해결에 대해서는 Kafka 이벤트 소스 매핑 오류 해결을 참고하세요.
더 알아보기 (Learn more)
- 자체 관리형 Kafka 클러스터용 필수·선택 Lambda 권한, 실행 역할 정책 추가, IAM 정책으로 사용자 접근을 부여하는 흐름을 익혀 보세요.