강의 컨설팅 트레이닝 무료진단 무료책자 마케팅편지 마케팅정보공유 다이어리 서비스제휴 고객센터

:: 인증모드와 로그인 관리 ::
작성자 : 13 김영철
등록날짜 : 2009.01.24 22:56
2,404

MS SQL 서버의 인증모드, 즉 어떠한 방법으로 로그인 계정과 패스워드를 확인하여 접근을 허용할지 거부 할지 결정하는 방법에는 다음과 같이 두가지가 있습니다.

o Windows 인증 모드
o 혼합 인증 모드

이번 강좌에서는 이 두 인증 방법에 대하여 자세히 살펴보도록 하겠습니다.

1. 인증 모드의 설정

EM(Enterprise Manager)에서 설정하고자 하는 MS SQL 서버를 선택하고 마우스 오른쪽 버튼을 눌러 표시되는 단축 메뉴에서 [등록정보]글 선택하시면 아래 [그림 1]과 같은 SQL Server 속성 화면이 표시됩니다. 인증 모드의 설정은 [보안] 탭을 선택하시어 진행하시면 됩니다.

lec_a0018a.jpg
[그림 1]

[그림 1]의 빨간색 박스안을 보면 다음의 두가지 중에서 하나를 선택 할 수 있습니다.

o SQL Server 및 Windows
o Windows만

'SQL Server 및 Windows'가 혼합 인증 모드로 설정하는 것이고, 'Windows만'이 Windows 인증 모드로 설정하는 것입니다. [그림 1]에서 보면 FUTURE라는 이름의 MS SQL 서버의 인증 모드는 'Windows 인증 모드' 임을 알 수 있습니다.

그럼 과연 위 두가지 인증 모드의 차이점은 무엇인지 궁금해 지네요. 자, 이 두가지 인증 모드의 차이점을 살펴보도록 하겠습니다.

2. Windows 인증 모드

Windows 인증 모드는 MS SQL 서버에서 별도의 계정과 암호를 관리하는것이 아니고 사용자가 Windows 네트워크에 로그인한 정보를 그래도 이용하는 인증 방법입니다. 즉, 계정 관리를 OS에 맞긴다는 것입니다.

여기서 한가지 주의해야할 사항이 있습니다. 만일 10개의 Windows 계정이 있다고 해서 이 계정들이 MS SQL 서버에 접근 할 수 있는 것은 아닙니다. MS SQL 서버에 어떠한 Windows 계정들에게 접근을 허용할 지 설정을 해주어야 합니다. 즉, MS SQL 서버의 로그인 계정에 접근을 허용할 Windows 계정을 등록해 부어야 합니다. 이때 패스워드는 지정을 하지 않습니다. 왜냐하면 실질적인 계정 관리를 OS(Windows NT 또는 WIndows 2000 서버)에서 하기 때문입니다.

1) Windows 계정을 로그인 계정으로 등록하기

아래 [그림 2]는 FUTURE 서버의 Windows 사용자 계정정보를 [컴퓨터 관리]에서 보고 있는 모습입니다. 이 그림에서 보면 Administrator 계정과 jangrae 계정을 볼 수 있습니다.

lec_a0018b.jpg
[그림 2]

아래 [그림 3]은 FUTURE 서버에 설치된 MS SQL서버의 로그인 정보를 보고 있는 모습니다.

lec_a0018c.jpg
[그림 3]

위 [그림 2]와 [그림 3]을 보면 Administrator 계정이 MS SQL 서버에 로그인 하도록 등록이 된 것을 할 수 있습니다. 즉 사용자가 FUTURE 서버에 Administrator로 로그인을 했다면 이 사용자는 MS SQL 서버에도 접근 할 수 있다는 것입니다.

확인해 볼까요?

