향상된 보안 기능(데이터베이스 엔진)

SQL Server 데이터베이스 엔진의 향상된 보안 기능에는 설치 중 프로비전, 새 SEARCH PROPERTY LIST 권한, 새 사용자 정의 서버 역할, 서버 및 데이터베이스 역할을 관리하는 새로운 방법 등이 포함됩니다.

설치 중 프로비전

역할 구분을 향상시키기 위해 BUILTIN\administratorsLocal System(NT AUTHORITY\SYSTEM)이 sysadmin 고정 서버 역할에 자동으로 프로비전되지 않습니다. 로컬 관리자는 단일 사용자 모드에 있는 경우 여전히 데이터베이스 엔진에 액세스할 수 있습니다.

SQL Server는 이제 Windows 7 또는 Windows Server 2008 R2에 설치되어 있는 경우 관리되는 서비스 계정과 가상 계정을 지원합니다. 자세한 내용은 Windows 서비스 계정 및 권한 구성을 참조하십시오.

서비스별 SID에서 작동하는 서비스의 보호는 이제 모든 운영 체제로 확장됩니다. 자세한 내용은 Windows 서비스 계정 및 권한 구성을 참조하십시오.

새 사용 권한

데이터베이스 엔진에서 19가지의 새로운 사용 권한을 사용할 수 있습니다. 모둔 사용 권한을 보려면 다음 문을 실행하십시오.

SELECT * FROM sys.fn_builtin_permissions('');

새로운 사용 권한은 다음과 같습니다.

검색 속성 목록의 CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/REFERENCES/ALTER에 대한 새 GRANT, DENY 및 REVOKE 사용 권한

서버 역할의 ALTER ANY SERVER ROLE, CREATE SERVER ROLE 및 CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/ALTER에 대한 새 GRANT, DENY 및 REVOKE 사용 권한

가용성 그룹의 ALTER ANY AVAILABILITY GROUP, CREATE AVAILABILITY GROUP, and CONTROL/VIEW DEFINTION/TAKE OWNERSHIP/ALTER에 대한 새 GRANT, DENY 및 REVOKE 사용 권한

CREATE SEQUENCE 사용 권한에 대한 새 GRANT, DENY 및 REVOKE 사용 권한

ALTER ANY EVENT SESSION 사용 권한에 대한 새 GRANT, DENY 및 REVOKE 사용 권한

새 역할 관리

이제 사용자 정의 서버 역할을 사용할 수 있습니다. 사용자 정의 서버 역할을 관리하려면 CREATE SERVER ROLE, ALTER SERVER ROLEDROP SERVER ROLE을 사용합니다. 모든 서버 역할에서 멤버를 추가하고 제거하려면 ALTER SERVER ROLE WITH ADD MEMBER를 사용합니다. sp_addsrvrolemembersp_dropsrvrolemember는 더 이상 사용되지 않습니다.

ADD MEMBER 구문을 사용하여 역할의 멤버를 추가하거나 제거하도록 ALTER ROLE이 수정되었습니다. sp_addrolemembersp_droprolemember는 더 이상 사용되지 않습니다.

데이터베이스 역할의 멤버 자격을 확인하도록 IS_ROLEMEMBER가 추가되었습니다.

그룹에 대한 기본 스키마

이제 Windows 그룹에 대한 기본 스키마를 정의할 수 있습니다. 개체가 Windows 사용자별로 만들어졌으며 기본 스키마가 지정되어 있지 않으면 SQL Server에서는 더 이상 스키마를 자동으로 만들지 않습니다. 기본 스키마에 대한 자세한 내용은 CREATE USER를 참조하십시오.

향상된 SQL Server Audit

서버 수준 감사에 대한 지원이 확장되어 모든 SQL Server 버전이 포함됩니다. 데이터베이스 수준 감사는 Enterprise, Developer 및 Evaluation 버전에서만 지원됩니다.

SQL Server Audit에서는 감사 로그에 쓰기가 실패하는 경우 보다 유연하게 대처합니다. 예를 들어 대상 디렉터리가 원격 공유에 있는데 네트워크의 작동이 중단되는 경우 네트워크 연결이 다시 설정된 후에 SQL Server Audit이 복구됩니다. 또한 일반적인 경우에는 오류가 발생한 감사 대상에 쓸 감사 이벤트를 생성하는 작업이 실패하도록 하는 새로운 옵션도 도입되었습니다. 자세한 내용은 CREATE SERVER AUDIT에서 ON_FAILURE 이벤트의 FAIL_OPERATION 옵션을 참조하십시오.

