현재 Discourse용 플러그인을 개발하고 있으며, 보안과 관련된 특정 과제에 직면했습니다. 제 플러그인은 민감한 데이터를 저장하고 접근해야 하며, 특히 동일한 Discourse 환경 내의 다른 플러그인으로부터 이 데이터가 안전하게 보호되도록 하는 방법을 모색하고 있습니다.
다음 질문에 대한 통찰력이나 추천 사항을 제공해 주실 수 있을까요?
Discourse 플러그인을 격리하여, 제 플러그인이 사용하는 시크릿 파일이나 민감한 데이터가 동일한 Discourse 인스턴스에 설치된 다른 플러그인에서 읽거나 접근할 수 없도록 하는 것이 가능한가요? 가능하다면, 이러한 수준의 보안을 달성하기 위한 모범 사례나 권장 접근 방식은 무엇인가요?
특히 제 플러그인 내에서 암호화 키나 유사한 민감한 데이터를 다른 플러그인이나 Discourse 시스템의 다른 부분에 노출시키지 않고 안전하게 저장하고 접근할 수 있는 방법에 대해 관심이 많습니다.
물론 Discourse는 RoR(러비 온 레일즈) 앱이므로 사용자 인증을 적절하게 관리합니다. 예를 들어 일반 사용자는 관리자 리소스에 접근할 수 없습니다.
하지만 플러그인은 관리자 권한(코어 초기화 단계 이후)을 가지므로, 기본 전제로 플러그인이 다른 플러그인의 데이터에 접근할 수 있다고 가정해야 합니다. (아주 가능성은 낮지만 - 이모지 반응 플러그인이 사용자의 데이터를 페이스북으로 전송할까요?! 저는 그렇게 생각하지 않습니다!! )
모든 데이터가 악용되지 않도록 인스턴스에 추가되는 모든 코드를 검토하는 책임은 설치자(즉, 인간 관리자)에게 있습니다.
위험을 회피하고 싶다면, 완전히 이해하지 못하는 제3자 플러그인은 설치하지 않는 것이 좋습니다 - 코어 설치만 유지하세요.
결국, 인스턴스에 추가되는 모든 사항을 검토할 수 있는 시니어 RoR 개발자를 고용해 두시는 것이 좋겠습니다?