수많은 액세스키를 보안상 문제없이 잘 관리하기란 참 어려운 문제이다.
그래서 나는 IAM 역할을 사용할 수 있다면, 이를 최대한 활용하고 싶다.
그동안 니즈가 없어서 고민해보지 않은 문제였는데, A계정의 EC2에 올라와있는 logstash에서 B계정의 클라우드워치 메트릭을 뽑아오고 싶다.
타 계정의 리소스를 어떻게 공유할까? 분명 AWS에서 지원할만한 기능이다.
아래 두 페이지만 참고하면 간단히 해결할 수 있다.
B계정에 역할 생성하기
- 신뢰할수 있는 유형의 개체를 다른 AWS 계정으로 선택하고, A계정의 고유ID값을 입력한다.
A계정에 역할 생성 및 B계정 역할 연결
- B계정의 역할을 사용할 수 있는 정책을 연결한다.
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "sts:AssumeRole",
"Resource": "B계정에 생성한 역할의 ARN기입"
}
}
세팅은 끝났다, 번외로 logstash에서 지원하는 aws 서비스들의 플러그인을 보면 role_arn을 설정할 수 있는 값이 있을 것이다.
role_arn에 B계정에서 생성한 역할의 arn을 입력하고, 해당 EC2에 A계정에서 생성한 역할을 연결하면,
별다른 키세팅없이 역할만으로 문제없이 프로그램을 운용할 수 있다.