AWS/Lambda

AWS/Lambda - Lambda Role 설정하기/권한 설정

grogu.... 2023. 3. 15. 20:43

https://seungboo.tistory.com/11

참고) 람다 생성하기

 

AWS/Lambda - Lambda 시작하기/생성하기

AWS Lambda란? 공식 문서의 설명은 다음과 같다. https://docs.aws.amazon.com/ko_kr/lambda/latest/dg/welcome.html AWS Lambda란 무엇인가요? - AWS Lambda AWS Lambda란 무엇인가요? AWS Lambda은 서버를 프로비저닝하거나 관리

seungboo.tistory.com


람다 생성 페이지의 role 설정에는 세 가지 방법이 있다.

세 가지 선택지가 있다.

 

첫 번째는 basic lambda permissions, AWS에서 설정한 기본 람다 권한을 가진 롤을 생성하여 사용하는 것이다.

이 경우에는 Lambda를 만들때마다 role이 새로 생성되기 때문에 사용하지 않았다.

두 번째는 이미 만들어진 role을 재사용 하는 것. 경험 상 같은 권한을 필요로 하는 람다들이 많았기 때문에 이 방법을 주로 사용했다.

세 번째는 AWS에서 권한들을 묶어서 다양한 템플릿을 제공하는데, 이 role을 사용하는 것. 필요에 맞는 템플릿이 있다면 이 방법도 유용해보인다.

 

Use an existing role을 선택하기 전에, 미리 필요한 role을 만들어야 한다.

권한 관리를 담당하는 IAM에 들어가서 좌측의 Access Management 메뉴의 아래의 Roles를 클릭하자.

Create role을 클릭하여 role을 생성할 수 있다.

Create role을 클릭하여 필요한 role을 생성할 수 있다. 

Create role을 누른 뒤 먼저 Lambda를 use case로 선택하고 다음으로 넘어간다

Next를 누르면 Add permissions 메뉴가 나온다.

 여기서 알 수 있는 것은, role은 policy들로 구성되어 있다는 것이다. 어떤 policy들을 선택하느냐에 따라 해당 role의 권한이 달라진다.

Create policy가 있는 것에서 볼 수 있듯,  사용자 정의 policy 역시 생성하여 활용할 수 있다. 물론 기본적으로 AWS가 만들어 놓은 정책들이 존재한다.

예시

내가 Step Function을 구성하는 Lambda에 사용한 role이다. DynamoDB와 SNS에 접근하기 위해 둘과 관련된 policy를 추가하였다. 

그리고 무엇보다 중요한 것, 어떤 role을 구성하더라도, CloudWatchFullAccess는 꼭 넣어주자.

CloudWatch는 쉽게 말해 로그를 담당하는 기능이다.

람다가 CloudWatch에 대한 권한이 있어야만 동작 시 CloudWatch에 로그를 남겨놓는다!