source

SQL Server에서의 사용자와 로그인의 차이

ittop 2023. 4. 7. 21:54
반응형

SQL Server에서의 사용자와 로그인의 차이

최근에는 SQL Server의 다양한 영역에서 작업하고 있지만, 평소에는 다루지 않습니다.그 중 하나가 로그인 및 사용자 영역입니다.꽤 간단한 주제여야 할 것 같은데...

각 로그인은 1명의 사용자만 가질 수 있으며 각 사용자는 1명의 로그인만 가질 수 있습니다.

로그인은 여러 테이블과 관련지을 수 있으므로 해당 사용자를 여러 테이블과 관련지을 수 있습니다.

그럼 왜 로그인과 사용자가 있는 거죠?거의 똑같은 것 같아요무엇이 다른가, 아니면 내가 놓친 것 같은가?

「로그인」은, SERVER 에의 주요한 엔트리를 부여합니다.

"사용자"는 단일 데이터베이스에 로그인 엔트리를 부여합니다.

하나의 "로그인"을 여러 사용자와 연결할 수 있습니다(데이터베이스당 하나씩).

위의 각 개체에는 고유한 수준에서 권한이 부여될 수 있습니다.각각의 설명에 대해서는, 다음의 문서를 참조해 주세요.

둘 다 필요한 이유 중 하나는 데이터베이스 서버에 의해 인증이 가능하지만 인증의 범위를 데이터베이스로 지정할 수 있기 때문입니다.이렇게 하면 데이터베이스를 다른 서버로 이동할 경우 데이터베이스 서버의 사용자 로그인 관계를 언제든지 다시 매핑할 수 있지만 데이터베이스를 변경할 필요는 없습니다.

이 주제에 관한 Laurentiu Cristofor의 MSDN 블로그 투고가 매우 좋다고 생각합니다.

SQL Server 보안에 대해 이해해야 할 첫 번째 중요한 것은 서버와 데이터베이스라는 두 가지 보안 영역이 관련되어 있다는 것입니다.서버 레름은 여러 데이터베이스 레름을 포함합니다.모든 작업은 일부 데이터베이스의 컨텍스트에서 수행되지만 작업을 수행하려면 먼저 서버에 액세스한 후 데이터베이스에 액세스해야 합니다.

서버에 대한 액세스는 로그인을 통해 허용됩니다.로그인의 주요 카테고리는 두 가지가 있습니다.SQL Server 인증 로그인 및 윈도우즈 인증 로그인.보통 SQL 로그인 및 Windows 로그인의 단축 이름을 사용하여 참조합니다.Windows 인증 로그인은 Windows 사용자에게 매핑된 로그인이거나 Windows 그룹에 매핑된 로그인이 될 수 있습니다.따라서 서버에 접속하려면 다음 유형 또는 로그인 중 하나를 통해 접근해야 합니다. 로그인은 서버 영역에 대한 액세스를 제공합니다.

그러나 작업은 보통 데이터베이스에서 수행되고 데이터베이스는 별도의 영역이기 때문에 로그인만으로는 충분하지 않습니다.데이터베이스에 대한 액세스는 사용자를 통해 부여됩니다.

사용자는 로그인에 매핑되고 매핑은 로그인 및 사용자의 SID 속성으로 표시됩니다.로그인은 SID 값이 동일한 경우 데이터베이스 내의 사용자에게 매핑됩니다.따라서 로그인의 유형에 따라 위의 분류를 모방한 사용자를 분류할 수 있습니다.따라서 SQL 사용자와 Windows 사용자가 있으며 후자의 카테고리는 Windows 사용자 로그인에 매핑된 사용자와 Windows 그룹 로그인에 매핑된 사용자로 구성됩니다.

한 걸음 물러서서 간단한 개요를 설명하겠습니다.로그인을 하면 액세스 할 수 있습니다. 서버에 접속하여 데이터베이스에 접근하기 위해 사용자가 매핑된 데이터베이스에 존재해야 합니다.

그게 게시물 전체로 연결되는 링크입니다.

요컨대,

로그인은 서버에 액세스 할 수 있습니다.

그리고.

사용자는 데이터베이스에 액세스할 수 있습니다.

저는 이 질문이 좋은 답변과 함께 매우 유용한 질문이라고 생각합니다.MSDN Create a Login 페이지에서 내 의견을 더하면 다음과 같습니다.

로그인은 보안 주체 또는 보안 시스템에서 인증할 수 있는 엔티티입니다.사용자가 SQL Server에 연결하려면 로그인이 필요합니다.Windows 주체(도메인 사용자 또는 Windows 도메인 그룹 등)에 근거해 로그인을 작성하거나 Windows 주체(SQL Server 로그인 등)에 근거하지 않는 로그인을 작성할 수 있습니다.

주의:
SQL Server 인증을 사용하려면 데이터베이스 엔진이 혼합 모드 인증을 사용해야 합니다.자세한 내용은 인증 모드 선택을 참조하십시오.

보안 주체로서 로그인에 대한 권한을 부여할 수 있습니다.로그인 범위는 데이터베이스 엔진 전체입니다.SQL Server 인스턴스의 특정 데이터베이스에 연결하려면 로그인을 데이터베이스 사용자에게 매핑해야 합니다.데이터베이스 내의 권한은 로그인이 아닌 데이터베이스 사용자에게 부여 및 거부됩니다.SQL Server 전체 인스턴스의 범위를 가진 사용 권한(예: CREATE ENDOUT 사용 권한)을 로그인에 부여할 수 있습니다.

MS sql-docs 로그인/사용자 그래프

여기에 이미지 설명 입력

언급URL : https://stackoverflow.com/questions/1134319/difference-between-a-user-and-a-login-in-sql-server

반응형