이벤트 소스와 권한 정책에서 Lambda 별칭(alias) 사용
이벤트 소스와 권한 정책에서 Lambda 별칭(alias) 사용
각 별칭은 고유한 ARN을 가져요. 별칭은 함수 버전만 가리킬 수 있으며, 다른 별칭은 가리킬 수 없어요. 별칭을 업데이트해서 함수의 새 버전을 가리키게 할 수 있습니다.
Amazon Simple Storage Service(Amazon S3) 같은 이벤트 소스는 여러분의 Lambda 함수를 호출해요. 이러한 이벤트 소스는 이벤트가 발생할 때 호출할 함수를 식별하는 매핑을 유지하죠. 매핑 구성에서 Lambda 함수 별칭을 지정하면 함수 버전이 변경될 때 매핑을 업데이트할 필요가 없어요. 자세한 내용은 Lambda가 스트림 및 큐 기반 이벤트 소스의 레코드를 처리하는 방식을 참고하세요.
리소스 정책에서는 이벤트 소스가 여러분의 Lambda 함수를 사용할 권한을 부여할 수 있어요. 정책에서 별칭 ARN을 지정하면 함수 버전이 변경될 때 정책을 업데이트할 필요가 없죠.
본문
리소스 정책
리소스 기반 정책을 사용해 서비스, 리소스 또는 계정에 함수 접근 권한을 줄 수 있어요. 이 권한의 범위는 별칭, 버전 또는 전체 함수에 적용하느냐에 따라 달라지죠. 예를 들어 별칭 이름(helloworld:PROD 같은)을 사용하면 별칭 ARN(helloworld:PROD)으로 helloworld 함수를 호출할 수 있어요.
별칭이나 특정 버전 없이 함수를 호출하려 하면 권한 오류가 발생해요. 이 권한 오류는 별칭과 연결된 함수 버전을 직접 호출하려 해도 여전히 발생합니다.
예를 들어 다음 AWS CLI 명령은 Amazon S3가 amzn-s3-demo-bucket을 대신해 동작할 때 helloworld 함수의 PROD 별칭을 호출할 권한을 Amazon S3에 부여해요.
aws lambda add-permission \
--function-name helloworld \
--qualifier PROD \
--statement-id 1 \
--principal s3.amazonaws.com \
--action lambda:InvokeFunction \
--source-arn arn:aws:s3:::amzn-s3-demo-bucket \
--source-account 123456789012
정책에서 리소스 이름을 사용하는 방법에 대한 자세한 내용은 정책의 Resources 및 Conditions 섹션 미세 조정을 참고하세요.
더 알아보기 (Learn more)
- 별칭 ARN을 이벤트 소스 매핑과 리소스 정책에 지정하면 함수 버전이 바뀌어도 매핑·정책을 유지할 수 있어요.