Access 응용 프로그램에서 사용자 수준 보안을 위해 Active Directory를 사용할 수 있나요? 꽤 부탁드려요?

Access 응용 프로그램에서 사용자 수준 보안을 위해 Active Directory를 사용할 수 있나요? 꽤 부탁드려요?

우리 회사는 Access + MySQL 애플리케이션을 상당히 광범위하게 사용하고 있는데, 소스 코드를 게시하면 Daily WTF에 상당한 트래픽이 발생할 수 있습니다. 사용자와 사용자의 권한 관리는 점점 더 어려워지고 있으며, 이를 조정하거나 누군가가 봐야 할 내용을 볼 수 없는 이유를 파악하는 데 점점 더 많은 시간을 소비하는 것 같습니다.

원래는 하나의 창고에서 세 명의 사용자가 사용하도록 설정되었습니다. 현재 4개 주에서 20명이 넘는 사용자가 사용하고 있으며 곧 더 많이 추가될 예정이며 기능도 사용자와 대략 10:1 비율로 추가되었습니다... 실제 핵심 응용 프로그램은 나쁘지 않지만 관리 사용자는 고통스럽습니다. Access는 본사의 MySQL 백엔드에 저장된 데이터 자체에 대한 멋진 프런트 엔드를 만듭니다. 사용자는 위성 지점에 Cisco VPN 박스를 보유하고 있으며 그것도 견고합니다. 범위는 단순한 창고 배송 기록에서 본격적인 CRM/ERP로 발전했습니다. 음, 이것을 솔루션이라고 부를 수는 없을 것 같습니다. 아마도 에멀젼일 겁니다. 예산이 있다면 SAP에 전화해서 예산을 확보하라고 말할 것입니다. 유감스럽게도 그것은 가까운 미래에는 가능성의 영역을 벗어납니다.

Google의 지침에 따라(항상 가장 안전한 방법은 아님) Access의 '사용자 수준 보안 마법사'를 사용하여 다양한 사용자에게 사용자 이름과 비밀번호를 할당했습니다. 총 4~5명의 사용자와 3명의 활성 사용자로 시작할 때는 괜찮았습니다. . 하지만 이제는 꽤 다루기 힘든 일이 되었습니다. 나의 가장 큰 소망은 Active Directory 사용자 이름과 암호를 기반으로 사용자를 인증하고 권한 역할을 할당할 수 있는 방법이 있다는 것입니다. 나는 그것이 불가능하다고 들었습니다. 몇 가지 Google 검색에서 주목할 만한 내용이 발견되지 않았습니다.

VBA에는 Windows의 모든 방식의 API에 대한 링크가 있으므로 Active Directory를 사용하여 일종의 인증 프레임워크를 얻는 것이 가능할 것이라고 추측합니다. 하지만... 시간과 노력을 들일 가치가 있나요? 누구든지 이것을 작동하게 한 적이 있습니까? 아니면 WTF에 적합한 응용 프로그램뿐만 아니라 도메인도 날려버릴 수 있습니까?

답변1

가능하다는 것을 알고 있지만 이를 수행하는 Access 개발자는 거의 없는 것 같습니다. 다른 사람이 코드를 작성했다면 나도 직접 사용하겠지만 직접 작성할 만큼 코드가 필요하지는 않습니다.

핵심 개념은 ADO를 사용하여 LDAP 쿼리를 통해 AD 정보에 액세스할 수 있다는 것입니다. 이를 통해 Access 개체에 대한 권한을 적용할 수 있는 방법은 없지만 AD 멤버십을 기반으로 애플리케이션 흐름/표현을 확실히 제어할 수 있습니다. 보다이 스레드출발점으로. 또한,MS 기술 자료LDAP 접근 방식을 설명하는 기사입니다.

그런데 AD 관련 기능(예: 조직 단위)이 필요하지 않은 한 AD를 전혀 사용할 필요가 없습니다. 일반 API 호출을 사용하여 그룹 멤버십 정보를 얻을 수 있습니다. 보다이 Stackoverflow 게시물갈 방향을 제안하는 일부 코드의 경우(해당 코드는 API 선언이 아닌 타원형으로 보이지만 기본 개념을 제공하므로 확인할 수 없습니다).

답변2

해당 수준에서는 AD와 직접 인터페이스할 수 없습니다. 직접적으로 할 수 있는 최선의 방법은 AD 계정을 기반으로 파일 권한을 할당하는 것입니다. VBA를 통해 이를 해결하려면 약간의 노력이 필요하지만 확실히 이해할 수 있는 범위를 벗어나지는 않습니다. 문제를 해결하기 전에 이에 대해 꽤 확실한 ROI 분석을 수행해야 한다고 말하고 싶습니다.

관련 정보