다음을 통해 공유


로그인을 만듭니다.

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

이 문서에서는 SQL Server Management Studio (SSMS) 또는 Transact-SQL를 사용하여 SQL Server 또는 Azure SQL 데이터베이스에서 로그인을 만드는 방법에 대해 설명합니다. 로그인은 SQL Server 인스턴스에 연결하는 사용자 또는 프로세스의 ID입니다.

참고 항목

Microsoft Entra ID는 이전의 Azure AD(Azure Active Directory)입니다.

배경

로그인은 보안 시스템에서 인증을 수행할 수 있는 보안 주체 또는 엔터티입니다. 사용자는 SQL Server에 연결하기 위해 로그인이 필요합니다. Windows 보안 주체(예: 도메인 사용자 또는 Windows 도메인 그룹)를 기반으로 로그인을 만들거나 Windows 보안 주체(예: SQL Server 로그인)를 기반으로 하지 않는 로그인을 만들 수 있습니다.

참고 항목

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

Azure SQL은 Azure SQL Database, Azure SQL Managed Instance 및 Azure Synapse Analytics(전용 SQL 풀에만 해당)에 인증하는 데 사용할 Microsoft Entra 서버 보안 주체(로그인)를 도입했습니다.

SQL Server 2022에는 SQL Server에 대한 Microsoft Entra 인증도 도입되었습니다.

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

참고 항목

로그인이 SQL Server에 연결되면 master 데이터베이스에서 ID의 유효성이 검사됩니다. 포함된 데이터베이스 사용자를 사용하여 데이터베이스 수준에서 SQL Server 및 SQL Database의 연결을 인증합니다. 포함된 데이터베이스 사용자를 사용하는 경우 로그인이 필요하지 않습니다. 포함된 데이터베이스는 다른 데이터베이스 및 해당 데이터베이스를 호스팅하는 SQL Server 또는 SQL Database (및 master 데이터베이스) 인스턴스에서 격리된 데이터베이스입니다. SQL Server는 Windows 및 SQL Server 인증에 포함된 데이터베이스 사용자를 지원합니다. SQL Database를 사용하는 경우 포함된 데이터베이스 사용자를 데이터베이스 수준 방화벽 규칙과 결합합니다. 자세한 내용은 포함된 데이터베이스 사용자 - 데이터베이스를 이식 가능하게 만들기를 참조하세요.

사용 권한

SQL Server에는 서버에 대한 ALTER ANY LOGIN 또는 ALTER LOGIN 권한이 필요하거나 ##MS_LoginManager## 고정 서버 역할(SQL Server 2022 이상)이 필요합니다.

SQL Database에는 loginmanager 역할 또는 고정 서버 역할 ##MS_LoginManager##의 멤버 자격이 필요합니다.

