SQL 로그인 및 그룹 마이그레이션

완료됨

SQL Server 데이터베이스를 Azure SQL로 원활하고 안전하게 전환하려면 보안 정보의 마이그레이션을 이해하고 효과적으로 관리하는 것이 필수적입니다.

SQL 로그인 및 그룹을 마이그레이션할 시기 결정

다양한 사업부에 서비스를 제공하는 상당한 온-프레미스 SQL Server 인프라가 있는 대규모 조직을 상상해 보세요. 각 사업부에는 SQL 로그인, 사용자 역할, 특정 요구 사항에 맞게 사용자 지정된 고유의 세트가 있습니다. 조직은 이러한 데이터베이스를 Azure SQL Database로 마이그레이션하여 클라우드의 확장성 혜택을 사용하기로 결정합니다.

이 시나리오에서는 데이터베이스 마이그레이션 전에 로그인을 미리 마이그레이션하면 테스트 단계에 불필요한 복잡성이 발생할 수 있습니다.

데이터베이스 마이그레이션 프로젝트가 끝날 때 로그인을 마이그레이션하면 테스트를 특히 복잡한 시나리오에서 쉽게 할 수 있습니다. 로그인이 미리 마이그레이션되는 경우 데이터베이스 스키마가 발전하여 테스트가 지연될 수 있습니다. 로그인 마이그레이션을 대기하면 특히 데이터 보호에 테이블 종속 보안이 중요한 경우.보안 구성이 최종 구조에 맞게 조정되어 마이그레이션 프로세스를 간소화할 수 있습니다.

당면 과제 설명
복잡한 권한 구조 나중에 로그인을 마이그레이션하면 마이그레이션 중에 데이터베이스 구조가 발전함에 따라 사용 권한을 조정할 수 있습니다.
테스트 지연 로그인을 조기에 마이그레이션하면 테스트 속도가 느려지고 스키마 변경과 함께 보안 유효성 검사가 복잡해질 수 있습니다.
테이블 종속 보안 로그인 마이그레이션을 지연하면 마이그레이션 중에 보안 구성이 변경되는 경우 최종 데이터베이스 구조와 일치하도록 조정할 수 있습니다.

이 시나리오에서 이 방법을 사용하면 보안 조치가 확정된 데이터베이스 구조에 완벽하게 부합하도록 하고, 잠재적인 복잡성을 줄이고, 마이그레이션 프로젝트를 보다 쉽게 관리할 수 있도록 하는 데 집중할 수 있습니다.

Azure 마이그레이션 확장 사용

마이그레이션 후 작업의 일환으로 Azure Data Studio의 Azure 마이그레이션 확장을 사용하여 온-프레미스 SQL Server에서 Azure SQL 대상으로 로그인과 서버 역할을 마이그레이션 할 수 있습니다. 이 로그인 마이그레이션 환경은 해당 사용자 매핑과 로그인 동기화, 서버 권한 및 서버 역할 복제 등의 수동 작업을 자동화합니다.

현재 마이그레이션 확장은 Azure VM 대상에서 Azure SQL Managed Instance 또는 SQL Server만 지원합니다.

  • Azure SQL Managed Instance - Windows 계정 및 SQL 로그인 모두.
  • Azure VM의 SQL Server - SQL 로그인만

데이터베이스 마이그레이션을 완료하지 않았고 로그인 마이그레이션 프로세스가 시작된 경우 로그인 및 서버 역할의 마이그레이션은 계속 수행되지만 로그인/역할 매핑은 올바르게 수행되지 않습니다. 이 로그인 마이그레이션 프로세스는 로그인을 연결된 사용자 매핑과 동기화하고 서버 권한 및 역할을 복제하는 등 수동 작업을 자동화합니다.

로그인 마이그레이션 프로세스를 시작하는 데는 Azure Data Studio용 Azure SQL 마이그레이션 확장, PowerShell 또는 Azure CLI를 사용할 수 있습니다.

