[SC-900] Azure SQL Database 핵심 이론 정리 — 06/18

작성자: azure | 작성일: 2026년 06월 18일 | 조회: 2 | 좋아요: 1

🛡️
FUNDAMENTALS LEVEL

Microsoft Security, Compliance, and Identity Fundamentals (SC-900)

데이터베이스 핵심 이론 강의

🎓 TODAY'S LECTURE

Azure 데이터베이스 서비스의 신원 및 접근 관리 (Identity and Access Management for Azure Database Services)

Azure AD를 활용한 데이터베이스의 보안 접근 제어 및 사용자 인증 전략

데이터베이스는 기업의 핵심 자산이자 가장 민감한 정보가 저장되는 곳입니다. 따라서 누가, 어떻게, 어떤 권한으로 데이터베이스에 접근할 수 있는지를 관리하는 것은 보안의 최우선 과제입니다. Azure 데이터베이스 서비스는 강력한 신원 및 접근 관리 (Identity and Access Management, IAM) 기능을 제공하여, 중앙 집중식 사용자 인증 및 세분화된 권한 제어를 통해 데이터 무결성과 기밀성을 보장합니다. 본 강의에서는 Azure Active Directory (Azure AD)를 활용한 데이터베이스 접근 제어의 핵심 전략들을 살펴보겠습니다.

💡 KEY CONCEPTS

1 Azure AD를 통한 데이터베이스 인증 (Azure AD Authentication for Databases)

Azure AD는 클라우드 기반의 통합 신원 및 접근 관리 서비스로, Azure SQL Database, Azure Cosmos DB, Azure Database for MySQL/PostgreSQL 등 다양한 Azure 데이터베이스 서비스에 대한 인증을 제공합니다. 이를 통해 사용자 계정을 중앙에서 관리하고, 다단계 인증 (MFA), 조건부 접근 (Conditional Access) 정책 등을 적용하여 보안을 강화할 수 있습니다. 데이터베이스별로 별도의 사용자 계정과 암호를 관리할 필요 없이 Azure AD의 보안 주체 (Security Principal)를 사용하여 접근을 제어합니다.

2 최소 권한 원칙 (Principle of Least Privilege) 및 역할 기반 접근 제어 (RBAC)

최소 권한 원칙은 사용자나 서비스가 작업을 수행하는 데 필요한 최소한의 권한만을 부여해야 한다는 보안 원칙입니다. Azure에서는 RBAC (Role-Based Access Control)를 통해 리소스 그룹, 구독, 특정 리소스 등 다양한 범위에서 세분화된 권한을 부여할 수 있습니다. 데이터베이스 서비스에서는 Azure RBAC가 서버 및 데이터베이스 리소스에 대한 관리 권한을 제어하고, 데이터베이스 내부에서는 SQL 권한 부여 모델을 사용하여 특정 테이블, 뷰, 프로시저 등에 대한 접근 권한을 제어합니다.

3 관리 ID (Managed Identities)를 통한 안전한 서비스 접근

Azure 리소스 (예: Azure App Service, Azure Functions, Azure 가상 머신 (Virtual Machine))가 Azure 데이터베이스에 접근해야 할 때, 연결 문자열에 직접 자격 증명을 저장하는 대신 관리 ID를 사용할 수 있습니다. 관리 ID는 Azure AD에서 자동으로 관리되는 ID로, Azure 리소스에 할당되어 Azure AD 인증을 지원하는 서비스에 안전하게 접근할 수 있게 합니다. 이를 통해 자격 증명 관리 부담을 줄이고, 보안 노출 위험을 최소화할 수 있습니다.

🛠️ REAL-WORLD SCENARIO

전자상거래 기업은 Azure SQL Database에 고객 주문 및 상품 정보를 저장하는 웹 애플리케이션을 운영하고 있습니다. 이 애플리케이션은 Azure App Service에 배포되어 있으며, 데이터베이스 관리팀, 개발팀, 그리고 애플리케이션 자체의 접근 권한을 엄격하게 분리하고자 합니다.

[모범 사례 (Best Practice) 적용]
1. **애플리케이션 접근**: Azure App Service에 시스템 할당 관리 ID (System-assigned Managed Identity)를 활성화하고, 이 관리 ID에 Azure SQL Database의 `db_datareader` 및 `db_datawriter` 역할(Role)을 부여합니다. 이로써 애플리케이션은 연결 문자열에 사용자 이름과 암호를 하드코딩할 필요 없이 Azure AD 인증을 통해 데이터베이스에 안전하게 접근합니다.
2. **데이터베이스 관리팀 접근**: 데이터베이스 관리팀은 Azure AD 그룹으로 구성하고, 이 그룹에 Azure SQL Database 서버에 대한 `SQL DB Contributor` Azure RBAC 역할을 할당합니다. 또한, Azure SQL Database 내에서는 `sysadmin` 역할 대신 `db_owner` 역할이나 필요한 관리 권한만을 부여하는 커스텀 역할(Custom Role)을 Azure AD 그룹에 매핑하여 최소 권한 원칙을 준수합니다.
3. **개발팀 접근**: 개발팀은 Azure AD 그룹으로 구성하고, 이 그룹에 개발 환경의 데이터베이스에 대한 `db_datareader` 및 `db_datawriter` 역할만 부여하며, 프로덕션 환경 데이터베이스에는 읽기 전용 (`db_datareader`) 접근 권한만 부여하거나 접근을 제한합니다. 또한, 개발팀 멤버는 Azure AD를 통한 다단계 인증 (MFA)을 필수로 설정합니다.
4. **감사자 접근**: 보안 감사팀은 Azure AD 그룹으로 구성하고, 이 그룹에 모든 데이터베이스에 대한 읽기 전용 (`db_datareader`) 권한과 감사 로그 (Audit Logs) 조회 권한만을 부여합니다.

이와 같은 구성으로, 모든 데이터베이스 접근은 Azure AD를 통해 중앙 집중식으로 관리되며, 각 주체는 자신의 역할에 필요한 최소한의 권한만을 가지게 되어 보안 취약점을 크게 줄일 수 있습니다.

🎯 EXAM TIPS
📌

Azure AD 인증의 장점: 데이터베이스별 로컬 계정 관리의 단점과 Azure AD 인증 (중앙 관리, MFA, 조건부 접근, 암호 회전 불필요)의 장점을 명확히 구분해야 합니다.

📌

관리 ID (Managed Identities)의 활용: Azure 서비스 (App Service, Functions, VM)가 데이터베이스에 안전하게 접근하는 메커니즘으로 관리 ID가 어떻게 사용되는지, 그리고 연결 문자열에 자격 증명을 저장하는 방식과 비교하여 그 이점을 이해해야 합니다.

📌

권한 부여 계층: Azure RBAC (리소스 관리 권한)와 데이터베이스 내 권한 (데이터 접근 권한) 간의 차이점 및 상호작용 방식 (예: Azure RBAC를 통해 서버 관리자 지정 후, 그 관리자가 데이터베이스 내 사용자 및 권한 설정)을 숙지해야 합니다.

🏷️ 관련 Azure 서비스

Azure SQL DatabaseAzure Cosmos DBAzure Database for MySQLAzure Database for PostgreSQLAzure Active Directory (Azure AD)Azure Managed Identities

📚 Azure 자격증 합격을 위한 데일리 이론 강의

매일 새로운 강의 노트가 업데이트됩니다 | 더 많은 자료 보기 →