현재 저는 이 강좌를 작성하면서 FUTURE 서버에 Administrator 계정으로 로그인을 한 상태 입니다. 이 상태에서 아래 [그림 4]에서 처럼 QA(Query Analyzer)를 통해 MS SQL 서버에 로그인 을 할 때 Windows 계정을 이용해 로그인을 할 수 있습니다.

lec_a0018d.jpg
[그림 4]

아래 [그림 5]의 빨간색 박스 안을 보면 Administrator로 로그인 했음을 알 수 있습니다.

lec_a0018e.jpg
[그림 5]

그러나 제가 만일 jangrae 라는 계정을 이용하여 Windows 서버에 로그인 한 후 Windows인증을 이용하여 SQL 서버에 로그인 하는 것은 불가능합니다. 왜냐하면 [그림 3]에서 보듯이 jangrae 계정은 MS SQL 서버의 로그인 계정으로 등록이 되지 않았기 때문입니다. 그럼 jangrae 라는 Windows 계정을 MS SQL 서버의 로그인 계정으로 등록하려번 어떻게 하면 될까요?

위 [그림 3]의 화면처럼 EM에서 [보안] 부분을 확장하시고 [로그인]을 마우스 오른쪽 버튼으로 선택하면 표시되는 단축 메뉴에서 "새 로그인"을 선택하시면 아래 [그림 6]과 같이 로그인 계정을 등록하는 화면이 표시됩니다.

lec_a0018f.jpg
[그림 6]

[그림 6]에서 처럼 위 빨간색 박스안의 [...] 버튼을 눌러 등록할 Windows 계정을 선택하거나 정확히 입력 해주시면 됩니다. 그리고 아래 빨간색 박스안에서 로그인을 하면 기본적으로 접속할 데이터베이스와 사용할 언어를 설정해주시면 됩니다. 그리고 [서버 역할] 탭과 [데이터베이스 엑세스] 탭을 눌러 적절한 권한과 퍼미션을 설정해주시면 됩니다. 권한과 퍼미션에 대해서는 나중에 다루도록 하겠습니다.

"이제부터 Windows 계정 jangrae에서 SQL 서버에 접속할 권한을 허용하노라!' 가 된겁니다.

아래 [그림 7]은 jangrae 라는 Windows 계정이 MS SQL 서버 로그인 계정으로 등록된 결과를 보여줍니다.

lec_a0018g.jpg
[그림 7]

2) Windows 인증모드를 사용하면 sa도 접근이 거부된다.

그런데...

아래 [그림 8]처럼 sa 계정을 통해 QA를 이용하여 SQL 서버에 접속을 시도했습니다.

lec_a0018h.jpg
[그림 8]

그랬더니 다음 [그림 9]와 같은 에러 창이 떴습니다.

lec_a0018i.jpg
[그림 9]

그 이유는 현재 FUTURE라는 이름의 MS SQL 서버는Windows 인증만을 사용하도록 [그림 1]에서 처럼 설정되었기 때문에 Windows 계정이 아닌 sa 라는 MS SQL 자체 계정을 이용해서는 SQL 서버에 로그인 할 수 없기 때문입니다. 분명 sa 계정은 [그림 2]에 나타나지 않았기 때문에 Windows 계정이 아닙니다.

이렇듯 Windows 인증 모드로 설정하게 되면 가장 강력한 권한을 갖는 sa 계정도 SQL 서버에 로그인 할 수 없게 됩니다. 그렇다면 sa 로 로그인 할 수 없다면 어떤 계정을 이용해서 SQL 서버를 관리 할 수 있을까요?

답은 "Administrator와 같은 Windows 계정에 System Admin 권한을 주어 관리한다" 입니다. MS SQL 서버를 설치하게 되면 Administrator 계정에는 자동으로 System Admin 권한이 주어집니다.

3. 혼합 인증 모드