SQL Server용 SSMS를 사용하여 로그인 만들기

  1. 개체 탐색기에서 새 로그인을 만들 서버 인스턴스의 폴더를 확장합니다.

  2. 보안 폴더를 마우스 오른쪽 단추로 클릭하고 새로 만들기를 가리킨 후 로그인...을 선택합니다.

  3. 로그인 - 신규 대화 상자의 일반 페이지에 있는 로그인 이름 상자에 사용자의 이름을 입력합니다. 또는 검색…를 선택하여 사용자 또는 그룹 선택 대화 상자를 엽니다.

    참고 항목

    Windows 보안 주체를 검색하는 경우 특정 포트가 도메인 컨트롤러와 통신하도록 허용되어야 합니다. 검색 결과를 가져오는 데 문제가 있는 경우 Windows의 서비스 개요 및 네트워크 포트 요구 사항을 참조하세요.

    검색…을 선택하는 경우.

    1. 이 개체 형식 선택에서 개체 형식…을 선택하여 개체 형식 대화 상자를 열고 기본 제공 보안 주체, 그룹사용자 중 일부 또는 전부를 선택합니다. 기본 제공 보안 주체사용자 는 기본적으로 선택됩니다. 작업을 마쳤으면 확인을 선택합니다.

    2. 이 위치에서 위치...를 선택하여 위치 대화 상자를 열고 사용 가능한 서버 위치 중 하나를 선택합니다. 작업을 마쳤으면 확인을 선택합니다.

    3. 선택할 개체 이름을 입력하세요(예제)에서 찾으려는 사용자 또는 그룹 이름을 입력합니다. 자세한 내용은 사용자, 컴퓨터 또는 그룹 선택 대화 상자를 참조 하세요.

    4. 고급 검색 옵션을 보려면 고급...을 선택합니다. 자세한 내용은 사용자, 컴퓨터 또는 그룹 선택 대화 상자 - 고급 페이지를 참조 하세요.

    5. 확인을 선택합니다.

  4. 보안 주체에 따라 로그인을 만들려면 Windows 인증을 선택합니다. 기본적으로 이 옵션이 선택되어 있습니다.

  5. SQL Server 데이터베이스에 저장된 로그인을 만들려면 SQL Server 인증을 선택합니다.

    1. 암호 상자에 새 사용자의 암호를 입력합니다. 암호 확인 상자에 암호를 다시 입력합니다.

    2. 기존 암호를 변경할 때는 이전 암호 지정을 선택하고 이전 암호 상자에 이전 암호를 입력합니다.

    3. 복잡성 및 강제성에 대한 암호 정책 옵션을 적용하려면 암호 정책 강제 적용을 선택합니다. 자세한 내용은 Password Policy을 참조하세요. 이 옵션은 SQL Server 인증 을 선택한 경우 기본 옵션입니다.

    4. 만료에 대한 암호 정책 옵션을 강제로 적용하려면 암호 만료 강제 적용을 선택합니다. 이 확인란을 사용하려면 먼저 암호 정책 강제 적용을 선택해야 합니다. 이 옵션은 SQL Server 인증 을 선택한 경우 기본 옵션입니다.

    5. 사용자가 처음 로그인을 사용한 후 새 암호를 만들도록 하려면 다음 로그인할 때 반드시 암호 변경을 선택합니다. 이 확인란은암호 만료 강제 적용 을 선택한 경우에만 사용할 수 있습니다. 이 옵션은 SQL Server 인증 을 선택한 경우 기본 옵션입니다.

  6. 로그인을 독립 실행형 보안 인증서와 연결하려면 인증서에 매핑된 다음 목록에서 기존 인증서의 이름을 선택합니다.

  7. 로그인을 독립형 비대칭 키에 연결하려면 비대칭 키에 매핑됨을 선택한 다음 목록에서 기존 키의 이름을 선택합니다.

  8. 로그인을 보안 자격 증명에 연결하려면 자격 증명에 매핑됨 확인란을 선택한 다음 목록에서 기존 자격 증명을 선택하거나 추가를 선택하여 새 자격 증명을 만듭니다. 로그인에서 보안 자격 증명 매핑을 제거하려면, 매핑된 자격 증명에서 해당 자격 증명을 선택하고 제거를 선택하세요. 자격 증명 일반에 대한 자세한 내용은 자격 증명(데이터베이스 엔진)을 참조하세요.

  9. 기본 데이터베이스 목록에서 로그인에 대한 기본 데이터베이스를 선택합니다. master는 이 옵션의 기본값입니다.

  10. 기본 언어 목록에서 로그인에 대한 기본 언어를 선택합니다.

  11. 확인을 선택합니다.

추가 옵션

로그인 - 신규 대화 상자에는 또한 서버 역할, 사용자 매핑, 보안 개체상태의 기타 페이지에 대한 옵션이 제공됩니다.

서버 역할

참고 항목

이러한 서버 역할은 SQL Database에 사용할 수 없습니다. SQL Database에 사용할 수 있는 고정 서버 수준 역할이 있습니다. 자세한 내용은 권한 관리에 대한 Azure SQL Database 서버 역할을 참조하세요.

서버 역할 페이지에는 새 로그인에 할당할 수 있는 모든 가능한 역할이 나열됩니다. 다음 옵션을 사용할 수 있습니다.

bulkadmin 확인란
bulkadmin 고정 서버 역할의 멤버는 BULK INSERT 문을 실행할 수 있습니다.

dbcreator 확인란
dbcreator 고정 서버 역할의 멤버는 데이터베이스를 생성, 변경, 삭제 및 복원할 수 있습니다.

diskadmin 확인란
dbcreator 고정 서버 역할의 멤버는 디스크 파일을 관리할 수 있습니다.

processadmin 확인란
processadmin 고정 서버 역할의 구성원은 데이터베이스 엔진 인스턴스에서 실행 중인 프로세스를 종료할 수 있습니다.

public 확인란
모든 SQL Server 사용자, 그룹 및 역할은 기본적으로 공용 고정 서버 역할에 속합니다.

