다음을 통해 공유


보안을 위한 디자인

보안에 대한 엔드투엔드 전략은 개발 중인 분산 애플리케이션의 유형에 따라 달라집니다. 다음은 중간 계층 애플리케이션 논리와 관련하여 보안을 해결하기 위한 몇 가지 제안 사항입니다.

  • 효율성과 성능을 위해 가능한 한 사용자와 가깝게 인증합니다. 애플리케이션에 브라우저-비즈니스-논리-데이터베이스 아키텍처가 포함된 경우 브라우저 클라이언트를 도메인 ID에 매핑하고, 각 애플리케이션과 관련된 ID로 COM+ 애플리케이션을 실행하고, 특정 애플리케이션 ID에서만 액세스할 수 있도록 데이터 계층의 테이블을 구성하는 것이 좋습니다. 이 신뢰할 수 있는 서버 시나리오는 인증에 DBMS를 사용하는 것보다 확장성이 높고 문제가 적습니다.
  • 역할 기반 보안을 사용하여 분산 애플리케이션에서 사용할 구성 요소를 디자인하는 경우 COM+ 보안 기능을 사용할 수 있습니다. 이 기능을 사용하면 IObjectContext::IsCallerInRoleIObjectContext::IsSecurityEnabled 와 같은 메서드를 호출하여 코드 블록을 무단 액세스로부터 보호할 수 있습니다. 보안 호출 컨텍스트를 사용하여 개체의 호출자에 대한 정보를 가져올 수도 있습니다.
  • 역할 기반 보안을 사용하지 않고 분산 애플리케이션에서 사용할 구성 요소를 디자인하는 경우 보안은 프로세스 수준에서만 자동으로 검사됩니다. 프로세스 액세스 권한은 애플리케이션에 대한 액세스 권한이 부여된 사용자를 결정합니다. 프로세스 또는 인터페이스 수준에서 보안 설정을 보다 세밀하게 제어해야 하는 경우 COM에서 제공하는 프로그래밍 방식의 보안 기능을 사용합니다.
  • COM+ 애플리케이션에 통합되지 않고 COM+ 프로그래밍 보안을 사용하는 구성 요소가 실행되는 경우 예외가 throw됩니다. 따라서 이러한 구성 요소를 COM+ 환경에 속하지 않는 애플리케이션에 성공적으로 통합하려면 모든 예외를 적절하게 처리해야 합니다.

가용성을 위한 디자인

배포를 위한 디자인

확장성을 위한 디자인

프로그래밍 방식 구성 요소 보안