혼합 인증 모드는 앞에서 살펴 본 Windows 인증과 함께 MS SQL 서버의 자체 계정을 이용한 로그인도 허용을 하는 인증 방법 입니다. 즉, 바로 조금전에 sa 계정을 이용해서 로그인이 가능해지는 것입니다. 이를 위해서는 [그림 1]에서 "SQL Server 및 Windows"를 선택하셔야 합니다.

1) MS SQL 자체 계정을 로그인 계정으로 등록하기

MS SQL 자체 로그인 계정을 등록하는 방법은 패스워드를 입력하는것 외에는 Windows 계정 등록하는 방법과 동일합니다. 아래 [그림 10]는 MS SQL 서버 자체 로그인 계정으로서 user01 을 동록하는 모습입니다.

lec_a0018j.jpg
[그림 10]

위 [그림 10]에서 [확인] 버튼을 누르면 패스워드를 다시한번 확인하는 대화탕이 표시됩니다.

2) 혼합 인증을 통한 SQL 서버 연결

이제 user01 이라는 계정은 MS SQL 서버에 의해서 자체적으로 관리되는 로그인 계정입니다. 그리고 사용자가 user01 계정을 이용해서 MS SQL 서버에 접속 할 때는 계정과 함께 패스워드를 입력을 해야 합니다. 아래 [그림 11]은 user01을 이용해서 QA를 이용해 SQL 서버에 접속하는 모습을 보여줍니다.

lec_a0018k.jpg
[그림 11]

Windows 계정을 이용해 로그인 할 때는 패스워드를 입력하지 않음을 [그림 4]에서 보았습니다.

4. EM(Enterprise Manager)에서 SQL 서버를 등록 할 때

EM에 SQL 서버를 등록을 하는 과정에서 다음 [그림 12]와같은 에러가 뜬다고 질문 하시는 분들이 많이 있습니다.

lec_a0018m.jpg
[그림 12]

sa 계정의 패스워드가 틀려서 위와 같은 에러가 날까요? 그렇지 않습니다. 만일 sa 계정의 패스워드가 틀린 경우라는 서버를 등록 할 때 다음 [그림 13]과 같은 에러창이 뜹니다.

lec_a0018n.jpg
[그림 13]

분명 [그림 12]와 [그림 13]의 에러메세지는 다릅니다. [그림 13]에는 "이유:트러스트된 SQL Server 연결과 관련되지 않았습니다." 라는 부분이 없습니다. 그렇다면 왜 일까요?

이유는 SQL 서버의 인증 방법이 Windows 인증으로 설정된 상태에서 SQL 서버 자체 계정인 sa 계정을 이용해서 EM에 SQL 서버를 등록하려고 했기 때문입니다. [그림 12] 처럼 에러 메세지에 "트러스트된 SQL Server 연결...." 와 같은 내용이 포함 된 경우라면 SQL 서버의 인증 방법을 혼합 인증으로 바꿈으로 해서 문제를 해결 할 수 있습니다.

앞의 [그림 8]과 [그림 9]에서 발생한 에러와 원인이 같음을 알 수 있습니다.

5. 정리

이번 강좌의 내용에서 기억할 사항은 SQL 서버의 인증 방법에는 Windows 인증 모드와 홈합 인증 모드 두가지가 있으며, Windows 인증 모드를 사용하게 되면 sa 와 같은 SQL 서버 자체 계정을 가지고는 SQL 서버에 로그인 할 수 없다는 것입니다.

되도록이면 Windows 인증 모드를 사용하시는것이 보안에 좋습니다. 그런데 굳이 혼합 인증 모드를 두는 이유는 WIndows 계정 관리가 불가능한 Windows 98 등과 같은 OS에서 SQL 서버가 운영이 되는 경우, 또는 인터넷을 통해 임의의 사용자들이 SQL 서버에 접속 하는 경우 Windows 인증 모드를 사용 할 수 없기 때문입니다.