securityadmin 확인란
securityadmin 고정 서버 역할의 멤버는 로그인 및 해당 속성을 관리합니다. 이러한 멤버는 서버 수준의 사용 권한을 부여(GRANT), 거부(DENY) 및 취소(REVOKE)할 수 있습니다. 이러한 멤버는 또한 데이터베이스 수준의 사용 권한을 부여(GRANT), 거부(DENY) 및 취소(REVOKE)할 수 있습니다. 또한 이 역할의 멤버는 SQL Server 로그인의 암호를 다시 설정할 수 있습니다.

serveradmin 확인란
serveradmin 고정 서버 역할의 멤버는 서버 전체 구성 옵션을 변경하고 서버를 종료할 수 있습니다.

setupadmin 확인란
setupadmin 고정 서버 역할의 멤버는 연결된 서버를 추가 및 제거할 수 있으며 일부 시스템 저장 프로시저를 실행할 수 있습니다.

sysadmin 확인란
sysadmin 고정 서버 역할의 멤버는 데이터베이스 엔진에서 모든 활동을 수행할 수 있습니다.

사용자 매핑

사용자 매핑 페이지에는 사용 가능한 모든 데이터베이스와 이러한 데이터베이스에서 해당 로그인에 적용할 수 있는 데이터베이스 역할이 나열됩니다. 선택한 데이터베이스에 따라 로그인에 사용할 수 있는 역할 멤버 자격이 결정됩니다. 이 페이지에서는 다음과 같은 옵션을 선택할 수 있습니다.

이 로그인에 매핑된 사용자
이 로그인으로 액세스할 수 있는 데이터베이스를 선택합니다. 데이터베이스를 선택하면 유효한 데이터베이스 역할이 데이터베이스 역할 멤버 자격인 database_name 창에 표시됩니다.

Map
아래 나열되는 데이터베이스에 해당 로그인이 액세스하는 것을 허용합니다.

Database
사용 가능한 서버의 모든 데이터베이스를 나열합니다.

사용자
로그인에 매핑할 데이터베이스 사용자를 지정합니다. 기본적으로 데이터베이스 사용자는 로그인과 이름이 같습니다.

기본 스키마
사용자의 기본 스키마를 지정합니다. 사용자를 처음 만들 경우 기본 스키마는 dbo입니다. 아직 존재하지 않는 기본 스키마를 지정할 수 있습니다. Windows 그룹, 인증서 또는 비대칭 키에 매핑된 사용자에 대한 기본 스키마는 지정할 수 없습니다.

게스트 계정 활성화 대상: database_name
선택한 데이터베이스에 게스트 계정이 설정되어 있는지 여부를 나타내는 읽기 전용 특성입니다. 게스트 계정의 로그인 속성 대화 상자의 상태 페이지를 사용하여 게스트 계정을 사용하거나 사용하지 않도록 설정합니다.

데이터베이스 역할 멤버 자격: database_name
지정된 데이터베이스에서 사용자의 역할을 선택합니다. 모든 사용자는 모든 데이터베이스에서 public 역할의 멤버이며 제거할 수 없습니다. 데이터베이스 역할에 대한 자세한 내용은 데이터베이스 수준 역할을 참조하세요.

보안 개체

보안 개체 페이지에는 가능한 모든 보안 개체와 로그인에 부여할 수 있는 해당 보안 개체에 대한 권한이 나열됩니다. 이 페이지에서는 다음과 같은 옵션을 선택할 수 있습니다.

상단 표
사용 권한을 설정할 수 있는 하나 이상의 항목을 포함합니다. 위쪽 눈금에 표시되는 열은 보안 주체 또는 보안 개체에 따라 달라집니다.

위쪽 표에 항목을 추가하려면 다음을 수행합니다.

  1. 검색을 선택합니다.

  2. 개체 추가 대화 상자에서 특정 개체..., 선택한 유형의 모든 개체...또는 서버server_name옵션 중 하나를 선택합니다. 확인을 선택합니다.

    참고 항목

    서버server_name을 선택하면 상단 표에 해당 서버의 모든 보안 개체가 자동으로 채워집니다.

  3. 특정 개체...를 선택한 경우:

    1. 개체 선택 대화 상자의 다음 개체 유형 선택 아래에서 개체 유형...을 선택합니다.

    2. 개체 유형 선택 대화 상자에서 엔드포인트, 로그인, 서버, 가용성 그룹서버 역할의 개체 유형 중 일부 또는 모두를 선택합니다. 확인을 선택합니다.

    3. 선택할 개체 이름 입력(예제)에서 찾아보기...를 선택합니다.

    4. 개체 찾아보기 대화 상자에서 개체 유형 선택 대화 상자에서 선택한 유형에 대해 사용 가능한 모든 개체를 선택하고 확인을 선택합니다.

    5. 개체 선택 대화 상자에서 확인을 선택합니다.

  4. 선택한 유형의 모든 개체...를 선택한 경우 개체 유형 선택 대화 상자에서 엔드포인트, 로그인, 서버, 가용성 그룹서버 역할의 개체 유형 중 일부 또는 모두를 선택합니다. 확인을 선택합니다.

