사용자에게 SQL Server SHOWPLAN 권한을 부여 할 위험이 있습니까?


23

대규모 SQL Server 2008 데이터베이스에서 일부 성능 조정을 수행 중이며 IT 그룹이 SHOWPLAN 권한을 부여하지 않습니다. 과거에는 "실행 계획 표시"가 개별 쿼리 및 프로 시저의 성능을 이해하는 가장 효과적인 방법이었습니다.

이 권한을 부여 할 때 어떤 위험이 내재되어 있습니까? 데이터베이스의 개발 사본에 대한이 제한에 대한 정당한 근거가 있습니까?

참고 :이 SQL IT 그룹에는 단일 SQL Server 인스턴스 아래에 200 개 이상의 데이터베이스가 있습니다. 감사.

답변 : 아래에 언급 된 것 외에는 심각한 보안 위험이 없음을 의미하는 응답이 없습니다. 기본적으로 개발 데이터베이스에서이를 제한하는 것은 비생산적입니다.

누군가 더 나은 답변을 얻으면 이것을 업데이트 할 것입니다. 귀하의 의견에 감사드립니다!

답변:


19

온라인 설명서의 실행 계획 보안 을 살펴보십시오 .

이 사용자 SHOWPLAN, ALTER TRACE또는 VIEW SERVER STATE권한 실행 계획 출력에 캡처 된 쿼리를 볼 수 있습니다. 이러한 쿼리에는 비밀번호와 같은 민감한 정보가 포함될 수 있습니다. 따라서 db_owner 고정 데이터베이스 역할의 멤버 또는 sysadmin 고정 서버 역할의 멤버와 같은 민감한 정보를 볼 권한이있는 사용자에게만 이러한 권한을 부여하는 것이 좋습니다 . 또한 Showplan 관련 이벤트가 포함 된 Showplan 파일 또는 추적 파일 만 NTFS 파일 시스템을 사용하는 위치에 저장하고 중요한 정보를 볼 권한이있는 사용자에 대한 액세스를 제한하는 것이 좋습니다.

예를 들어 다음 쿼리를 고려하십시오.

SELECT COUNT(*)  FROM table_1  WHERE column_1 < 10 

악의있는 사용자가이 예와 같은 질의 세트에 대한 실행 계획 출력을 생성하고, 다른 상수 술어마다 값 "10"을 대체하는 경우, 사용자의 열 값의 근사 데이터 분배 추론 수 column_1를된 table_1 읽어 예상 행 수

이 위험은 특히이 모든 쿼리가 될 개발 서버입니다 주어진 무시할 보인다 에서 의 devs 및 IT 명, 사용자가 아닌.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.