로그인 인증은 사용자가 SQL 서버에 접속하는 과정일 뿐이지 데이터베이스를 사용할 수 있는 것과는 다릅니다. 실제 데이터베이스를 사용하기 위해서는 인증된 로그인 계정이 해당 데이터베이스 사용자로 등록이 되어야 합니다. 우리가 비자를 가지고 미국에 입국 했다고 해서 미국방성 또는 백악관을 마음대로 들어 갈 수 없는것과 같은 이유 입니다. 또다른 허가가 필요한 것입니다.

다음 강좌에서는 데이터베이스 사용자 관리에 대해 살펴보도록 하겠습니다.

 

출처 : http://www.sqlworld.pe.kr

"쇼핑몰·홈페이지·오픈마켓
블로그·페이스북·이메일 등의 각종 마케팅 글쓰기,
각종 광고, 영업, 판매, 제안서, 전단지
반응율 3배×10배 이상 높이는 마법의 8단계 공식"
자세히보기

Comments

번호 제목 글쓴이 날짜 조회
2685 :: 사용자 정의 함수(User Defined Function) :: 13 김영철 01.24 2680
2684 :: 트리거(Trigger) :: 13 김영철 01.24 2375
2683 :: 백업(Backup) 이란? :: 13 김영철 01.24 2500
2682 :: 백업 장치 만들기 :: 13 김영철 01.24 2318
2681 :: 전체 백업 받기 :: 13 김영철 01.24 2294
2680 :: 전체 백업으로부터의 복원 :: 13 김영철 01.24 2500
2679 :: 차등 백업 받기와 복원 :: 13 김영철 01.24 2121
2678 :: 데이터베이스 옵션을 이용한 트랜잭션 로그 제어 :: 13 김영철 01.24 2885
2677 :: 트랜잭션 로그 줄이기 테스트 :: 13 김영철 01.24 2304
2676 :: 백업과 복원 정리 :: 13 김영철 01.24 2010
2675 :: SQL Server Agent 서비스 이해 :: 13 김영철 01.24 2820
2674 :: [작업 만들기 마법사] 이용하기 :: 13 김영철 01.24 2725
2673 :: 등록된 작업 살펴보기 :: 13 김영철 01.24 2447
2672 :: 새로운 작업 등록하기 :: 13 김영철 01.24 2057
2671 :: 데이터베이스 유지 관리 계획 마법사 :: 13 김영철 01.24 2354
2670 ::[데이터 가져오기 및 보내기]를 이용한 데이터 변환 :: 13 김영철 01.24 2694
2669 :: 기본적인 웹 페이지 만들기 :: 13 김영철 01.24 2108
2668 :: 템플릿을 이용한 웹 페이지 만들기 :: 13 김영철 01.24 2322
2667 ▒엑셀파일을 ms-sql DB테이블로 전환하기 13 김영철 01.24 3252
2666 :: INFOEMATION_SCHEMA 뷰 이용하기 :: 13 김영철 01.24 2119
열람중 :: 인증모드와 로그인 관리 :: 13 김영철 01.24 2405
2664 :: 데이터베이스 사용자 추가 13 김영철 01.24 2242
2663 :: 연결된 서버 만들기 13 김영철 01.24 2933
2662 :: 엑셀 워크시트를 연결된 서버로 만들기 13 김영철 01.24 3115
2661 mssql 함수모음 13 김영철 01.24 3402
2660 :: text타입의 본문 문자열바꾸기 Sql 13 김영철 01.24 2346
2659 오라클과 MSSQL 의 날짜 비교 13 김영철 01.24 3564
2658 MSSQL 백업복구 13 김영철 01.24 3114
2657 [MSSQL]쿼리 분석기 더 잘 사용하기 13 김영철 01.24 3414
2656 SQL Injection 기법 정리(MSSQL) 13 김영철 01.24 4173
마케팅
특별 마케팅자료
다운로드 마케팅자료
창업,경영
기획,카피,상품전략
동기부여,성취