Azure SQL Database에서 DB 전용 사용자 계정 만들기
Azure SQL Database에서는 하나의 SQL Server 인스턴스 아래에 여러 개의 데이터베이스를 만들고, 각 데이터베이스마다 독립적인 사용자 계정을 설정할 수 있습니다. 본 문서에서는 Hawaso
라는 Azure SQL Server에 VisualAcademy
, 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];
추천 자료: ASP.NET Core 인증 및 권한 부여
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!