Azure SQL Database에서 DB 전용 사용자 계정 만들기

  • 3 minutes to read

Azure SQL Database에서는 하나의 SQL Server 인스턴스 아래에 여러 개의 데이터베이스를 만들고, 각 데이터베이스마다 독립적인 사용자 계정을 설정할 수 있습니다. 본 문서에서는 Hawaso라는 Azure SQL ServerVisualAcademy, DotNetKorea, MemoEngine이라는 세 개의 데이터베이스를 생성하고, 각 DB 전용 사용자 계정을 생성 및 구성하는 전체 절차를 소개합니다.


🔧 사전 준비

  • Azure SQL Server 인스턴스: hawaso.database.windows.net
  • 서버 관리자 계정: sqladmin (예시)
  • SSMS (SQL Server Management Studio) 또는 Azure Data Studio

1. 데이터베이스 생성

Azure Portal 또는 SSMS에서 아래 3개의 데이터베이스를 생성합니다.

-- master DB에 연결된 상태에서 실행
CREATE DATABASE VisualAcademy;
CREATE DATABASE DotNetKorea;
CREATE DATABASE MemoEngine;

2. 각 DB에 전용 사용자 계정 생성

Azure SQL Database에서는 서버 수준 로그인 없이도 데이터베이스 자체에 직접 사용자 계정을 만들 수 있습니다. 이를 Contained Database User라고 합니다.

🔹 VisualAcademy DB에 user_visualacademy 생성

-- VisualAcademy DB에 연결
USE VisualAcademy;
GO

-- 사용자 생성
CREATE USER [user_visualacademy] WITH PASSWORD = 'P@ssword123!';
GO

-- 권한 부여
ALTER ROLE db_datareader ADD MEMBER [user_visualacademy];
ALTER ROLE db_datawriter ADD MEMBER [user_visualacademy];

🔹 DotNetKorea DB에 user_dotnetkorea 생성

USE DotNetKorea;
GO

CREATE USER [user_dotnetkorea] WITH PASSWORD = 'P@ssword123!';
GO

ALTER ROLE db_datareader ADD MEMBER [user_dotnetkorea];
ALTER ROLE db_datawriter ADD MEMBER [user_dotnetkorea];

🔹 MemoEngine DB에 user_memoengine 생성

USE MemoEngine;
GO

CREATE USER [user_memoengine] WITH PASSWORD = 'P@ssword123!';
GO

ALTER ROLE db_datareader ADD MEMBER [user_memoengine];
ALTER ROLE db_datawriter ADD MEMBER [user_memoengine];

🔐 비밀번호는 반드시 보안 규칙을 따르며, 실제 운영 환경에서는 더 강력한 암호를 설정해야 합니다.


3. 접속 방법 안내

사용자가 SSMS 또는 애플리케이션에서 각 DB에 연결할 때는 다음과 같이 설정합니다:

데이터베이스 사용자 ID 서버 이름 암호 연결할 DB
VisualAcademy user_visualacademy hawaso.database.windows.net P@ssword123! VisualAcademy
DotNetKorea user_dotnetkorea hawaso.database.windows.net P@ssword123! DotNetKorea
MemoEngine user_memoengine hawaso.database.windows.net P@ssword123! MemoEngine
  • 서버 관리자 계정(sqladmin) 은 모든 DB에 접근할 수 있음
  • 전용 사용자 계정(user_) 은 오직 해당 DB에만 접근 가능

4. 추가 권한 부여 (선택 사항)

예: 데이터베이스 소유자 권한 부여

ALTER ROLE db_owner ADD MEMBER [user_visualacademy];

운영 환경에서는 최소 권한 원칙을 지키는 것이 보안상 바람직합니다.


✅ 정리

  • hawaso.database.windows.net 아래에 VisualAcademy, DotNetKorea, MemoEngine 3개 DB 생성
  • 각 DB에 user_ 접두어를 가진 전용 사용자 생성
  • 사용자별로 db_datareader, db_datawriter 권한 부여
  • 전용 계정은 오직 해당 DB에만 접근 가능

이 방식은 하나의 Azure SQL Server를 공유하면서도 각 애플리케이션이나 서비스가 자신만의 DB를 갖고 독립적으로 접근하도록 설정할 수 있어, 보안성과 구조적 분리 모두를 만족시킬 수 있습니다.


📁 전체 SQL 스크립트 (요약본)

-- [master DB 접속 후 실행]
CREATE DATABASE VisualAcademy;
CREATE DATABASE DotNetKorea;
CREATE DATABASE MemoEngine;

-- [각 DB 접속 후 실행 예시: VisualAcademy]
USE VisualAcademy;
CREATE USER [user_visualacademy] WITH PASSWORD = 'P@ssword123!';
ALTER ROLE db_datareader ADD MEMBER [user_visualacademy];
ALTER ROLE db_datawriter ADD MEMBER [user_visualacademy];
더 깊이 공부하고 싶다면
DevLec에서는 실무 중심의 C#, .NET, ASP.NET Core, Blazor, 데이터 액세스 강좌를 단계별로 제공합니다. 현재 수강 가능한 강좌 외에도 더 많은 과정이 준비되어 있습니다.
DevLec.com에서 자세한 커리큘럼을 확인해 보세요.
DevLec 공식 강의
C# Programming
C# 프로그래밍 입문
프로그래밍을 처음 시작하는 입문자를 위한 C# 기본기 완성 과정입니다.
ASP.NET Core 10.0
ASP.NET Core 10.0 시작하기 MVC Fundamentals Part 1 MVC Fundamentals Part 2
웹 애플리케이션의 구조와 MVC 패턴을 ASP.NET Core로 실습하며 익힐 수 있습니다.
Blazor Server
풀스택 웹개발자 과정 Part 1 풀스택 웹개발자 과정 Part 2 풀스택 웹개발자 과정 Part 3
실무에서 바로 활용 가능한 Blazor Server 기반 관리자·포털 프로젝트를 만들어 봅니다.
Data & APIs
Entity Framework Core 시작하기 ADO.NET Fundamentals Blazor Server Fundamentals Minimal APIs
데이터 액세스와 Web API를 함께 이해하면 실무 .NET 백엔드 개발에 큰 도움이 됩니다.
VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com