다음을 통해 공유


Azure-SSIS Integration Runtime에 대한 Microsoft Entra 인증 사용

적용 대상: Azure Data Factory Azure Synapse Analytics(미리 보기)

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

이 문서에서는 ADF(Azure Data Factory) 또는 Azure Synapse에 대해 할당된 시스템/사용자 할당 관리 ID를 사용하여 Microsoft Entra 인증을 사용하도록 설정하고 기존 인증 방법(예: SQL 인증) 대신 이를 사용하여 다음을 수행하는 방법을 보여 줍니다.

  • 사용자를 대신하여 Azure SQL Database 서버/Managed Instance에서 SSISDB(SSIS 카탈로그 데이터베이스)를 프로비저닝하는 Azure-SSIS IR(통합 런타임)을 만듭니다.

  • Azure-SSIS IR에서 SSIS 패키지를 실행할 때 다양한 Azure 리소스에 연결합니다.

ADF의 관리 ID에 관한 자세한 내용은 Data Factory 및 Azure Synapse의 관리 ID를 참조하세요.

참고 항목

  • 이 시나리오에서 ADF에 대해 지정된 시스템이/사용자가 할당한 관리 ID를 사용하는 Microsoft Entra 인증은 Azure-SSIS IR의 프로비저닝 및 후속 시작 작업에만 사용되며 Azure-SSIS IR은 다시 SSISDB 프로비저닝 및/또는 연결을 수행하게 됩니다. SSIS 패키지 실행의 경우 Azure-SSIS IR은 SSISDB 프로비저닝 중에 만들어지는 완전 관리형 계정(AzureIntegrationServiceDboAzureIntegrationServiceWorker)과 함께 SQL 인증을 사용하여 패키지를 가져오기 위해 SSISDB에 계속 연결합니다.

  • 연결 관리자 사용자 할당 관리 ID 기능(예: OLEDB 연결 관리자)을 사용하려면 연결 관리자에서 사용되는 것과 동일한 사용자 할당 관리 ID를 사용하여 SSIS IR을 프로비전해야 합니다.

  • SQL 인증을 사용하여 Azure-SSIS IR을 이미 만들었다면, 이번에는 PowerShell을 통해 Microsoft Entra 인증을 사용하도록 IR을 재구성할 수 없습니다. 단, Azure Portal/ADF 앱에서는 할 수 있습니다.

참고 항목

Azure Az PowerShell 모듈을 사용하여 Azure와 상호 작용하는 것이 좋습니다. 시작하려면 Azure PowerShell 설치를 참조하세요. Az PowerShell 모듈로 마이그레이션하는 방법에 대한 자세한 내용은 Azure PowerShell을 AzureRM에서 Azure로 마이그레이션을 참조하세요.

Azure SQL Database에서 Microsoft Entra 인증 사용

Azure SQL Database는 Microsoft Entra 사용자를 통한 데이터베이스 만들기를 지원합니다. 먼저 ADF에 대해 할당된 시스템/사용자 할당 관리 ID를 멤버로 사용하여 Microsoft Entra 그룹을 만들어야 합니다. 다음으로 Microsoft Entra 사용자를 Azure SQL Database 서버의 Active Directory 관리자로 설정한 다음 해당 사용자를 사용하여 SSMS(SQL Server Management Studio)에 연결해야 합니다. 마지막으로, Azure-SSIS IR에서 ADF에 대한 지정된 시스템/사용자 할당 관리 ID를 사용하여 사용자 대신 SSISDB를 만들도록 Microsoft Entra 그룹을 나타내는 포함된 사용자를 만들어야 합니다.

ADF에 대해 할당된 시스템/사용자 할당 관리 ID를 멤버로 사용하여 Microsoft Entra 그룹을 만듭니다.