이전에는 감사 로그에 포함된 로그 파일 수가 확정되지 않았거나, 로그 파일이 미리 정의된 수를 초과하면 감사 로그가 롤오버되었습니다. 새롭게 도입된 옵션으로 인해 로그가 롤오버되지 않고 감사 파일 수를 제한할 수 있으므로, 고객이 감사 레코드를 잃지 않고 수집되는 감사 정보의 양을 제어할 수 있습니다. 자세한 내용은 CREATE SERVER AUDITMAX_FILES 옵션을 참조하십시오.

가능한 경우 감사 로그에서는 Transact-SQL 스택 프레임 정보가 추가로 제공됩니다. 대부분의 경우 감사자는 저장 프로시저를 통해 또는 응용 프로그램에서 직접 쿼리가 실행되었는지를 확인할 수 있습니다.

이제 SQL Server 감사 사양에서 사용자 정의 감사 그룹을 지원합니다. 새 sp_audit_write(Transact-SQL) 프로시저를 사용하여 감사된 이벤트를 감사 로그에 쓸 수 있습니다. 응용 프로그램에서는 사용자 정의 감사 이벤트를 통해 감사 로그에 사용자 지정 정보(예: 일반 로그인을 사용하여 SQL Server에 연결한 경우 연결된 응용 프로그램 사용자의 이름)를 쓸 수 있습니다.

사용자 정의 감사 이벤트를 추적할 수 있도록 sys.server_file_audits, sys.server_auditssys.fn_get_audit_file에 새 열이 추가되었습니다.

이제 SQL Server Audit에서는 감사 이벤트를 감사 로그에 쓰기 전에 필터링하는 기능을 지원합니다. 자세한 내용은 CREATE SERVER AUDITALTER SERVER AUDITWHERE 절을 참조하십시오.

새 감사 그룹은 포함된 데이터베이스 사용자의 모니터링을 지원합니다.

Management Studio의 감사 대화 상자에 새 감사 옵션이 추가되었습니다.

포함된 데이터베이스를 통한 데이터베이스 엔진 액세스 허용

로그인이 필요하지 않는 포함된 데이터베이스 사용자를 통해 포함된 데이터베이스에 액세스할 수 있습니다. SQL Server 시스템 관리자는 포함된 데이터베이스에서 SQL Server 보안 모델을 변경하는 방법을 잘 알고 있어야 합니다. 자세한 내용은 포함된 데이터베이스의 보안 모범 사례을 참조하십시오.

해시 알고리즘

이제 HASHBYTES 함수에서 SHA2_256SHA2_512 알고리즘을 지원합니다.

RC4의 이후 사용 중단

RC4 알고리즘은 이전 버전과의 호환성을 위해서만 지원됩니다. 데이터베이스의 호환성 수준이 90 또는 100인 경우 새 자료는 RC4 또는 RC4_128로만 암호화할 수 있습니다. 이 옵션은 사용하지 않는 것이 좋습니다. 대신 AES 알고리즘 중 하나와 같은 새 알고리즘을 사용하십시오. SQL Server 2012에서 RC4 또는 RC4_128을 사용하여 암호화된 자료는 모든 호환성 수준에서 해독할 수 있습니다.

인증서 키 길이

인증서를 작성할 경우 외부 원본으로부터 가져온 개인 키의 최대 길이가 3,456비트에서 4,096비트로 확장되었습니다.

3DES에서 AES로의 서비스 마스터 키 및 데이터베이스 마스터 키 암호화 변경

SQL Server 2012에서는 AES 암호화 알고리즘을 사용하여 SMK(서비스 마스터 키) 및 DMK(데이터베이스 마스터 키)를 보호합니다. AES는 이전 버전에서 사용하는 3DES보다 최신 암호화 알고리즘입니다. 데이터베이스 엔진 인스턴스를 SQL Server 2012로 업그레이드한 후 SMK와 DMK를 다시 생성해야 마스터 키가 AES로 업그레이드됩니다. SMK를 다시 생성하는 방법은 ALTER SERVICE MASTER KEY(Transact-SQL)ALTER MASTER KEY(Transact-SQL)를 참조하십시오.

바이너리에서 만들 수 있는 인증서

CREATE CERTIFICATE(Transact-SQL)에는 ASN으로 인코딩된 인증서에 대한 이전 설명을 지정할 수 있는 FROM BINARY 옵션이 있습니다. 새 CERTENCODED(Transact-SQL)CERTPRIVATEKEY(Transact-SQL) 함수를 사용하여 기존 인증서에 대한 이진 설명을 추출할 수 있습니다.

참고 항목

개념

새로운 기능(데이터베이스 엔진)

SQL Server Audit(데이터베이스 엔진)