brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Feb 18. 2020

201. PassRole? 사용자에 AWS서비스 역할

 pass role

사용자에게 AWS 서비스 역할을 전달하는 것



<1> 언제 발생 되나?

<2> 언제 사용되나?

<3> lambda가 일반 레가시를 연동하려 할때



<1> 언제 발생 되나?


일반 계정 사용자가  AWS서비스를 이용하려고 할때 Passrole 권한이 없다고 오류가 뜬다.


DBA에게 RDS Full 권한을 주어도 추가로 주어야 할 권한 3가지

1) Passrole 정책 만들어 추가 필요

2) RDS 확장 모니터링 정책  할당 - 기존에 있음

3) DB Subnet 그룹 만들어 제공 필요 (admin 이 제공)



<2> 언제 사용되나?


1

RDS가 확장 모니터링 할때

RDS가 확정 모니터링 기능으로 에이전트 사용으로  데이터베이스를 모니터링하려 한다.

이때, 서비스 역할을 생성하여 로그에 대한 측정치를 모니터링하고, 작성하는 권한을 RDS에 제공해야 한다.

 


RDS (에이전트) 


"Sid": "PolicyStatementToAllowUserToPassOneSpecificRole",
"Effect": "Allow",
"Action": [ "iam:PassRole" ],
"Resource": "arn:aws:iam:::role/RDS-Monitoring-Role"
}

  

참고

https://docs.aws.amazon.com/ko_kr/IAM/latest/UserGuide/id_roles_use_passrole.html



2

DBA에게 RDS Full 권한을 주어도 추가로 주어야 할 권한 3가지

1) RDS 확장 모니터링 정책  할당 - 기존에 있음

2) Passrole 정책 만들어 추가 필요

3) DB Subnet 그룹 만들어 제공 필요 (admin 이 제공)





<3> lambda가 일반 레가시를 연동하려 할때


1

API계정으로 사용하고자 한다.

//일반 계정 사용자에게 서비스를 제공하고자 할 때 필요한 role이  pass role이다.

일반 계정 사용자가 일반 레가시 연동하다 보면 pass role이 없어 안된다고 오류가 뜰 때 제공하며 된다.


lambda -------- 일반 레가시 


2

현재 role

seo-lambda-cloudwatchlog-role (seo-lambda-cloudwatchlog-policy : cloudwatch-log로  정책이 만들어져 있다.)

= lambda가 cloudwatch-log를 사용하도록 롤이 만들어져 있다.


3

작업 

API계정에는  role 제공 필요.

role  

- seo-xxxxxx-policy ( 람다가 xxx 서비스에 대해 접근하고자 한다)

- iam > passrole >  write권한이 있어야 한다.


4

role 필요 서비스 https://brunch.co.kr/@topasvga/1257


5

assume role, passrole, Service-Linked Roles  https://brunch.co.kr/@topasvga/1201

  

감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari