SQL Server 빅 데이터 클러스터의 보안 개념
적용 대상: SQL Server 2019(15.x)
중요
Microsoft SQL Server 2019 빅 데이터 클러스터 추가 기능이 사용 중지됩니다. SQL Server 2019 빅 데이터 클러스터에 대한 지원은 2025년 2월 28일에 종료됩니다. Software Assurance를 사용하는 SQL Server 2019의 모든 기존 사용자는 플랫폼에서 완전히 지원되며, 소프트웨어는 지원 종료 시점까지 SQL Server 누적 업데이트를 통해 계속 유지 관리됩니다. 자세한 내용은 공지 블로그 게시물 및 Microsoft SQL Server 플랫폼의 빅 데이터 옵션을 참조하세요.
이 문서에서는 주요 보안 관련 개념을 설명합니다.
SQL Server 빅 데이터 클러스터는 논리 정연하고 일관된 권한 부여 및 인증을 제공합니다. 빅 데이터 클러스터는 기존 도메인에 대해 AD 통합을 설정하는 완전히 자동화된 배포를 통해 AD(Active Directory)와 통합될 수 있습니다. AD 통합을 사용하여 빅 데이터 클러스터를 구성하면 모든 엔드포인트에서 통합 액세스를 위해 기존 ID 및 사용자 그룹을 활용할 수 있습니다. 또한 SQL Server에서 외부 테이블을 만든 후에는 AD 사용자와 그룹에 외부 테이블에 대한 액세스 권한을 부여하여 데이터 원본에 대한 액세스를 제어할 수 있으므로, 데이터 액세스 정책을 단일 위치에 중앙 집중화할 수 있습니다.
이 14분 분량의 비디오에서는 빅 데이터 클러스터 보안에 대한 개요를 확인할 수 있습니다.
인증
외부 클러스터 엔드포인트는 AD 인증을 지원합니다. AD ID를 사용하여 빅 데이터 클러스터에 인증합니다.
클러스터 엔드포인트
빅 데이터 클러스터에는 5개의 진입점이 있습니다
마스터 인스턴스 - 데이터베이스 도구 및 SSMS 또는 Azure Data Studio 등의 애플리케이션을 사용하여 클러스터의 SQL Server 마스터 인스턴스에 액세스하기 위한 TDS 엔드포인트입니다. Azure Data CLI(
azdata
)에서 HDFS 또는 SQL Server 명령을 사용하는 경우 도구는 작업에 따라 다른 엔드포인트에 연결됩니다.HDFS 파일에 액세스하는 게이트웨이, Spark(Knox) - webHDFS 및 Spark 등의 서비스에 액세스하기 위한 HTTPS 엔드포인트입니다.
클러스터 관리 서비스(컨트롤러) 엔드포인트 - 클러스터를 관리하기 위한 REST API를 공개하는 빅 데이터 클러스터 관리 서비스입니다. Azdata 도구에는 이 엔드포인트에 대한 연결이 필요합니다.
관리 프록시 - 로그 검색 대시보드 및 메트릭 대시보드에 액세스하기 위한 프록시입니다.
애플리케이션 프록시 - 빅 데이터 클러스터 내부에 배포된 애플리케이션을 관리하는 데 사용되는 엔드포인트입니다.
현재 외부에서 클러스터에 액세스하기 위해 추가 포트를 여는 옵션은 없습니다.
Authorization
클러스터 전체에서, Spark와 SQL Server에서 쿼리를 실행할 때 여러 구성 요소 간의 통합 보안을 통해 원래 사용자의 ID를 HDFS에 전달할 수 있습니다. 위에서 언급했듯이, 다양한 외부 클러스터 엔드포인트에서 AD 인증을 지원합니다.
클러스터에는 데이터 액세스를 관리하는 두 가지 수준의 권한 부여 검사가 있습니다. 빅 데이터 컨텍스트에서의 권한 부여는 개체에 대한 기존 SQL Server 권한을 사용하여 SQL Server에서, 그리고 사용자 ID를 특정 사용 권한과 연결하는 ACL(컨트롤 목록)이 있는 HDFS에서 수행됩니다.
보안 빅 데이터 클러스터는 SQL Server 및 HDFS/Spark 모두에서 인증 및 권한 부여 시나리오에 대한 일관되고 논리 정연한 지원을 의미합니다. 인증은 사용자 또는 서비스의 ID를 확인하고 본인임을 주장하는 사용자가 맞는지 확인하는 프로세스입니다. 권한 부여는 요청하는 사용자의 ID에 따라 특정 리소스에 대한 액세스를 허용하거나 거부하는 작업을 말합니다. 이 단계는 인증을 통해 사용자를 식별한 후에 수행됩니다.
빅 데이터 컨텍스트의 권한 부여는 사용자 ID를 특정 권한과 연결하는 ACL(액세스 제어 목록)을 통해 수행됩니다. HDFS는 서비스 API, HDFS 파일, 작업 실행에 대한 액세스를 제한하여 권한 부여를 지원합니다.
전송 데이터 암호화 및 기타 보안 메커니즘
클라이언트와 외부 엔드포인트 간의 통신뿐 아니라 클러스터 내의 구성 요소 간 통신에 대한 암호화는 인증서를 사용하여 TLS/SSL로 보호됩니다.
데이터 풀과 통신하는 SQL 마스터 인스턴스 등의 모든 SQL Server 간 통신은 SQL 로그인을 사용하여 보호됩니다.
Important
빅 데이터 클러스터는 etcd
를 사용하여 자격 증명을 저장합니다. 가장 좋은 방법은 Kubernetes 클러스터가 etcd
암호화를 사용하도록 구성되어 있는지 확인해야 합니다. 기본적으로 etcd
에 저장된 비밀은 암호화되지 않습니다. Kubernetes 설명서에서는 이 관리 작업에 대한 세부 정보인 https://kubernetes.io/docs/tasks/administer-cluster/kms-provider/ 및 https://kubernetes.io/docs/tasks/administer-cluster/encrypt-data/를 제공합니다.
저장 데이터 암호화
SQL Server 빅 데이터 클러스터 미사용 데이터 암호화 기능에서는 SQL Server 및 HDFS 구성 요소에 대한 애플리케이션 수준 암호화의 핵심 시나리오를 지원합니다. 포괄적인 기능 사용 가이드는 미사용 데이터 암호화 개념 및 구성 가이드 문서의 내용을 따릅니다.
Important
볼륨 암호화는 모든 SQL Server 빅 데이터 클러스터 배포에 권장됩니다. 미사용 데이터 암호화에 대한 포괄적인 접근 방식으로써 Kubernetes 클러스터에 구성된 고객 제공 스토리지 볼륨도 암호화되어야 합니다. 미사용 SQL Server 빅 데이터 클러스터 암호화 기능은 SQL Server 데이터 및 로그 파일과 HDFS 암호화 영역 지원의 애플리케이션 수준 암호화를 제공하는 추가 보안 계층입니다.
관리자 로그인
AD 모드에서 또는 기본 관리자 로그인만 사용하여 클러스터를 배포하도록 선택할 수 있습니다. 기본 관리자 로그인만 사용하는 것은 프로덕션 지원 보안 모드가 아니며, 제품 평가에 사용됩니다.
Active Directory 모드를 선택하더라도 클러스터 관리자에 대한 기본 로그인이 만들어집니다. 이 기능은 AD 연결이 중단된 경우에 대체 액세스를 제공합니다.
배포 시 이 기본 로그인에는 클러스터에서의 관리자 권한이 부여됩니다. 즉, 사용자는 SQL Server 마스터 인스턴스의 시스템 관리자이자 클러스터 컨트롤러의 관리자가 됩니다. Hadoop 구성 요소는 혼합 모드 인증을 지원하지 않으므로 기본 관리자 로그인을 사용하여 게이트웨이(Knox)에 인증할 수 없습니다.
배포 시 정의해야 하는 로그인 자격 증명은 다음과 같습니다.
클러스터 관리 사용자 이름:
AZDATA_USERNAME=<username>
클러스터 관리자 암호:
AZDATA_PASSWORD=<password>
참고 항목
비 AD 모드에서는 게이트웨이(Knox)를 인증하여 HDFS/Spark에 액세스하려면 위의 암호와 함께 사용자 이름을 사용해야 합니다. SQL Server 2019 CU5 이전에는 사용자 이름이 root
였습니다.
SQL Server 2019(15.x) CU 5부터 기본 인증을 사용하여 새 클러스터를 배포하는 경우 게이트웨이를 비롯한 모든 엔드포인트는 AZDATA_USERNAME
및 AZDATA_PASSWORD
를 사용합니다. CU 5로 업그레이드된 클러스터의 엔드포인트는 게이트웨이 엔드포인트에 연결하기 위해 사용자 이름으로 root
를 계속 사용합니다. Active Directory 인증을 사용하는 배포에는 이 변경 내용이 적용되지 않습니다. 릴리스 정보에서 게이트웨이 엔드포인트를 통해 서비스에 액세스하기 위한 자격 증명을 참조하세요.
키 버전 관리
SQL Server 2019 빅 데이터 클러스터는 암호화 영역을 사용하여 SQL Server 및 HDFS에 대한 키 버전 관리를 허용합니다. 자세한 내용은 빅 데이터 클러스터의 키 버전을 참조하세요.