내용으로 건너뛰기

Lambda 함수 실행 역할 권한과 간접 호출 권한 간의 차이점은 무엇입니까?

2분 분량
0

AWS Lambda 함수 실행 역할 권한과 간접 호출 권한 간의 차이점을 알고 싶습니다. 또한 Lambda에 대한 두 가지 유형의 AWS Identity and Access Management(IAM) 권한이 서로 어떻게 다른지 알고 싶습니다.

해결 방법

중요: IAM 정책을 만들 때는 특정 작업을 수행하는 데 필요한 권한만 부여하는 것이 좋습니다. 

Lambda 함수 실행 역할 권한

Lambda 실행 역할 권한은 Lambda 함수에 특정 AWS 서비스 및 리소스에 액세스할 수 있는 권한을 부여하는 IAM 권한입니다. 함수 실행 역할에 서비스 또는 리소스에 대한 권한을 부여하지 않으면 함수가 서비스 또는 리소스에 액세스할 수 없습니다.

실행 역할 권한 부여

Lambda 실행 역할 권한을 부여하려면 s3:GetObject 또는 sns:Publish와 같은 서비스별 API 작업을 IAM 정책 명령문의 Action 요소에 나열합니다. 그런 다음, Lambda 함수가 호출 시 맡는 IAM 실행 역할에 정책을 연결합니다.

대기열 또는 데이터 스트림을 생성하는 서비스의 경우 대기열 또는 데이터 스트림을 폴링하도록 Lambda에 대한 이벤트 소스 매핑을 구성해야 합니다. 이벤트 소스 매핑은 함수 실행 역할의 권한을 사용하여 이벤트 소스의 항목을 읽고 관리합니다.

참고: 권한, 이벤트 구조, 설정 및 폴링 동작은 이벤트 소스에 따라 달라집니다. Lambda 폴링 권한을 포함하는 IAM 정책의 예는 AWS Lambda 함수가 Amazon DynamoDB 스트림 레코드에 액세스할 수 있도록 허용하는 IAM 정책을 참조하십시오.

Lambda 함수 간접 호출 권한

Lambda 함수 간접 호출 권한은 특정 서비스 또는 리소스에 Lambda 함수를 호출할 수 있는 권한을 부여하는 IAM 권한입니다. 서비스 또는 리소스에 Lambda 함수에 대한 간접 호출 권한을 부여하지 않으면 서비스 또는 리소스가 함수를 호출할 수 없습니다.

중요: 이벤트 소스를 Lambda 함수로 푸시하는 서비스에 간접 호출 권한을 부여해야 합니다. 예를 들어, Amazon API Gateway에 Lambda 함수를 호출할 수 있는 권한을 부여하려면 함수의 리소스 기반 정책을 사용합니다.

간접 호출 권한 부여

Lambda 간접 호출 권한을 부여하려면 Lambda 함수의 IAM 리소스 기반 정책 명령문의 Action 요소에 lambda:InvokeFunction API 작업을 나열합니다. Lambda 함수의 리소스 기반 정책은 함수의 실행 역할과 별도로 구성합니다.

참고: 이 경우 lambda:InvokeFunction 작업 식별자는 API 호출 작업과 다릅니다. 다른 작업의 경우 작업 식별자는 lambda: 접두사가 있는 작업 이름입니다.

Lambda 콘솔을 사용하여 함수에 트리거를 추가하면 필요한 간접 호출 권한이 함수의 리소스 기반 정책에 자동으로 추가됩니다. 콘솔에서 사용할 수 없는 AWS 계정 또는 서비스에 권한을 부여하려면 Lambda AddPermission API 작업을 사용해야 합니다.

자세한 내용은 AWS 서비스에 대한 Lambda 함수 액세스 권한 부여를 참조하십시오.

관련 정보

AWS Lambda에서 권한 관리

실행 역할에서 AWS 관리형 정책 사용

AWS 공식업데이트됨 일 년 전
댓글 없음