다음을 통해 공유


KTM 보안 및 액세스 권한

Windows 보안 모델을 사용하면 KTM(커널 트랜잭션 관리자)의 호출자가 트랜잭션, 트랜잭션 관리자, 리소스 관리자 및 인리스트먼트 개체에 대한 액세스를 제어할 수 있습니다. 자세한 내용은 Access-Control 모델을 참조하세요. 보안과 관련이 없는 애플리케이션의 경우 모든 리소스 관리자가 트랜잭션에 참여하도록 허용하는 허용 ACL(액세스 제어 목록)을 사용하여 트랜잭션을 만들 수 있습니다.

트랜잭션

클라이언트가 OpenTransaction 함수를 사용하는 경우 시스템은 트랜잭션 개체의 보안 설명자에 대해 요청된 액세스 권한을 확인합니다.

트랜잭션 개체에 대한 유효한 액세스 권한에는 정보를 쿼리하고 설정하는 기능, 인리스트먼트 및 다양한 트랜잭션 작업뿐만 아니라 표준 액세스 권한이 포함됩니다. 트랜잭션 액세스 마스크는 트랜잭션 에 대한 특정 액세스 권한을 나열합니다.

트랜잭션은 지속성 상태를 가지므로 KTM과 상호 작용하는 RM 및 TM이 복구와 관련하여 의무를 이행하는 것이 중요합니다. 이러한 의무를 이행하지 못하면 시스템 재부팅을 통해서도 정리되지 않은 리소스 누수가 발생할 수 있습니다. 시스템 오류가 발생할 때까지 KTM이 커널 리소스를 소비하게 한 영구 누수 또는 악성 코드의 영향을 고려합니다. 다시 부팅한 후 KTM은 로그를 읽고 모든 영구 개체를 다시 만들어 동일한 시스템 오류가 발생할 수 있습니다. 할당량 기반 제한은 악의적이거나 잘못 동작하는 RM에서 지속적인 리소스 기아를 방지합니다. 마지막으로 이러한 영구 누수의 감지 및 수정을 허용하는 관리 메커니즘을 만들어야 합니다.

트랜잭션 관리자

클라이언트가 OpenTransactionManager 함수를 사용하는 경우 시스템은 리소스 관리자 개체의 보안 설명자에 대해 요청된 액세스 권한을 확인합니다.

트랜잭션 관리자 개체에 대한 유효한 액세스 권한에는 정보를 쿼리 및 설정하고, RM을 만들고, 작업을 복구하고 이름을 바꾸는 기능과 표준 액세스 권한이 포함됩니다. 트랜잭션 관리자 액세스 마스크는 트랜잭션 관리자에 대한 특정 액세스 권한을 나열합니다.

리소스 관리자는 제한적인 ACL을 사용하여 자체 트랜잭션 관리자 개체를 만들어 해당 트랜잭션 관리자의 로그를 사용하는 트랜잭션에 참여할 수 있는 리소스 관리자를 제한할 수 있습니다.

리소스 관리자

클라이언트가 OpenResourceManager 함수를 사용하는 경우 시스템은 리소스 관리자 개체의 보안 설명자에 대해 요청된 액세스 권한을 확인합니다.

리소스 관리자 개체에 대한 유효한 액세스 권한에는 정보를 쿼리 및 설정하고, 정보를 복구, 등록, 등록 작업 및 전파 및 복구하는 기능과 표준 액세스 권한이 포함됩니다. Resource Manager 액세스 마스크는 리소스 관리자에 대한 특정 액세스 권한을 나열합니다.

리소스 관리자는 악성 코드가 알림을 가로채거나 특정 트랜잭션 결과를 강제로 발생시키는 것을 방지하려는 경우 제한적인 ACL을 사용하여 자체 리소스 관리자 개체를 만들 수 있습니다.

인리스트먼트

클라이언트가 OpenEnlistment 함수를 사용하는 경우 시스템은 인리스트먼트 개체에 대한 보안 설명자에 대해 요청된 액세스 권한을 확인합니다.

인리스트먼트 개체에 대한 유효한 액세스 권한에는 정보를 쿼리 및 설정하고 작업을 복구하는 기능과 표준 액세스 권한이 포함됩니다. 인리스트먼트 액세스 마스크는 인리스트먼트에 대한 특정 액세스 권한을 나열합니다.