보안 주체에게 사용 권한 부여Grant a Permission to a Principal

이 항목에서는 SQL Server 2017SQL Server 2017 또는 SQL Server Management StudioSQL Server Management Studio 을 사용하여 Transact-SQLTransact-SQL에서 보안 주체에 권한을 부여하는 방법에 대해 설명합니다.This topic describes how to grant permission to a principal in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

항목 내용In This Topic

시작하기 전 주의 사항 Before You Begin

제한 사항 Limitations and Restrictions

사용 권한을 보다 쉽게 관리할 수 있도록 다음과 같은 최선의 구현 방법을 고려하세요.Consider the following best practices that can make managing permissions easier.

  • 개별 로그인 또는 사용자 대신 역할에 사용 권한을 부여합니다.Grant permission to roles, instead of individual logins or users. 사용자가 바뀌는 경우 떠나는 사용자를 역할에서 제거하고 새 사용자를 역할에 추가합니다.When one individual is replaced by another, remove the departing individual from the role and add the new individual to the role. 새로운 사용자는 해당 역할에 연결된 많은 사용 권한을 자동으로 갖게 됩니다.The many permissions that might be associated with the role will automatically be available to the new individual. 조직 내 여러 사람에게 동일한 사용 권한이 필요한 경우 각 사람을 역할에 추가함으로써 동일한 사용 권한을 부여할 수 있습니다.If several people in an organization require the same permissions, adding each of them to the role will grant them the same permissions.

  • 유사한 보안 개체(테이블, 뷰 및 프로시저)를 스키마가 소유하도록 구성한 후 해당 스키마에 대한 사용 권한을 부여합니다.Configure similar securables (tables, views, and procedures) to be owned by a schema, then grant permissions to the schema. 예를 들어 급여 스키마는 여러 테이블, 뷰 및 저장 프로시저를 소유할 수 있습니다.For example, the payroll schema might own several tables, views, and stored procedures. 스키마에 액세스 권한을 부여하면 급여 기능을 수행하는 데 필요한 모든 사용 권한을 동시에 부여할 수 있습니다.By granting access to the schema, all the necessary permissions to perform the payroll function can be granted at the same time. 사용 권한을 부여받을 수 있는 보안 개체에 대한 자세한 내용은 Securables를 참조하세요.For more information about what securables can be granted permissions, see Securables.

보안 Security

사용 권한 Permissions

사용 권한을 부여한 사용자 또는 AS 옵션으로 지정한 보안 주체에게 GRANT OPTION을 통한 사용 권한이 있거나 부여할 사용 권한을 포함하는 상위 사용 권한이 있어야 합니다.The grantor (or the principal specified with the AS option) must have either the permission itself with GRANT OPTION or a higher permission that implies the permission being granted. sysadmin 고정 서버 역할의 멤버는 모든 사용 권한을 부여할 수 있습니다.Members of the sysadmin fixed server role can grant any permission.

SQL Server Management Studio 사용 Using SQL Server Management Studio

보안 주체에 사용 권한을 부여하려면To grant permission to a principal

  1. 개체 탐색기에서 사용 권한을 부여하려는 개체가 포함된 데이터베이스를 확장합니다.In Object Explorer, expand the database that contains the object to which you want to grant permissions.

    참고

    이러한 단계는 특히 저장 프로시저에 대한 권한 부여를 처리하지만 비슷한 단계에서도 다른 보안 개체뿐만 아니라 테이블, 뷰, 함수 및 어셈블리에 사용 권한을 추가할 수 있습니다.These steps deal specifically with granting permissions to a stored procedure, but you can use similar steps to add permissions to tables, views, functions, and assemblies, as well as other securables. 자세한 내용은 GRANT(Transact-SQL)를 참조하세요.For more information, see GRANT (Transact-SQL)

  2. 프로그래밍 기능 폴더를 확장합니다.Expand the Programmability folder.

  3. 저장 프로시저 폴더를 확장합니다.Expand the Stored Procedures folder.

  4. 저장 프로시저를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.Right-click a stored procedure and select Properties.

  5. 저장 프로시저 속성 –stored_procedure_name 대화 상자에서 페이지를 선택하고 사용 권한을 선택합니다.In the Stored Procedure Properties –stored_procedure_name dialog box, under select a page, select Permissions. 이 페이지에서는 저장 프로시저에 사용자 또는 역할을 추가하고 해당 사용자 또는 역할이 포함할 사용 권한을 지정할 수 있습니다.Use this page to add users or roles to the stored procedure and specify the permissions those users or roles have.

  6. 완료되었으면 확인을 클릭합니다.When finished, click OK.

Transact-SQL 사용 Using Transact-SQL

보안 주체에 사용 권한을 부여하려면To grant permission to a principal

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute.

    -- Grants EXECUTE permission on stored procedure HumanResources.uspUpdateEmployeeHireInfo to an application role called Recruiting11.   
    USE AdventureWorks2012;  
    GO  
    GRANT EXECUTE ON OBJECT::HumanResources.uspUpdateEmployeeHireInfo  
        TO Recruiting11;  
    GO  
    

    자세한 내용은 GRANT(Transact-SQL)GRANT 개체 사용 권한(Transact-SQL)을 참조하세요.For more information, see GRANT (Transact-SQL) and GRANT Object Permissions (Transact-SQL).

참고 항목See Also

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