다음을 통해 공유


다중 계층 애플리케이션에서 데이터 보안을 위한 기본 시나리오

이 주제에서는 '보안 적용 위치 결정'에서 설명된 조건들을 보여주는 몇 가지 예시 시나리오를 제시합니다.

신뢰할 수 있는 서버 시나리오

  • 데이터베이스는 COM+ 애플리케이션을 완전히 신뢰하여 최종 사용자가 데이터베이스의 데이터에 액세스할 수 있도록 인증하고 권한을 부여합니다.
  • 바람직하게는 애플리케이션을 통해서만 데이터베이스가 액세스에 대해 보호됩니다.
  • COM+ 애플리케이션은 역할 기반 보안을 사용하여 사용자에게 권한을 부여합니다.
  • 연결은 COM+ 애플리케이션의 계정 ID로 열리며, 완전한 풀링이 가능합니다.
  • COM+ 애플리케이션에서 감사 및 로깅을 수행하거나 이 정보를 애플리케이션에서 데이터베이스에 전달할 수 있습니다.

이 시나리오는 역할에 캡슐화할 수 있는 예측 가능한 사용자 범주에서 액세스할 수 있는 데이터에 가장 적합합니다. 예를 들어 "관리자", "텔러" 및 "회계사"만 계정에 액세스할 수 있는 권한이 있습니다. 각 작업을 정확하게 수행할 수 있는 비즈니스 논리는 중간 계층에 적용됩니다.

사칭 시나리오

  • 데이터베이스는 데이터베이스의 데이터에 대한 액세스를 제한하기 위해 최종 사용자의 자체 인증 및 권한 부여를 수행합니다.
  • COM+ 애플리케이션은 데이터베이스에 액세스할 때마다 클라이언트를 가장합니다.
  • 연결은 호출별로 이루어지며 다시 사용할 수 없습니다.

이 시나리오는 매우 작은 사용자 클래스에 밀접하게 바인딩된 데이터에 가장 적합합니다. 예를 들어 각 직원은 자신의 직원 파일에만 액세스할 수 있으며 각 관리자는 보고서의 직원 파일에만 액세스할 수 있습니다.

하이브리드 시나리오

필요할 때만 사칭이 사용되는 이전 두 시나리오의 조합입니다.

이 시나리오는 하이브리드 사용자-데이터 관계가 있는 상황에서 가장 잘 작동합니다. 예를 들어 "관리자", "텔러", "회계사" 및 고유한 계정에만 액세스할 수 있는 수천 명의 개별 웹 클라이언트가 있습니다. 애플리케이션을 통해 논리 경로를 분리할 수 있으며, 잠재적으로 별도의 구성 요소를 사용하여 후자의 사용자 클래스를 처리할 수 있습니다. 특히 해당 사용자에 대한 성능 가정이 다른 경우.

Microsoft SQL Server 역할을 사용하는 신뢰할 수 있는 시나리오

  • Microsoft SQL Server 7.0 이상에서는 역할을 사용하여 특정 행에 대한 액세스 권한을 부여할 수 있지만 COM+ 애플리케이션을 신뢰하여 사용자를 인증하고 권한을 부여하고 데이터베이스의 올바른 역할에 매핑합니다.
  • COM+ 애플리케이션은 역할 기반 보안을 사용하여 사용자에게 권한을 부여하고 애플리케이션 역할은 데이터베이스 역할에 잘 해당합니다.
  • 특정 데이터베이스 역할과 관련된 연결을 열 수 있습니다. 이러한 연결은 COM+ 애플리케이션의 풀된 개체에 의해 유지되는 경우 다시 사용할 수 있습니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 COM+ 개체 풀링참조하세요.
  • COM+ 애플리케이션에서 감사 및 로깅을 수행하거나 이 정보를 애플리케이션에서 데이터베이스에 전달할 수 있습니다.

이 시나리오는 COM+ 애플리케이션이 여전히 권한 부여를 올바르게 처리하기 위해 대체로 신뢰할 수 있기 때문에 일반적으로 신뢰할 수 있는 첫 번째 서버 시나리오와 동일한 종류의 사용자 및 데이터에 가장 적합합니다. 그러나 이는 COM+ 애플리케이션 외부의 여러 소스로부터의 액세스를 가능하게 하면서도, 가장 시나리오에서 발생할 수 있는 크기 조정 및 성능 저하의 문제 없이 무단 액세스로부터 데이터베이스를 보호하는 데 도움이 됩니다.

보안 적용할 위치 결정

다중 계층 애플리케이션 보안