다음을 통해 공유


보안: 제한된 액세스 데이터베이스 계정 만들기

Note참고

이 정보는 SQL Server 인증을 사용하는 데이터베이스 구성에만 적용됩니다. Windows 인증은 통합 보안을 사용하므로 제한된 액세스 데이터베이스 계정이 필요하지 않습니다.

웹 응용 프로그램에서 데이터베이스에 액세스할 때 보안 문제를 해결해야 합니다. 특히, 데이터베이스에 액세스하는 데 사용되는 계정의 액세스 범위를 웹 응용 프로그램에서 반드시 필요한 기능으로만 제한하는 것이 중요합니다.

예를 들어, Northwind 데이터베이스는 Crystal Reports 설명서 자습서에서 Customers 테이블과 Orders 테이블을 기반으로 하는 보고서를 표시하는 데 사용됩니다. 따라서 Northwind 데이터베이스에 연결하는 데 필요한 제한된 액세스 데이터베이스 계정에는 두 가지 권한만 필요합니다.

  • Northwind 데이터베이스의 Customers 및 Orders 테이블에 액세스하는 권한
  • 두 테이블에서 레코드를 선택(SELECT)하는 권한(INSERT, UPDATE, DELETE 제외)

이 부분에서는 제한된 액세스 데이터베이스 계정을 만드는 방법에 대해 설명합니다.

Note참고

이 제한된 액세스 데이터베이스 계정을 만들어도 모든 권한을 가진 'sa' 시스템 관리자 계정을 사용하여 이 데이터베이스에 액세스하는 것은 방지하지 못합니다. 대신 웹 응용 프로그램에서만 사용하는 보조 계정을 만듭니다.

이러한 지침은 MSDE 및 SQL Server 모두에 동일하게 적용됩니다.

  1. 다음 명령을 입력하여 MSDE 또는 SQL Server에 로그온합니다.

    • [password] 자리 표시자 부분에는 시스템 관리자 암호를 사용합니다.
    • [serverName] 자리 표시자 부분에는 데이터베이스 서버 이름을 사용합니다.
<!-- end list -->

    osql -U sa -P [password] -S [serverName]
  1. USE master를 입력하여 마스터 데이터베이스로 전환하고 다음 줄에 GO를 입력한 다음 Enter 키를 누릅니다.

    USE master
    GO
    
  2. 데이터베이스 스크립트 "sp_addlogin"을 실행하고 제한된 액세스 데이터베이스 계정에 사용할 이름, 암호 및 적용되는 데이터베이스를 명령줄 인수로 포함합니다.

명령줄 인수에 다음 값을 사용자 지정합니다.

  - "limitedPermissionAccount"와 같은 제한된 액세스 데이터베이스 계정 이름을 만듭니다.
  - \[new\_password\] 자리 표시자 부분에 제한된 액세스 계정이 사용할 새 암호를 만듭니다. 일부 자습서의 경우 암호가 필요할 수 있으므로 이 암호를 적어둡니다.

<!-- end list -->

    sp_addlogin 'limitedPermissionAccount','[new_password]','Northwind'
    GO
  1. Northwind 데이터베이스로 전환합니다.

    USE Northwind
    GO
    
  2. 데이터베이스 스크립트 "sp_grantdbaccess"를 실행하고 새로 만든 제한된 액세스 데이터베이스 계정 이름을 전달합니다.

    sp_grantdbaccess 'limitedPermissionAccount'
    GO
    
  3. Customers 테이블의 경우 두 테이블 Customers 및 Orders에 대해 새로 만든 제한된 액세스 데이터베이스 계정에 SELECT 권한을 부여합니다.

    GRANT SELECT ON Customers
    TO limitedPermissionAccount
    GO
    GRANT SELECT ON Orders
    TO limitedPermissionAccount
    GO
    
  4. exit를 입력하여 osql 명령줄을 종료한 다음 Enter 키를 누릅니다.

    exit
    

    제한된 액세스 계정이 만들어졌으며 Northwind 데이터베이스의 Customers 및 Orders 테이블에 대한 SELECT 액세스 권한만 부여되었습니다.

이렇게 하면 Northwind 데이터베이스의 Customers 테이블에 연결하는 제한된 액세스 계정 설정이 완료됩니다. 이제 SQL 인증을 사용하여 Northwind 데이터베이스에 액세스하는 다음 자습서를 만들 준비가 되었습니다.