연결 문자열을 중앙 집중화하고 안전하게하는 가장 좋은 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/317631

문제

응용 프로그램에서 사용하는 연결 문자열을 중앙 집중화하고 보호하는 가장 좋은 방법은 무엇입니까? 내 환경에는 많은 내부 응용 프로그램이 있습니다. 각 응용 프로그램에는 데이터베이스에 액세스하기 위해 하나 이상의 연결 문자열이 필요합니다. 우리는 이러한 모든 연결 문자열 (특히 SQL 로그인 및 비밀번호)을 중앙 집중화하려는 목표를 가지고 있으므로 35 개의 다른 .config 파일, 레지스트리 항목 등 대신 한 곳에서 암호를 변경할 수 있습니다.

현재 우리는 액세스 데이터베이스에서 연결 문자열 정보를 가져 오는 홈 성장 구성 요소를 사용하고 있습니다. 이는 중앙 집중화 요구 사항을 다루지 만 특히 안전하지는 않습니다. 또한 Classic ASP, VB6, Delphi, C ++, .NET의 언어로 작성된 응용 프로그램이 있으므로 모든 응용 프로그램에서 솔루션을 사용할 수 있어야합니다.

누구 든지이 작업을 더 잘 수행하는 방법에 대한 아이디어가 있습니까? 아니면 응용 프로그램이 데이터베이스에 액세스하는 방식에 대한 전체 접근 방식을 재 작업해야합니까?

도움이 되었습니까?

해결책

Windows Server를 사용하여 SQL Server 데이터베이스에 액세스 할 수있는 사용자를 만들 수 있습니다. 그런 다음 연결 문자열에서 통합 된 Windows 로그인을 사용할 수 있습니다.

BTW 공개 MDB에 비밀번호를 저장하면 ILLEVENT를 렌더링합니다. 존재하지 않는 것과 동일합니다.

다른 팁

내가 일하는 회사는 대신 SQL Server 데이터베이스를 통해 비슷한 상황을 사용했습니다. 결국 API를 데이터베이스에 단순화하고 고정시키고 클래식 ASP, .NET 및 DTS 패키지 사이에 동일한 로직이 사용되도록하기 위해 COM Compliant .NET DLL을 만들었습니다. 그것은 우리에게 1 년 동안 우리에게 훌륭하게 작동했으며 우리 중 많은 사람들이 그것으로하고 싶은 리팩토링 항목이 있지만 서버 마이그레이션이나 렌즈와 같은 문제를 해결하는 것이 좋습니다.

나는 당신이 올바른 길을 가고 있다고 생각합니다. 그러나 다음 변경 사항을 권장합니다.

  • 실제 데이터베이스 서버로 이동하십시오. 액세스는 MS Office에 적합하지만이 규모의 경우에는 적합하지 않습니다.
  • 누가 정보를 추가하고 편집하는 사람을 감사 할 수있는 관리 콘솔을 구축하십시오 (어떤 설정에도 액세스 할 수 있는지 보안).
  • 다른 시스템에서 안전하고 일관된 방식으로 소비 할 수 있도록 COM 호환 DLL을 구축하십시오.

편집하다:

이와 같은 시스템에서 몇 년 동안 일한 후 눈에 띄는 것은 일부 솔루션에 손을 약간 묶는 것입니다. 연결 문자열이 더 이상 구성 파일에 있지 않을 때 많은 도구 (예 : .NET World)가 실제로 제한됩니다. 많은 사람들이 당신의 API를 사용하도록 쉽게 수정할 수 있습니다. 그러나 사용하려면 조사하는 데 더 많은 시간이 걸리는 것입니다. 그것에 대한 참고로.

연결 문자열에서 Window 통합 보안으로 이동할 수 없으면 보안 측면에 대해 걱정할 필요가 없습니다 (실제 연결의 실제 위치를 확보 할 필요가없는 한).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top