검증 환경 URL이 포함된 메일을 운영 환경 사용자에게 보내는 이야기
이것은 아주 오래전, 먼 은하계에서의 이야기다.
TL;DR
IAM 권한 잘 만들어.검증 환경과 생산 환경에서 계좌를 분리하는 것이 더욱 안심된다.
뭐 공부 해요?
이전 상태
나는 일치하는 서비스를 개발하고 있다.이 서비스는 서비스에서 메시지를 받을 때 전자 우편으로 정보를 통지하는 기능을 가지고 있다.
시스템은 메시지를 모바일 서비스의 웹 응용 프로그램에서 SQL의 메일 대기열(나중에 Maill Queue)로 보내고, 메일 발송을 위한 Worker가 메일 Queue에서 메시지를 가져오고, 발송자와 URL 등의 정보를 채워 이메일을 보냅니다.보낸 사람과 URL은 운영 및 검증 환경에서 각각 다른 값을 가집니다.
또한 검증 환경과 생산 환경이 같은 AWS 계정에 있고 웹 응용 프로그램과 Worker가 실행하는 EC2 실례는 검증 환경과 생산 환경에서 모두 도쿄 지역(ap-northeast-1)이다.다른 자원의 생산 환경은 도쿄 지역에서 만들어졌고 검증 환경은 오레곤(us-west-2)에서 만들어졌다.Maill Queue의 리소스 이름은 검증 환경과 운영 환경에서 동일합니다.
한 일
어느 날 EC2에서 실행되는 작업자가 Fargate로 마이그레이션됩니다.웹 응용 프로그램은 어느 구역을 참조하는 AWS 자원을 설정하는 곳이 있지만, 이전할 때 그 설정이 누락되었습니다.
설정이 누락되어 환경을 검증하는 직원이 도쿄 지역의 Maill Queue에서 정보를 얻었습니다.
뭐 공부 해요?
검증 환경의 직원은 생산 환경의 메일 대기열에서 메시지를 얻은 후 검증 환경 URL을 삽입한 상황에서 생산 환경의 사용자에게 메일을 보냈다.
정확한 URL이 아니기 때문에 인증 환경은 원래 연결할 수 있는 IP 주소를 축소했기 때문에 사용자는 메일로 보내는 URL을 열 수 없습니다.
더 이상 참극이 일어나지 않기 위해서 왜요?
먼저 EC2 인스턴스에 대한 IAM 역할 권한을 재평가했습니다.
환경 및 운영 환경을 검증하는 EC2 인스턴스의 IAM 역할에는 SQLSFullAccess가 있으며 모든 영역에서 SQLS에 액세스할 수 있으므로 액세스가 제한됩니다.
그리고 인증 환경과 생산 환경에서 AWS 계정을 분할하여 권한 주위에 오류가 발생하더라도 같은 일이 일어나기 쉽지 않습니다.
마지막
도와주신 여러분께 감사드립니다...
내일의 생산 환경에서 했던 사람 Advent Calendar 2020. 은 @tsumita7 씨의 "S3"입니다.태그 요소의 표시 속성을 수정합니다.
Reference
이 문제에 관하여(검증 환경 URL이 포함된 메일을 운영 환경 사용자에게 보내는 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takoikatakotako/items/975afecc8840c2ef5cc3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)