다음을 통해 공유


보안 주체(데이터베이스 엔진)

보안 주체는 SQL Server 리소스를 요청할 수 있는 엔터티입니다. SQL Server 권한 부여 모델의 다른 구성 요소와 같이 보안 주체는 계층으로 정렬될 수 있습니다. 보안 주체의 영향 범위는 보안 주체의 정의 범위인 Windows, 서버 및 데이터베이스와 보안 주체가 분해 불가능하거나 컬렉션인지 여부에 따라 달라집니다. 분해 불가능한 보안 주체의 예로는 Windows 로그인을 들 수 있으며 Windows 그룹은 컬렉션인 보안 주체입니다. 모든 보안 주체에는 SID(보안 식별자)가 있습니다.

Windows 수준의 보안 주체

  • Windows 도메인 로그인

  • Windows 로컬 로그인

SQL Server 수준의 보안 주체

  • SQL Server 로그인

데이터베이스 수준의 보안 주체

  • 데이터베이스 사용자

  • 데이터베이스 역할

  • 응용 프로그램 역할

SQL Server sa 로그인

SQL Server sa 로그인은 서버 수준의 보안 주체로서 인스턴스를 설치하면 기본적으로 생성됩니다. SQL Server 2005 및 SQL Server 2008에서 sa의 기본 데이터베이스는 master입니다. 이 동작은 이전 버전의 SQL Server에서 변경되었습니다.

public 데이터베이스 역할

모든 데이터베이스 사용자는 public 데이터베이스 역할에 속합니다. 사용자에게 보안 개체에 대한 특정 사용 권한이 부여되지 않았거나 거부된 경우 사용자는 해당 보안 개체에 대해 public으로 부여된 사용 권한을 상속 받습니다.

INFORMATION_SCHEMA 및 sys

모든 데이터베이스에는 카탈로그 뷰에 사용자로 표시되는 두 엔터티인 INFORMATION_SCHEMAsys가 포함됩니다. 이러한 엔터티는 SQL Server에 필요합니다. 엔터티는 보안 주체가 아니며 수정 또는 삭제할 수 없습니다.

인증서 기반 SQL Server 로그인

이름이 이중 해시 표시(##)로 묶인 서버 보안 주체는 내부 시스템 용도로만 사용됩니다. 다음 보안 주체는 SQL Server를 설치할 때 인증서에서 생성되며 삭제하면 안 됩니다.

  • ##MS_SQLResourceSigningCertificate##

  • ##MS_SQLReplicationSigningCertificate##

  • ##MS_SQLAuthenticatorCertificate##

  • ##MS_AgentSigningCertificate##

  • ##MS_PolicyEventProcessingLogin##

  • ##MS_AgentSigningCertificate##

  • ##MS_PolicyTsqlExecutionLogin##

클라이언트 및 데이터베이스 서버

정의에 따르면 클라이언트 및 데이터베이스 서버는 보안 주체이며 보안을 설정할 수 있습니다. 이러한 항목은 보안 네트워크 연결이 설정되기 전에 상호 인증될 수 있습니다. SQL Server에서는 클라이언트가 네트워크 인증 서비스와 상호 작용하는 방법을 정의하는 Kerberos 인증 프로토콜을 지원합니다.

SQL Server의 Kerberos 지원 구현에 대한 자세한 내용은 Kerberos 인증 및 SQL Server를 참조하십시오.