이름
약식 표에 추가된 각 보안 주체 또는 보안 개체의 이름입니다.

형식
각 항목의 형식을 설명합니다.

명시적 탭
상단 표에서 선택한 보안 개체에 대해 사용 가능한 사용 권한이 나열됩니다. 모든 명시적 권한에 대해 모든 옵션을 사용할 수 있는 것은 아닙니다.

권한
사용 권한의 이름입니다.

양도인
사용 권한을 부여한 보안 주체입니다.

허용
로그인에 이 사용 권한을 허용하려면 선택하고 이 권한을 철회하려면 지웁니다.

양도인 있음
나열된 권한에 대한 양도인 있음(WITH GRANT) 옵션의 상태를 반영합니다. 이 부분은 읽기 전용입니다. 이 사용 권한을 적용하려면 GRANT 문을 사용합니다.

거부
로그인에 대한 이 사용 권한을 거부하려면 선택합니다. 이 권한을 철회하려면 지웁니다.

상태

상태 페이지에는 선택한 SQL Server 로그인에서 구성할 수 있는 인증 및 권한 부여 옵션 중 일부가 나열됩니다.

이 페이지에서는 다음과 같은 옵션을 선택할 수 있습니다.

데이터베이스 엔진 연결 권한
이 설정을 사용하는 경우 선택한 로그인을 보안 개체에 대한 권한을 부여하거나 거부할 수 있는 보안 주체로 간주해야 합니다.

Grant를 선택하여 로그인에 CONNECT SQL 권한을 부여합니다. 로그인에 대한 CONNECT SQL을 거부하려면 Deny를 선택합니다.

로그인
이 설정을 사용할 때 사용자는 선택한 로그인을 테이블에 있는 레코드로 간주해야 합니다. 여기에 나열된 값의 변경 내용이 레코드에 적용됩니다.

사용하지 않도록 설정된 로그인은 레코드로 계속 존재합니다. 그러나 SQL Server에 연결하려고 하면 로그인이 인증되지 않습니다.

이 로그인을 사용하거나 사용하지 않도록 설정하려면 이 옵션을 선택합니다. 이 옵션은 ENABLE 또는 DISABLE 옵션과 함께 ALTER LOGIN 문을 사용합니다.

SQL Server 인증
로그인이 잠겨 있음 확인란은 선택한 로그인이 SQL Server 인증을 사용하여 연결하고 로그인이 잠겨 있는 경우에만 사용할 수 있습니다. 이 설정은 읽기 전용입니다. 잠긴 로그인의 잠금을 해제하려면 UNLOCK 옵션을 사용하여 ALTER LOGIN 을 실행합니다.

T-SQL에서 Windows 인증 사용하여 로그인 만들기

  1. 개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 선택합니다.

  3. 다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다.

    -- Create a login for SQL Server by specifying a server name and a Windows domain account name.
    
    CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS;
    GO
    

T-SQL에서 SQL Server 인증을 사용하여 로그인 만들기

  1. 개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 선택합니다.

  3. 다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다.

    -- Creates the user "shcooper" for SQL Server using the security credential "RestrictedFaculty"
    -- The user login starts with the password "Baz1nga," but that password must be changed after the first login.
    
    CREATE LOGIN shcooper
       WITH PASSWORD = 'Baz1nga' MUST_CHANGE,
       CREDENTIAL = RestrictedFaculty;
    GO
    

자세한 내용은 CREATE LOGIN(Transact-SQL)을 참조하세요.

추가 작업: 로그인을 만든 후에 수행할 단계

로그인을 만든 후 로그인은 SQL Server에 연결할 수 있지만 유용한 작업을 수행할 수 있는 충분한 권한이 없는 경우도 있습니다. 다음 목록에서는 일반적인 로그인 작업에 대한 링크를 제공합니다.