기존 Microsoft Entra 그룹을 사용하거나 Azure AD PowerShell을 사용하여 새 그룹을 만들 수 있습니다.

  1. Azure AD PowerShell 모듈을 설치합니다.

  2. Connect-AzureAD을 사용하여 로그인하고, 다음 cmdlet을 실행하여 그룹을 만들어서 이를 변수에 저장합니다.

    $Group = New-AzureADGroup -DisplayName "SSISIrGroup" `
                              -MailEnabled $false `
                              -SecurityEnabled $true `
                              -MailNickName "NotSet"
    

    참고 항목

    Azure AD와 MSOnline PowerShell 모듈은 2024년 3월 30일부터 더 이상 사용되지 않습니다. 자세히 알아보려면 사용 중단 업데이트를 참조하세요. 이 날짜 이후에는 이러한 모듈에 대한 지원이 Microsoft Graph PowerShell SDK 및 보안 수정 사항에 대한 마이그레이션 지원으로 제한됩니다. 사용되지 않는 모듈은 2025년 3월 30일까지 계속 작동합니다.

    Microsoft Graph PowerShell로 마이그레이션하여 Microsoft Entra ID(이전의 Azure AD)와 상호 작용하는 것이 좋습니다. 일반적인 마이그레이션 관련 질문은 마이그레이션 FAQ를 참조하세요. 참고: MSOnline 버전 1.0.x는 2024년 6월 30일 이후 중단될 수 있습니다.

    결과는 다음 예제와 같으며 변수 값을 표시합니다.

    $Group
    
    ObjectId DisplayName Description
    -------- ----------- -----------
    6de75f3c-8b2f-4bf4-b9f8-78cc60a18050 SSISIrGroup
    
  3. ADF에 대해 지정된 시스템/사용자 할당 관리 ID를 그룹에 추가합니다. Data Factory 또는 Azure Synapse의 관리 ID 문서에 따라 ADF에 대해 지정된 시스템/사용자가 할당한 관리 ID의 개체 ID를 가져올 수 있습니다(예: 765ad4ab-XXXX-XXXX-XXXX-51ed985819dc. 하지만 이 용도로 애플리케이션 ID를 사용하지 않아야 함).

    Add-AzureAdGroupMember -ObjectId $Group.ObjectId -RefObjectId 765ad4ab-XXXX-XXXX-XXXX-51ed985819dc
    

    또한 나중에 그룹 구성원을 검사할 수도 있습니다.

    Get-AzureAdGroupMember -ObjectId $Group.ObjectId
    

Azure SQL Database에 대한 Microsoft Entra 인증 구성

다음 단계에 따라 Azure SQL Database에 대한 Microsoft Entra 인증을 구성 및 관리할 수 있습니다.

  1. Azure Portal의 왼쪽 탐색 영역에서 모든 서비스 ->SQL Server를 선택합니다.

  2. Microsoft Entra 인증으로 구성할 Azure SQL Database 서버를 선택합니다.

  3. 블레이드의 설정 섹션에서 Active Directory 관리자를 선택합니다.

  4. 명령 모음에서 관리자 설정을 선택합니다.

  5. 서버 관리자로 지정할 Microsoft Entra 사용자 계정을 선택한 다음 선택을 선택합니다.

  6. 명령 모음에서 저장을 선택합니다.

Microsoft Entra 그룹을 나타내는 Azure SQL Database에 포함된 사용자를 만듭니다.

이 다음 단계에서는 SSMS가 필요합니다.

  1. SSMS를 시작합니다.

  2. 서버에 연결 대화 상자에서 서버 이름 필드에 서버 이름을 입력합니다.

  3. 인증 필드에서 Active Directory - MFA 지원을 통한 유니버설 인증을 선택합니다. 다른 두 가지 Active Directory 인증 유형을 사용할 수도 있습니다(Azure SQL Database에 대한 Microsoft Entra 인증 구성 및 관리 참조).

  4. 사용자 이름 필드에 서버 관리자로 설정한 Microsoft Entra 계정의 이름을 입력합니다(예: testuser@xxxonline.com).

  5. 연결을 선택하고 로그인 프로세스를 완료합니다.

  6. 개체 탐색기에서 데이터베이스 ->시스템 데이터베이스 폴더를 확장합니다.

  7. 마스터 데이터베이스를 마우스 오른쪽 단추로 클릭하고 새 쿼리를 선택합니다.

  8. 쿼리 창에서 다음 T-SQL 명령을 입력한 후, 도구 모음에서 실행을 선택합니다.

    CREATE USER [SSISIrGroup] FROM EXTERNAL PROVIDER
    

    명령이 성공적으로 완료되고 그룹을 나타내는 포함된 사용자가 만들어집니다.

  9. 쿼리 창을 지우고 다음 T-SQL 명령을 입력한 후, 도구 모음에서 실행을 선택합니다.

    ALTER ROLE dbmanager ADD MEMBER [SSISIrGroup]
    

    명령이 성공적으로 완료되면 포함된 사용자에게 데이터베이스(SSISDB)를 만들 수 있는 기능이 부여됩니다.

  10. SQL 인증을 사용하여 SSISDB를 만들었고 Azure-SSIS IR이 이에 액세스하게 Microsoft Entra 인증을 사용하도록 전환하려면 먼저 master 데이터베이스에 대한 권한을 부여하는 위 단계가 성공적으로 완료되었는지 확인합니다. 그런 다음, SSISDB 데이터베이스를 마우스 오른쪽 단추로 클릭하고 새 쿼리를 선택합니다.

    1. 쿼리 창에서 다음 T-SQL 명령을 입력한 후, 도구 모음에서 실행을 선택합니다.

      CREATE USER [SSISIrGroup] FROM EXTERNAL PROVIDER
      

      명령이 성공적으로 완료되고 그룹을 나타내는 포함된 사용자가 만들어집니다.

    2. 쿼리 창을 지우고 다음 T-SQL 명령을 입력한 후, 도구 모음에서 실행을 선택합니다.

      ALTER ROLE db_owner ADD MEMBER [SSISIrGroup]
      

      명령이 성공적으로 완료되면 포함된 사용자에게 SSISDB에 액세스할 수 있는 기능이 부여됩니다.

Azure SQL Managed Instance에서 Microsoft Entra 인증 사용

Azure SQL Managed Instance는 직접 ADF에 대한 지정된 시스템/사용자 할당 관리 ID로 데이터베이스 만들기를 지원합니다. ADF에 대해 할당된 시스템/사용자 할당 관리 ID를 Microsoft Entra 그룹에 조인하거나 Azure SQL Managed Instance에서 해당 그룹을 나타내는 포함된 사용자를 만들 필요가 없습니다.

Azure SQL Managed Instance에 대한 Microsoft Entra 인증 구성

Azure SQL Managed Instance용 Microsoft Entra 관리자 프로비전의 단계를 따릅니다.

Azure SQL Managed Instance에서 ADF 또는 Azure Synapse에 대해 지정된 시스템이/사용자가 할당한 관리 ID를 사용자로 추가

이 다음 단계에서는 SSMS가 필요합니다.

  1. SSMS를 시작합니다.

  2. sysadmin SQL Server 계정을 사용하여 Azure SQL Managed Instance에 연결합니다. 이는 Azure SQL Managed Instance의 Microsoft Entra 서버 보안 주체(로그인)에 대한 지원이 일반 공급되면 제거될 임시 제한 사항입니다. Microsoft Entra 관리자 계정을 사용하여 로그인을 만들려고 하면 다음 오류가 표시됩니다. 메시지 15247, 수준 16, 상태 1, 회선 1 사용자에게 이 작업을 수행할 권한이 없음.

  3. 개체 탐색기에서 데이터베이스 ->시스템 데이터베이스 폴더를 확장합니다.

  4. 마스터 데이터베이스를 마우스 오른쪽 단추로 클릭하고 새 쿼리를 선택합니다.

  5. 쿼리 창에서 다음 T-SQL 스크립트를 실행하여 ADF에 대한 지정된 시스템/사용자 할당 관리 ID를 사용자로 추가합니다.

    CREATE LOGIN [{your managed identity name}] FROM EXTERNAL PROVIDER
    ALTER SERVER ROLE [dbcreator] ADD MEMBER [{your managed identity name}]
    ALTER SERVER ROLE [securityadmin] ADD MEMBER [{your managed identity name}]
    

    ADF에 대한 시스템 관리 ID를 사용하는 경우 관리 ID 이름은 ADF 이름이어야 합니다. ADF에 대한 사용자 할당 관리 ID를 사용하는 경우 관리 ID 이름은 지정된 사용자 할당 관리 ID 이름이어야 합니다.

    명령이 성공적으로 완료되면 ADF에 대한 시스템/사용자 할당 관리 ID에 데이터베이스(SSISDB)를 만들 수 있는 기능이 부여됩니다.

  6. SQL 인증을 사용하여 SSISDB를 만들었고 Azure-SSIS IR이 이에 액세스하게 Microsoft Entra 인증을 사용하도록 전환하려면 먼저 master 데이터베이스에 대한 권한을 부여하는 위 단계가 성공적으로 완료되었는지 확인합니다. 그런 다음, SSISDB 데이터베이스를 마우스 오른쪽 단추로 클릭하고 새 쿼리를 선택합니다.

    1. 쿼리 창에서 다음 T-SQL 명령을 입력한 후, 도구 모음에서 실행을 선택합니다.

      CREATE USER [{your managed identity name}] FOR LOGIN [{your managed identity name}] WITH DEFAULT_SCHEMA = dbo
      ALTER ROLE db_owner ADD MEMBER [{your managed identity name}]
      

      명령이 성공적으로 완료되면 ADF에 대한 시스템/사용자 할당 관리 ID에 SSISDB에 액세스하기 위한 기능이 부여됩니다.

Azure Portal/ADF 앱에서 Azure-SSIS IR 프로비전

Azure Portal/ADF 앱에서 Azure-SSIS IR를 프로비저닝할 때 배포 설정 페이지에서 Azure SQL Database 서버/Managed Instance에서 호스트되는 SSIS 카탈로그(SSISDB)를 만들어 프로젝트/패키지/환경/실행 로그 저장 확인란을 선택하고 Data Factory에 대한 시스템 관리 ID에서 Microsoft Entra 인증 사용 또는 Data Factory에 대한 사용자 할당 관리 ID에서 Microsoft Entra 인증 사용 확인란을 선택하여 SSISDB를 호스트하는 데이터베이스 서버에 액세스하기 위한 Azure-SSIS IR에 대한 Microsoft Entra 인증 방법을 선택합니다.

자세한 내용은 ADF에서 Azure-SSIS IR 만들기를 참조하세요.

PowerShell을 사용하여 Azure-SSIS IR 프로비전

PowerShell을 사용하여 Azure-SSIS IR을 프로비전하려면 다음 작업을 수행합니다.

  1. Azure PowerShell 모듈을 설치합니다.

  2. 스크립트에서 CatalogAdminCredential 매개 변수를 설정하지 마세요. 예시:

    Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                          -DataFactoryName $DataFactoryName `
                                          -Name $AzureSSISName `
                                          -Description $AzureSSISDescription `
                                          -Type Managed `
                                          -Location $AzureSSISLocation `
                                          -NodeSize $AzureSSISNodeSize `
                                          -NodeCount $AzureSSISNodeNumber `
                                          -Edition $AzureSSISEdition `
                                          -MaxParallelExecutionsPerNode $AzureSSISMaxParallelExecutionsPerNode `
                                          -CatalogServerEndpoint $SSISDBServerEndpoint `
                                          -CatalogPricingTier $SSISDBPricingTier
    
    Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
                                            -DataFactoryName $DataFactoryName `
                                            -Name $AzureSSISName
    

ADF에 대해 할당된 시스템/사용자 할당 관리 ID를 사용하여 Microsoft Entra 인증을 사용하여 SSIS 패키지 실행

Azure-SSIS IR에서 SSIS 패키지를 실행하는 경우 ADF에 대해 할당된 시스템/사용자 할당 관리 ID와 함께 Microsoft Entra 인증을 사용하여 다양한 Azure 리소스에 연결할 수 있습니다. 현재 다음 연결 관리자에서 ADF에 대해 할당된 시스템/사용자 할당 관리 ID를 사용하여 Microsoft Entra 인증을 지원합니다.