Azure Data Studio에서 마이그레이션 확장을 사용하여 로그인을 마이그레이션하려면 다음 단계를 수행합니다.

  1. Azure Data Studio에서 Azure SQL 마이그레이션 확장을 시작하고 SQL Server 로그인 마이그레이션 마법사를 시작합니다.

    Azure Data Studio의 새 로그인 마이그레이션 옵션을 보여 주는 스크린샷.

  2. 1단계: Azure SQL 대상에서 Azure SQL 대상에 연결합니다.

  3. 2단계: 마이그레이션할 로그인 선택에서 원본 SQL Server 인스턴스의 로그인을 선택합니다.

  4. 3단계: 마이그레이션 상태에서 로그인 마이그레이션 프로세스를 모니터링합니다. 로그인 마이그레이션이 성공적으로 완료되면(또는 오류가 있는 경우) 페이지에 관련 업데이트가 표시됩니다.

    Azure Data Studio의 로그인 마이그레이션 상태를 보여 주는 스크린샷.

DMA 사용

로그인 마이그레이션의 일환으로 Data Migration Assistant는 원본 SQL Server 있는 대상 SQL Server의 보안 개체에 권한을 할당합니다. 대상 SQL Server에 로그인이 이미 있는 경우 Data Migration Assistant는 보안 개체에 할당된 권한만 마이그레이션하고 전체 로그인을 다시 만들지 않습니다. Data Migration Assistant는 대상 서버에 로그인이 이미 있는 경우 데이터베이스 사용자에게 로그인을 매핑하기 위해 최선을 다합니다.

Data Migration Assistant는 현재 지원되지 않습니다.

  • 독립 실행형 보안 인증서와 연결된 로그인(인증서에 매핑된 로그인)
  • 독립 실행형 비대칭 키(비대칭 키에 매핑된 로그인)
  • 자격 증명에 매핑된 로그인.
  • 기본적으로 Data Migration Assistant는 마이그레이션할 모든 정규화된 로그인을 선택합니다. 필요에 따라 마이그레이션할 특정 로그인을 선택할 수 있습니다1.

참고 항목

Database Migration Assistant는 사용 가능한 유용한 도구이지만 대규모 마이그레이션 및 전반적인 환경 향상을 위해서는 Azure Database Migration Service를 사용하는 것이 좋습니다. 이는 Azure Data Studio용 Azure SQL 마이그레이션 확장으로서 제공되거나 Azure Portal를 통해 또는 Azure PowerShell 및 Azure CLI를 통해 사용할 수 있습니다.

MoveLogins 스크립트

MoveLogins 스크립트는 온-프레미스 SQL Server에서 Azure SQL Database 또는 기타 PaaS 제품으로 로그인 정보를 전송하는 데 도움이 됩니다.

DMA(Data Migration Assistant)에는 보안 정보를 전송하는 기능이 있으며 권한이 제대로 전송되도록 전체 종속성 그래프를 수행하지만, MoveLogins 스크립트는 추가 옵션을 제공합니다. 사용자에 대한 Active Directory 조회를 활성화하여 현재 DMA에서 지원되지 않는 기능인 UPN(사용자 계정 이름)을 가져올 수 있습니다.

PowerShell로 작성된 스크립트는 대상 SQL 환경에 적용하여 로그인, 데이터베이스 사용자, 역할, 권한을 전송할 수 있는 T-SQL 스크립트를 생성합니다. 대상 환경에서는 명령을 실행하지 않습니다. 생성된 스크립트 출력을 대상 환경에 적용하기 전에 신중하게 검토해야 합니다.

스크립트는 Azure SQL Database를 사용하는지 또는 Azure SQL Managed Instance를 사용하는지에 따라 다른 결과를 생성합니다. Azure SQL Database에서는 Microsoft Entra 로그인 및 관련 데이터베이스 사용자를 만들 수 없습니다. 대신 Microsoft Entra 사용자가 데이터베이스 수준에서 만들어집니다. Azure SQL Managed Instance의 경우, 서버 수준 로그인 및 데이터베이스 사용자가 있는 온-프레미스 SQL Server와 비슷합니다.

참고 항목

로그인을 전송하려면 Azure 마이그레이션 확장과 같은 전용 마이그레이션 도구로 시작하는 것이 좋습니다. 이러한 권장 도구에 문제가 발생하는 경우 MoveLogins 스크립트 사용과 같은 대체 방법을 고려할 수 있습니다.