보안 원칙
이 참조 문서에서는 보안 주체와 관련된 보안 기술 외에도 Windows 계정 및 보안 그룹의 보안 주체에 대해 설명합니다.
보안 주체는 무엇인가?
보안 주체는 사용자 계정, 컴퓨터 계정 또는 사용자 또는 컴퓨터 계정의 보안 컨텍스트에서 실행되는 스레드 또는 프로세스 또는 이러한 계정의 보안 그룹과 같이 운영 체제에서 인증할 수 있는 엔터티입니다. 보안 주체는 오랫동안 Windows 컴퓨터의 보안 가능한 리소스에 대한 액세스를 제어하는 기초가 되어 왔습니다. 각 보안 주체는 운영 체제에서 고유한 SID(보안 식별자)로 표시됩니다.
참고 항목
이 콘텐츠는 문서 시작 부분의 "적용 대상" 목록에 있는 Windows 버전에만 해당합니다.
보안 주체의 작동 방식
Active Directory 도메인에서 만든 보안 주체는 도메인 리소스에 대한 액세스를 관리하는 데 사용할 수 있는 Active Directory 개체입니다. 각 보안 주체에는 전체 수명 동안 유지되는 고유 식별자가 할당됩니다. 로컬 사용자 계정 및 보안 그룹은 로컬 컴퓨터에 만들어지고 해당 컴퓨터의 리소스에 대한 액세스를 관리하는 데 사용할 수 있습니다. 로컬 사용자 계정 및 보안 그룹은 로컬 컴퓨터의 SAM(보안 계정 관리자)에 의해 관리됩니다.
권한 부여 및 액세스 제어 구성 요소
다음 다이어그램에서는 Windows 권한 부여 및 액세스 제어 프로세스를 보여 줍니다. 다이어그램에서 주체(사용자가 시작한 프로세스)는 공유 폴더와 같은 개체에 액세스하려고 시도합니다. 사용자의 액세스 토큰에 있는 정보는 개체의 보안 설명자에 있는 ACE(액세스 제어 항목)와 비교되며 액세스 결정이 내려집니다. 보안 주체의 SID는 사용자의 액세스 토큰 및 개체의 보안 설명자의 ACE에서 사용됩니다.
권한 부여 및 액세스 제어 프로세스
보안 주체는 다음과 같은 구성 요소 및 기술과 밀접하게 관련되어 있습니다.
보안 식별자
SID(보안 식별자)는 Windows 보안 모델의 기본 구성 요소를 제공합니다. 이들은 Windows Server 운영 체제의 보안 인프라에 있는 권한 부여 및 액세스 제어 기술의 특정 구성 요소와 함께 작동합니다. 이를 통해 네트워크 리소스에 대한 액세스를 보호하고 보다 안전한 컴퓨팅 환경을 제공할 수 있습니다.
SID는 시스템에서 인증할 수 있는 엔터티를 나타내는 보안 주체를 고유하게 식별하는 데 사용되는 가변 길이의 값입니다. 이러한 엔터티에는 사용자 계정, 컴퓨터 계정 또는 사용자 또는 컴퓨터 계정의 보안 컨텍스트에서 실행되는 스레드 또는 프로세스가 포함됩니다. 각 보안 주체는 SID를 만들 때 자동으로 할당됩니다. SID는 보안 데이터베이스에 저장됩니다. SID를 사용자 또는 그룹의 고유 식별자로 사용하는 경우 다른 사용자 또는 그룹을 식별하는 데는 절대로 사용할 수 없습니다.
사용자가 로그인할 때마다 시스템은 해당 사용자에 대한 액세스 토큰을 생성합니다. 액세스 토큰에는 사용자의 SID, 사용자 권한 및 사용자가 속한 그룹의 SID가 포함되어 있습니다. 이 토큰은 사용자가 해당 컴퓨터에서 수행하는 모든 작업에 대한 보안 컨텍스트를 제공합니다.
특정 사용자 및 그룹에 할당되는 고유하게 생성된 도메인별 SID 외에도 일반 그룹 및 일반 사용자를 식별하는 잘 알려진 SID가 있습니다. 예를 들어 Everyone 및 World SID는 모든 사용자들을 포함하는 그룹을 식별합니다. 공용 SID에는 모든 운영 체제에서 일정하게 유지되는 값이 있습니다.
액세스 토큰
액세스 토큰은 사용자 계정과 연결된 ID 및 사용자 권한에 대한 정보를 포함하는 보호된 개체입니다.
사용자가 대화형으로 로그인하거나 Windows를 실행하는 컴퓨터에 대한 네트워크 연결을 시도하는 경우 로그인 프로세스는 사용자의 자격 증명을 인증합니다. 인증에 성공하면 프로세스는 사용자에 대한 SID와 사용자의 보안 그룹에 대한 SID 목록을 반환합니다. 컴퓨터의 LSA(로컬 보안 기관)는 이 정보를 사용하여 액세스 토큰(이 경우 기본 액세스 토큰)을 만듭니다. 여기에는 로그인 프로세스에서 반환되는 SID와 로컬 보안 정책에서 사용자 및 사용자의 보안 그룹에 할당된 사용자 권한 목록이 포함됩니다.
LSA가 기본 액세스 토큰을 만든 후 액세스 토큰의 복사본은 사용자를 대신하여 실행되는 모든 스레드 및 프로세스에 연결됩니다. 스레드 또는 프로세스가 보안 개체와 상호 작용하거나 사용자 권한이 필요한 시스템 작업을 수행하려고 할 때마다 운영 체제는 스레드와 연결된 액세스 토큰을 확인하여 권한 부여 수준을 확인합니다.
기본 액세스 토큰과 가장 액세스 토큰의 두 가지 종류가 있습니다. 모든 프로세스에는 프로세스와 연결된 사용자 계정의 보안 컨텍스트를 설명하는 기본 토큰이 있습니다. 기본 액세스 토큰은 일반적으로 해당 프로세스의 기본 보안 정보를 나타내기 위해 프로세스에 할당됩니다. 반면에 가장 토큰은 클라이언트 및 서버 시나리오에 사용됩니다. 가장 토큰을 사용하면 스레드를 소유하는 프로세스의 보안 컨텍스트와 다른 보안 컨텍스트에서 스레드를 실행할 수 있습니다.
보안 설명자 및 액세스 제어 목록
보안 설명자는 각 보안 개체와 연결된 데이터 구조입니다. Active Directory의 모든 개체와 로컬 컴퓨터 또는 네트워크의 모든 보안 가능한 개체에는 개체에 대한 액세스를 제어하는 데 도움이 되는 보안 설명자가 있습니다. 보안 설명자는 개체 소유자, 개체에 액세스할 수 있는 사용자 및 액세스 방식, 감사되는 액세스 유형 등에 대한 정보를 포함합니다. 보안 설명자는 해당 개체에 적용되는 모든 보안 권한을 포함하는 개체의 ACL(액세스 제어 목록)을 포함합니다. 개체의 보안 설명자에는 두 가지 유형의 ACL이 포함될 수 있습니다:
액세스가 허용되거나 거부되는 사용자 및 그룹을 식별하는 재량적 액세스 제어 목록(DACL)입니다.
액세스 감사 방법을 제어하는 시스템 액세스 제어 목록(SACL)입니다.
이 액세스 제어 모델을 사용하여 파일 및 폴더, Active Directory 개체, 레지스트리 키, 프린터, 디바이스, 포트, 서비스, 프로세스 및 스레드와 같은 개체와 특성을 개별적으로 보호할 수 있습니다. 이러한 개별 컨트롤로 인해 조직의 요구 사항에 맞게 개체의 보안을 조정하고, 개체 또는 특성에 대한 권한을 위임하고, 고유한 보안 보호를 정의해야 하는 사용자 지정 개체 또는 특성을 만들 수 있습니다.
사용 권한
사용 권한을 사용하면 파일, Active Directory 개체 또는 레지스트리 키와 같은 각 보안 개체의 소유자가 개체 또는 개체 속성에 대해 작업 또는 작업 집합을 수행할 수 있는 사용자를 제어할 수 있습니다. 권한은 보안 아키텍처에서 ACE로 표현됩니다. 개체에 대한 액세스는 개체 소유자의 재량에 따라 결정되므로 Windows에서 사용되는 액세스 제어 유형을 임의 액세스 제어라고 합니다.
사용 권한은 개체에 연결된 사용 권한의 사용자 권한과 다르며 사용자 권한은 사용자 계정에 적용됩니다. 관리자는 그룹 또는 사용자에게 사용자 권한을 할당할 수 있습니다. 이러한 권한은 사용자가 시스템에 대화형으로 로그인하거나 파일 및 디렉터리를 백업하는 등의 특정 작업을 수행할 수 있는 권한을 부여합니다.
컴퓨터에서 사용자 권한을 통해 관리자는 특정 개체가 아닌 전체 컴퓨터에 영향을 주는 작업을 수행할 권한이 있는 사용자를 제어할 수 있습니다. 관리자는 컴퓨터에 대한 보안 설정의 일부로 개별 사용자 또는 그룹에 사용자 권한을 할당합니다. 사용자 권한은 그룹 정책을 통해 중앙에서 관리할 수 있지만 로컬로 적용됩니다. 사용자는 다른 컴퓨터에서 서로 다른 사용자 권한을 가질 수 있습니다(일반적으로 수행할 수 있습니다).
사용할 수 있는 사용자 권한 및 구현 방법에 대한 자세한 내용은 사용자 권한 할당을 참조 하세요.
인증의 보안 컨텍스트
사용자 계정을 통해 사용자는 컴퓨터, 네트워크 또는 도메인에서 인증할 수 있는 ID로 컴퓨터, 네트워크 및 도메인에 로그인할 수 있습니다.
Windows에서는 작업을 시작할 수 있는 사용자, 서비스, 그룹 또는 컴퓨터가 보안 주체입니다. 보안 주체는 컴퓨터 로컬 또는 도메인 기반 계정을 가지고 있습니다. 예를 들어 도메인에 가입된 Windows 클라이언트 컴퓨터는 사용자가 로그인하지 않은 상태에서도 도메인 컨트롤러와 통신하여 네트워크 도메인에 참여할 수 있습니다.
통신을 시작하려면 컴퓨터에 도메인에 활성 계정이 있어야 합니다. 컴퓨터의 통신을 수락하기 전에 도메인 컨트롤러의 로컬 보안 기관은 컴퓨터의 신원을 인증한 다음 사용자의 보안 주체에 대한 것과 마찬가지로 컴퓨터의 보안 컨텍스트를 정의합니다.
이 보안 컨텍스트는 특정 컴퓨터의 사용자나 서비스 또는 네트워크상의 사용자, 서비스, 그룹 또는 컴퓨터의 신원 및 기능을 정의합니다. 예를 들어, 액세스할 수 있는 리소스(예: 파일 공유 또는 프린터)와 해당 리소스에서 사용자, 서비스 또는 컴퓨터가 수행할 수 있는 작업(예: 읽기, 쓰기 또는 수정)을 정의합니다.
사용자 또는 컴퓨터의 보안 컨텍스트는 사용자가 사용자의 기본 워크스테이션이 아닌 서버나 워크스테이션에 인증하는 경우와 같이 컴퓨터마다 다를 수 있습니다. 관리자가 사용자의 권한 및 권한을 수정하는 경우와 같이 세션마다 다를 수도 있습니다. 또한 사용자 또는 컴퓨터가 독립 실행형 기반, 혼합 네트워크 도메인 또는 Active Directory 도메인의 일부로 작동하는 경우 보안 컨텍스트가 다릅니다.
계정 및 보안 그룹
Active Directory 도메인에서 만든 계정 및 보안 그룹은 Active Directory 데이터베이스에 저장되고 Active Directory 도구를 사용하여 관리됩니다. 이러한 보안 주체는 디렉터리 개체이며 도메인 리소스에 대한 액세스를 관리하는 데 사용할 수 있습니다.
로컬 사용자 계정 및 보안 그룹은 로컬 컴퓨터에 만들어지고 해당 컴퓨터의 리소스에 대한 액세스를 관리하는 데 사용할 수 있습니다. 로컬 사용자 계정과 보안 그룹은 로컬 컴퓨터의 보안 계정 관리자(SAM)에 저장되고 관리됩니다.
사용자 계정
사용자 계정은 컴퓨터 시스템을 사용하는 사용자를 고유하게 식별합니다. 계정은 리소스에 대한 사용자 액세스를 허용하거나 거부하도록 적절한 권한 부여를 적용하도록 시스템에 알릴 수 있습니다. 사용자 계정은 Active Directory 및 로컬 컴퓨터에서 만들 수 있으며 관리자는 이를 사용하여 다음을 수행합니다.
사용자의 ID를 나타내고, 식별하고, 인증합니다. 사용자 계정을 사용하면 컴퓨터, 네트워크 또는 도메인에서 인증할 수 있는 고유 식별자를 사용하여 컴퓨터, 네트워크 및 도메인에 로그인할 수 있습니다.
리소스에 대한 액세스 권한을 부여(승인 또는 거부)합니다. 사용자가 인증되면 리소스에 대해 해당 사용자에게 할당된 권한에 따라 리소스에 대한 액세스 권한이 사용자에게 부여됩니다.
사용자 계정에서 수행되는 작업을 감사하세요.
Windows 및 Windows Server 운영 체제에는 기본 제공 사용자 계정이 있거나 조직의 요구 사항을 충족하기 위해 사용자 계정을 만들 수 있습니다.
보안 그룹
보안 그룹은 보안 관점에서 단일 단위로 관리할 수 있는 사용자 계정, 컴퓨터 계정 및 기타 계정 그룹의 컬렉션입니다. Windows 운영 체제에는 특정 작업을 수행하기 위한 적절한 권한 및 권한으로 미리 구성된 몇 가지 기본 제공 보안 그룹이 있습니다. 또한 조직의 여러 사용자에게 적용되는 각 고유한 보안 요구 사항 조합에 대한 보안 그룹을 만들 수 있습니다(일반적으로).
그룹은 Active Directory 기반이거나 특정 컴퓨터에 로컬일 수 있습니다.
Active Directory 보안 그룹은 도메인 리소스에 대한 권한 및 권한을 관리하는 데 사용됩니다.
로컬 그룹은 도메인 컨트롤러를 제외한 로컬 컴퓨터(모든 Windows 기반 컴퓨터)의 SAM 데이터베이스에 있습니다. 로컬 그룹을 사용하여 로컬 컴퓨터의 리소스에 대한 권한 및 권한만 관리합니다.
보안 그룹을 사용하여 액세스 제어를 관리하면 다음을 수행할 수 있습니다.
관리 간소화. 각 계정에 개별적으로 할당하지 않고 공통 권한 집합, 공통 사용 권한 집합 또는 둘 다를 한 번에 여러 계정에 할당할 수 있습니다. 또한 사용자가 작업을 이전하거나 조직을 떠날 때 사용 권한이 사용자 계정에 연결되지 않으므로 권한 재할당 또는 제거가 더 쉬워질 수 있습니다.
역할 기반 액세스 제어 모델을 구현하세요. 이 모델을 사용하여 적절한 용도로 다양한 범위의 그룹을 사용하여 사용 권한을 부여할 수 있습니다. Windows에서 사용할 수 있는 범위에는 로컬, 전역, 도메인 로컬 및 범용이 포함됩니다.
ACL의 크기를 최소화하고 보안 검사를 가속화합니다. 보안 그룹에는 자체 SID가 있습니다. 따라서 그룹 SID를 사용하여 리소스에 대한 권한을 지정할 수 있습니다. 수천 명이 넘는 사용자가 있는 환경에서 개별 사용자 계정의 SID를 사용하여 리소스에 대한 액세스를 지정하는 경우 해당 리소스의 ACL이 관리되지 않을 수 있으며 시스템에서 리소스에 대한 사용 권한을 확인하는 데 필요한 시간이 허용되지 않을 수 있습니다.
Active Directory에 정의된 도메인 보안 그룹에 대한 설명 및 설정 정보는 Active Directory 보안 그룹을 참조하세요.
특수 ID에 대한 설명 및 설정 정보는 특수 ID 그룹을 참조하세요.