보안 모델

이 섹션에서는 변경 데이터 캡처 보안 모델에 대해 설명합니다.

구성 및 관리

데이터베이스에서 변경 데이터 캡처를 사용하도록 설정하거나 사용하지 않도록 설정하려면 sys.sp_cdc_enable_db(Transact-SQL) 또는 sys.sp_cdc_disable_db(Transact-SQL)의 호출자가 고정 서버 sysadmin 역할의 멤버여야 합니다. 테이블에서 변경 데이터 캡처를 사용하도록 설정하거나 사용하지 않도록 설정하는 경우에는 sys.sp_cdc_enable_table(Transact-SQL)sys.sp_cdc_disable_table(Transact-SQL)의 호출자가 sysadmin 역할의 멤버 또는 데이터베이스 db_owner 역할의 멤버여야 합니다.

보안 모델을 지원하기 위해 변경 데이터 캡처 데이터베이스 사용자가 소유하는 특수 변경 데이터 캡처 사용자 및 변경 데이터 캡처 스키마를 변경 데이터 캡처를 사용하도록 설정할 때 데이터베이스에서 만듭니다. 리소스 데이터베이스에 없는 모든 변경 데이터 캡처 개체를 이 스키마에서 만들고 변경 데이터 캡처 사용자가 소유합니다. 여기에는 테이블에 변경 데이터 캡처를 사용하도록 설정하는 경우 만들어지는 모든 제어 역할이 포함됩니다.

서버 sysadmin 역할의 멤버와 db_owner 역할의 멤버만 저장 프로시저를 사용하여 변경 데이터 캡처 작업의 관리를 지원할 수 있습니다.

변경 내용 열거 및 메타데이터 쿼리

캡처 인스턴스와 연결된 변경 데이터에 액세스하려면 연결된 원본 테이블의 캡처된 모든 열에 선택적으로 액세스할 수 있는 권한이 사용자에게 부여되어야 합니다. 또한 캡처 인스턴스를 만들 때 제어 역할을 지정한 경우 호출자도 지정된 제어 역할의 멤버여야 합니다. 메타데이터에 액세스하는 다른 일반적인 변경 데이터 캡처 함수에 모든 데이터베이스 사용자가 public 역할을 통해 액세스할 수 있습니다. 물론 반환된 메타데이터에 대한 액세스는 기본 원본 테이블에 대한 선택적 액세스 권한을 사용하거나 정의된 제어 역할에서의 멤버 자격을 통해 일반적으로 제어됩니다.

변경 데이터 캡처를 사용하는 원본 테이블에 대한 DDL 작업

테이블에 변경 데이터 캡처를 사용하도록 설정한 경우 DDL 작업은 고정 서버 역할 sysadmin의 멤버, database role db_owner의 멤버 또는 database role db_ddladmin의 멤버에 의해서만 테이블에 적용될 수 있습니다. 테이블에서 DDL 작업을 수행할 수 있는 명시적 권한을 가진 사용자는 이러한 작업을 시도할 때 오류 22914를 받게 됩니다.