대규모로 사용량 기반 지불형 SQL 라이선스로의 전환을 자동화하세요

적용 대상:Azure SQL DatabaseAzure SQL Managed InstanceAzure Virtual Machines의 SQL ServerAzure Arc 지원 SQL Server

이 문서에서는 다음과 같이 방법을 설명합니다.

  • 하나의 PowerShell 스크립트로 여러 SQL 제품을 검토하고 사용량 지불 라이선스로 전환하세요.
  • Azure Policy를 사용하여 하나의 리소스 유형에 대해 종량제 라이선싱을 지속적으로 적용하세요.

이 글에서 언급한 자동화는 Azure Arc, Azure Virtual Machines의 SQL Server, Azure SQL Database, Azure SQL Managed Instance로 활성화된 SQL Server에 적용됩니다. 스크립트는 Azure Data Factory(Azure-SSIS IR)에서 Azure-SSIS Integration Runtime도 처리할 수 있습니다.

라이선스 계약을 변경한다고 해서 SQL 리소스에 설정된 라이선스 유형이 바뀌는 것은 아닙니다. 이 글의 워크플로우는 소프트웨어 보증, SQL 구독 라이선스, 서비스 제공자 라이선스 계약(SPLA) 라이선스가 더 이상 적용되지 않는 SQL 라이선스 이후, 자원을 사용한 만큼 지불하는 방식으로 자원을 전환하는 데 도움을 줍니다.

사전 요구 사항

  • 테넌트와 SQL 리소스가 포함된 구독에 접근할 수 있는 Azure 계정입니다.
  • PowerShell 5 이상과 Az PowerShell 모듈을 사용하세요.
  • PowerShell 스크립트를 사용해 SQL 리소스를 업데이트할 때 사용하는 Azure CLI입니다.
  • 수정하는 각 구독의 Contributor 역할. 최소 권한 대안으로는 리소스 유형별 권한을 검토하세요.
  • 예약 모드의 경우, 목표 구독 범위에서 역할 할당 권한을 부여하거나, 자동화 계정의 관리 신원에 미리 할당된 필수 역할이 필요합니다.
  • 청구 설정을 변경하고 대상 자원의 라이선스 조건을 증명할 권한입니다.

도구를 로컬에 설치하지 않으려면 Azure Cloud Shell에서 스크립트를 실행하세요. Cloud Shell은 Azure PowerShell과 Azure CLI를 포함하고 세션을 인증합니다. 계정이 언제 여러 테넌트에 접근할 수 있는지 명시하세요 -TenantId .

자동화 방법을 선택하세요

다음 중에서 선택합니다.

  • 리소스 간 전환을 위한 종량제 라이선스용 PowerShell
  • 하나의 리소스 유형에 대한 지속적인 종량제 적용을 위한 Azure Policy

다음 표는 각 자동화 방법에 대한 세부 정보를 제공합니다:

시나리오 권장 방법
여러 SQL 리소스 유형에서 사용한 만큼 지불하는 변경 사항을 검토하거나 적용하세요 manage-payg-transition.ps1
구독 또는 테넌트 내 모든 지원 자원을 사용량 지불 라이선스로 전환하세요 manage-payg-transition.ps1
정기적으로 종량제 전환을 실행하세요 manage-payg-transition.ps1 예약된 모드에서
한 리소스 유형에 대해 종량제 라이선스를 지속적으로 적용하고 드리프트를 수정합니다 특정 리소스용 Azure Policy 예제
자원 하나를 수동으로 변경했습니다 제품 특화 라이선스 문서

지원되는 자료와 라이선스 가치를 검토하세요

이 문서의 절차는 PAYG-TargetLicenseType로 설정합니다. 스크립트는 이 값을 각 자원 제공자가 요구하는 사용량 지불 가치로 변환합니다. 소스 값은 전환이 대체할 수 있는 일반적인 라이선스 구성을 보여줍니다.

Resource 사용한 만큼 지불하는 목표 가치 공통 소스 값 대본에 의해 뒷받침됨 Azure Policy 샘플
Azure Arc로 지원되는 SQL Server PAYG Paid, LicenseOnly Yes Arc 지원 SQL Server 라이선스 유형 준수
Azure 가상 머신에서의 SQL Server PAYG AHUB Yes SQL Server on Azure VMs 라이선스 유형 준수
Azure SQL Database 및 탄력적 풀 LicenseIncluded BasePrice Yes Azure SQL Database 라이선스 유형 규정 준수
Azure SQL Managed Instance 및 인스턴스 풀 LicenseIncluded BasePrice, HybridFailoverRights Yes SQL Managed Instance 라이선스 유형 준수
Azure-SSIS IR LicenseIncluded BasePrice Yes 이 글에서는 다루지 않습니다

정책 샘플은 Azure VM의 SQL Server와 같은 DR 추가 소스 값을 덮어쓸 수 있습니다. 정책 할당을 배포하기 전에 선택한 샘플을 검토하세요.

PowerShell 스크립트가 어떻게 작동하는지 이해하세요

PowerShell 스크립트를 사용해 리소스 그룹 내의 모든 리소스, 구독 내의 모든 리소스, 그리고 테넌트 내 하나 이상의 구독 내 모든 리소스를 수정할 수 있습니다.

스크립트는 독립적이며 지원되는 SQL 자원 전반에 걸쳐 작동합니다. 기본값으로 PAYG설정하면 -TargetLicenseType 해당 값을 각 리소스 유형에서 요구하는 사용량 지불 값으로 변환되며, 지원되는 리소스와 라이선스 값 검토에 나타난 것입니다. 기본적으로 생성된 작업 폴더는 스크립트가 끝난 후에도 그대로 남아 있습니다. 실행 후 이를 제거하려면 -cleanDownloads $true를 지정하십시오.

스크립트는 리소스 유형별로 요약을 출력하고, 실패하거나 건너뛸 각 리소스의 원인을 나열합니다. 스크립트는 일치하는 리소스를 찾으면 UpdateResultModifiedResources_<timestamp>.csv 열이 있는 UpdateError 보고서도 생성합니다.

다음 매개변수들이 스크립트의 범위와 실행을 제어합니다:

매개 변수 승인 가치 또는 기본값 Purpose
-Target Arc, , Azure또는 Both (기본값) Azure Arc로 사용하도록 설정된 SQL Server 리소스, Azure SQL 리소스, Azure-SSIS IR 또는 두 그룹 모두를 선택합니다.
-RunMode Single (기본값) 또는 Scheduled 전환 작업을 한 번 실행하거나 Azure Automation 런북이 매일 실행되도록 구성합니다.
-TargetLicenseType PAYG 이 문서의 절차에서 대상 라이선스 모델로 종량제를 선택합니다.
-targetSubscription 구독 ID; 기본적으로 테넌트 내에서 접근 가능한 모든 구독 전환을 한 번의 구독으로 제한합니다.
-targetResourceGroup 리소스 그룹 이름; 기본적으로 모든 리소스 그룹 전환을 한 자원 그룹으로 제한합니다.
-TenantId 테넌트 ID; 기본값으로 사용되는 현재 Az PowerShell 컨텍스트 Microsoft Entra 테넌트를 선택합니다.
-ReportOnly 스위치; 기본적으로 비활성화됨 자원을 변경하지 않고 자격을 갖춘 보고서를 작성하세요.
-WaitForCompletion 스위치; 기본적으로 비활성화됨 지원되는 경우, 제출된 변경 사항이 종료 상태에 도달할 때까지 기다립니다.
-UsePcoreLicense No (기본값) 또는 Yes Azure Arc가 지원하는 SQL Server의 물리 코어 라이선스를 제어합니다.
-AutomationAccResourceGroupName -RunMode Scheduled와 함께 필수 자동화 계정의 리소스 그룹을 선택합니다.
-AutomationAccountName aaccAzureArcSQLLicenseType 기본적으로 자동화 계정 이름을 설정합니다.
-Location -RunMode Scheduled와 함께 필수 자동화 계정과 리소스 그룹의 Azure 지역을 선택합니다.
-cleanDownloads $false (기본값) 또는 $true 스크립트가 끝나면 생성된 작업 폴더를 제거합니다.

기본 실행 동작은 자원 유형에 따라 다릅니다:

Resource 기본 동작 -WaitForCompletion와 함께
Azure SQL 데이터베이스, Azure SQL 관리 인스턴스 비동기식 요청을 제출하고 보고합니다 RequestSubmitted 기다림과 보고 Updated
Azure Arc로 지원되는 SQL Server 비동기 확장 업데이트를 제출하고 보고합니다 RequestSubmitted 확장 프로그램을 폴링하고 Succeeded, Failed 또는 TimedOut를 보고합니다
Azure 가상 머신에서의 SQL Server 직접 Azure Resource Manager 요청을 제출하고 보고합니다RequestSubmitted az sql VM 업데이트를 실행하고, 대기하며, 보고합니다Updated
Azure-SSIS IR 기다림과 보고 Updated 같은 행동

사용한 만큼 지불하는 전환 과정을 미리 확인하세요

이 스크립트는 manage-payg-transition.ps1 Azure Arc 리소스로 활성화된 Azure SQL과 SQL Server에 하나의 진입점을 제공합니다.

PowerShell 스크립트를 사용하면 스캔할 구독 하나만 지정할 수 있습니다. 구독을 지정하지 않으면, 스크립트가 당신의 역할이 접근할 수 있는 모든 구독을 스캔합니다.

  1. 스크립트를 다운로드합니다.

    $scriptUri = "https://raw.githubusercontent.com/microsoft/sql-server-samples/master/samples/manage/manage-payg-transition/manage-payg-transition.ps1"
    Invoke-WebRequest -Uri $scriptUri -OutFile ".\manage-payg-transition.ps1"
    
  2. 리소스가 포함된 테넌트에 로그인하세요:

     Connect-AzAccount -TenantId "<tenant-id>"
    
  3. 단일 구독에 대해 읽기 전용 미리보기를 실행하세요. 이미 Azure 컨텍스트가 있어도 스크립트가 잘못된 테넌트를 사용하지 않도록 명시 -TenantId 하세요:

    .\manage-payg-transition.ps1 `
        -Target Both `
        -TenantId "<tenant-id>" `
        -targetSubscription "<subscription-id>" `
        -TargetLicenseType PAYG `
        -ReportOnly
    
  4. 스크립트가 일치하는 자원을 찾으면 최신 ModifiedResources_<timestamp>.csv 보고서를 엽니다. 모든 나열된 자원이 변경되어야 하는지 확인하세요:

    $report = Get-ChildItem -Filter "ModifiedResources_*.csv" |
        Sort-Object LastWriteTime -Descending |
        Select-Object -First 1
    
    Import-Csv $report.FullName | Format-Table
    

이미 사용량 지불 라이선스를 사용하는 자료는 보고서에 나타나지 않습니다. 스크립트가 일치하는 자원을 찾지 못하면 CSV 파일을 생성하지 않습니다. 범위를 줄이려면 -targetResourceGroup을(를) 지정하세요. Azure SQL 리소스 및 Azure-SSIS IR을 처리하려면 Azure을(를) -Target(으)로 설정하세요. Azure Arc 리소스로 활성화된 SQL Server만 처리하도록 설정 Arc 하세요.

PowerShell로 일회성 사용량 지불 전환을 실행하세요

목표 범위를 확인하고 미리보기 보고서의 모든 자원을 승인한 후에만 사용량 지불 전환을 실행하세요.

  1. -ReportOnly를 제거하고, 리소스 공급자가 이를 지원하는 경우 확정된 결과를 기다리도록 -WaitForCompletion를 추가하세요:

    .\manage-payg-transition.ps1 `
        -Target Both `
        -TenantId "<tenant-id>" `
        -targetSubscription "<subscription-id>" `
        -TargetLicenseType PAYG `
        -WaitForCompletion
    
  2. 생성된 CSV 보고서를 검토하세요. 모든 Failed 또는 TimedOut 결과를 조사하고, 제출된 모든 변경 사항의 리소스 상태를 확인하세요.

PAYG 값은 대상 라이선스 모델을 종량제로 설정합니다.

-WaitForCompletion를 생략하면, 대부분의 수락된 변경 사항은 UpdateResultRequestSubmitted입니다. 이 결과는 라이선스 유형이 변경된 것이 아니라 Azure가 요청을 수락했다는 의미입니다. Azure-SSIS IR은 업데이트 명령어가 비동기 실행을 지원하지 않기 때문에 항상 기다립니다.

PowerShell을 사용하여 반복되는 종량제 전환 예약

예약 모드는 선택한 각 대상마다 하나의 Azure Automation 런북을 생성하거나 업데이트하고, 각 런북을 일일 일정에 연결하며, 즉시 일회성 작업을 시작합니다. 자동화 계정 리소스 그룹과 Azure 지역을 제공하세요. 기본 자동화 계정 이름은 aaccAzureArcSQLLicenseType. 예약 모드는 자동화 계정의 관리 신원을 사용합니다.

  1. Azure Arc 리소스로 활성화된 Azure SQL과 SQL Server 전환을 하나의 구독으로 예약하세요:

    .\manage-payg-transition.ps1 `
        -Target Both `
        -RunMode Scheduled `
        -TenantId "<tenant-id>" `
        -targetSubscription "<subscription-id>" `
        -TargetLicenseType PAYG `
        -AutomationAccResourceGroupName "<automation-resource-group>" `
        -AutomationAccountName "<automation-account>" `
        -Location "<azure-region>"
    
  2. 자동화 계정에서 런북이 출판되어 있고, 일일 일정과 연결되어 있으며, 선택한 매개변수로 작업을 시작할 수 있는지 확인하세요.

Azure 대상에 SQL Managed Instance 풀이 포함된 경우, Automation 계정의 관리 ID에 Contributor 역할 또는 Microsoft.Sql/instancePools/readMicrosoft.Sql/instancePools/write가 포함된 사용자 지정 역할을 할당하세요. 예약된 설정에서는 이러한 권한을 부여하는 내장 역할을 할당하지 않습니다.

Azure Policy로 종량제 라이선스 적용

리소스별 Azure Policy 샘플을 사용하여 지속적으로 Pay-as-You-Go 라이선스를 적용하고 구성 드리프트를 해결하세요. 각 샘플에는 정책 정의, 배포 스크립트, 그리고 복구 스크립트가 포함되어 있습니다.

Warning

정책 할당은 범위 내 모든 일치하는 자원을 변경할 수 있습니다. 좁은 범위의 테스트 구독부터 시작하고, 교체하려는 현재 라이선스 유형만 선택하세요.

다음 표는 각 리소스의 정책 패키지와 배포 스크립트를 연결합니다:

Resource 정책 패키지 배포 스크립트
Azure Arc로 지원되는 SQL Server Arc 지원 SQL Server 라이선스 유형 준수 deployment.ps1
Azure 가상 머신에서의 SQL Server SQL Server on Azure VMs 라이선스 유형 준수 deployment.ps1
Azure SQL Managed Instance(애저 SQL 매니지드 인스턴스) SQL Managed Instance 라이선스 유형 준수 deployment.ps1
Azure SQL 데이터베이스 Azure SQL Database 라이선스 유형 규정 준수 deployment.ps1

선택한 자원 유형에 대한 값과 역할을 사용하세요:

Resource 종량제 목표값 덮어쓸 수 있는 소스 값들 주요 필수 역할 중요한 제한 사항
Azure Arc로 지원되는 SQL Server PAYG Paid; 포털 정의는 LicenseOnly도 지원합니다 Azure Extension for SQL Server Deployment 이 과제는 모든 매칭 호스트에게 하나의 목표를 적용하며, 에디션 인식은 없습니다. 혼합 부동산은 별도로 적용하세요.
Azure 가상 머신에서의 SQL Server PAYG AHUB, DR Virtual Machine 기여자 대상은 Azure 하이브리드 혜택 또는 수동 고가용성 또는 재해 복구(HA/DR) 라이선스 조건을 충족해야 합니다.
Azure SQL Managed Instance(애저 SQL 매니지드 인스턴스) LicenseIncluded BasePrice, HybridFailoverRights SQL Managed Instance 기여자 HybridFailoverRights licenseType을(를) BasePrice(으)로, hybridSecondaryUsage을(를) Passive(으)로 설정합니다.
Azure SQL 데이터베이스 LicenseIncluded BasePrice SQL DB 기여자 이 정책에서는 master 및 Basic 데이터베이스가 제외됩니다. Azure SQL Database는 프로비저닝된 vCore 데이터베이스에만 라이선스 유형 변경을 지원하므로, 다른 데이터베이스 트랜잭션 유닛(DTU) 기반 및 서버리스 데이터베이스는 배정에서 제외하거나 제외하세요.

각 과제에는 리더리소스 정책 기여자도 필요합니다. 배포 스크립트는 로그인한 신원이 역할 할당 권한을 가질 때 필요한 역할을 부여합니다. -GrantMissingPermissions를 수정 스크립트와 함께 사용하여 누락된 역할을 확인하고 추가하세요.

SQL VM, SQL Managed Instance, SQL Database 배포 스크립트는 목표 값에 라이선스 증명이 필요할 때 확인을 요청합니다. 운영자가 이미 자격을 확인하고 준수 책임을 수락한 자동화된 파이프라인에서만 사용 -SkipLicenseConfirmation .

Arc 지원 SQL Server의 경우, PAYG 반복 청구 동의를 설정하는 정책도 있습니다. 나중에 할당으로 라이선스 유형이 PAYG에서 다른 것으로 변경되더라도 동의는 해당 확장 프로그램에 그대로 유지됩니다.

정책 패키지는 공유 배포 흐름을 사용합니다:

  1. README의 지침에 따라 패키지의 scriptspolicy 폴더를 다운로드하세요.

  2. 할당 범위가 있는 테넌트에 로그인하세요:

    Connect-AzAccount -TenantId "<tenant-id>"
    
  3. 다운로드한 패키지 폴더에서 정의와 할당을 배포하세요. 앞서 언급한 표의 자원 유형에 대한 사용량 기반 지불 목표값을 사용하세요. 다음 예시는 구독 범위에 정책을 할당합니다:

    .\scripts\deployment.ps1 `
        -SubscriptionId "<subscription-id>" `
        -TargetLicenseType "<pay-as-you-go-value>"
    

    만약 를 누락 -SubscriptionId하면 스크립트는 관리 그룹 범위를 사용합니다. 배포를 실행하기 전에 패키지 기본값을 검토하세요.

  4. 정책 할당에 시스템 할당 관리 ID가 있고, 할당 범위에서 필요한 역할이 할당되었는지 확인하세요.

  5. 기존의 비준수 자원에 대한 복원 시작:

    .\scripts\start-remediation.ps1 `
        -SubscriptionId "<subscription-id>" `
           -TargetLicenseType "<pay-as-you-go-value>" `
        -GrantMissingPermissions
    
  6. Azure Policy에서 과제의 준수 결과와 복구 작업을 검토하세요. 그 다음 복구된 자원의 라이선스 유형을 확인하세요.

사용량 기반 지불 전환을 검증하세요

CSV 보고서에는 선택한 각 리소스에 대해 UpdateResultUpdateError가 포함됩니다. 일반적인 결과를 다음과 같이 해석하세요:

Result Meaning 다음 작업
ReportOnly 스크립트는 읽기 전용 모드에서 자격 있는 자원을 식별하고 변경 사항을 제출하지 않았습니다. 전환을 시작하기 전에 자원이 사용한 만큼 지불하는 라이선스를 사용해야 하는지 확인하세요.
RequestSubmitted Azure가 비동기식 요청을 수락했습니다. 리소스 작업이 완료될 때까지 기다린 후 리소스 상태를 검증합니다.
Updated 또는 Succeeded 스크립트는 성공적인 종말 결과를 관찰했습니다. 리소스에서 라이선스 유형을 확인하세요.
Failed 서비스는 업데이트를 거부하거나 터미널 상태 실패를 반환했습니다. 검토 UpdateError하고, 문제를 수정한 뒤 미리보기를 다시 실행하세요.
TimedOut Arc 확장은 투표 한도 이전에 최종 상태에 도달하지 못했습니다. 확장 상태를 확인하세요. 스크립트가 대기를 멈춘 후에 업데이트가 완료될 수도 있습니다.

Azure Arc에서 활성화된 SQL Server의 현재 라이선스 유형과 프로비저닝 상태를 확인하려면 다음 Azure Resource Graph 쿼리를 실행하세요:

Search-AzGraph -Query @"
resources
| where type =~ 'microsoft.hybridcompute/machines/extensions'
| where properties.type in~ ('WindowsAgent.SqlServer', 'LinuxAgent.SqlServer')
| project name = split(id, '/')[8],
          licenseType = properties.settings.LicenseType,
          state = properties.provisioningState
"@

제출된 연산이 끝난 후, 같은 범위를 다음과 같이 -ReportOnly다시 실행하세요:

.\manage-payg-transition.ps1 `
    -Target Both `
    -TenantId "<tenant-id>" `
    -targetSubscription "<subscription-id>" `
    -TargetLicenseType PAYG `
    -ReportOnly

스크립트는 이미 사용량 지불 라이선스를 사용하는 자원을 제외합니다. 완전히 수렴된 스코프는 업데이트할 리소스가 없다고 보고합니다. 전환이 완료된 것으로 간주하기 전에 아직 남아 있는 자원을 조사하세요.

제한 사항과 청구 방지 조치 검토

  • Azure VMs의 SQL Server가 실행되어야 합니다. 스크립트는 중단되거나 할당 해제된 VM을 건너뛰고 실행하지 않습니다.
  • 이 스크립트는 라이선스 타입을 사용하는 DR Azure VM의 SQL Server를 제외하므로, 패시브 HA/DR 복제본의 라이선스 설정을 덮어쓰지 않습니다.
  • 스크립트는 내장된 Arc 핸들러의 반복 청구 동의 옵션을 노출하지 않습니다. CSP에서 관리되는 Arc 리소스에 반복 청구 동의가 필요한 경우, 적용 시 동의를 구성하는 PAYG 정책을 사용하세요.
  • 기본 비동기 실행은 즉각적인 확인보다 확장성을 선호합니다. 스크립트가 종료되기 전에 최종 결과를 관찰할 필요가 있을 때 사용 -WaitForCompletion 하세요.
  • 기본적으로 SQL Server on Azure VM 업데이트는 비동기식 Azure Resource Manager 요청을 사용합니다. 만약 그 요청이 실패하면, 스크립트는 로 되돌아가 az sql vm update연산이 완료될 때까지 기다립니다.

자동화 실패 문제 해결

생성된 보고서와 Azure 운영 상태를 사용하여 업데이트되지 않은 자원을 식별하세요.

  • 보고서가 비어 있으면 테넌트, 구독, 리소스 그룹을 확인하세요. 모든 범위 내 자원이 이미 사용량 지불 라이선스를 사용할 때 빈 보고서가 예상됩니다.
  • Arc 지원 리소스가 건너뛰어진 경우 Azure Connected Machine 에이전트의 연결을 복원하고, SQL Server용 Azure 확장의 프로비저닝 상태가 Succeeded인지 확인한 다음, 미리 보기를 다시 실행하세요.
  • RequestSubmittedUpdateResult이면, 요청을 완료된 것으로 처리하지 마세요. 리소스 상태를 확인하거나 Azure 작업이 끝난 후 미리보기를 다시 실행하세요.
  • Azure SQL 또는 SQL Server on Azure VM 작업이 실패하면, Azure CLI가 설치되어 있고, 동일한 테넌트에 로그인되었으며 대상 구독에 대해 승인되었는지 확인하세요.
  • 예약 모드가 실패하는 경우, Automation 계정의 관리 ID에 원본 예제에 나열된 역할이 할당되어 있는지 확인하세요.
  • 정책 수정에서 PolicyAuthorizationFailed가 반환되면 할당 범위에서 할당 ID에 제품별 역할인 ReaderResource Policy Contributor가 할당되어 있는지 확인하세요. 배포 스크립트를 다시 실행하거나, 로그인한 아이덴티티가 역할 할당을 생성할 수 있는 상태에서 복구 스크립트 -GrantMissingPermissions 를 재실행하세요.

전체 출처는 .을 참조하세요 manage-payg-transition.ps1. 현재 제한 사항과 시험 결과는 시험 계획을 참조하십시오manage-payg-transition.ps1.

리소스 유형별 권한

PowerShell 스크립트에 대한 권한

기여자 역할은 이 글에서 스크립트가 요구하는 권한의 상위 집합으로, 가장 간단한 선택입니다. 최소 권한 접근을 위해, 범위 내 리소스 유형에 필요한 역할을 할당합니다:

리소스 유형 역할 또는 필수 권한
Azure 가상 머신에서의 SQL Server Virtual Machine 기여자
Azure SQL Managed Instance(애저 SQL 매니지드 인스턴스) SQL Managed Instance 기여자
Azure SQL 데이터베이스 SQL DB 기여자
Azure SQL Database 탄력적 풀 SQL Server 기여자
Azure SQL Managed Instance pools 기여자 또는 Microsoft.Sql/instancePools/readMicrosoft.Sql/instancePools/write이(가) 있는 사용자 지정 역할
Azure Arc로 지원되는 SQL Server Azure Connected Machine 리소스 관리자
Azure-SSIS IR Data Factory 기여자
구독 및 자료 읽기 및 열거 Reader, 다른 할당된 역할이 필요한 읽기 권한을 제공하지 않는 한

Azure Policy에 대한 권한

실행 deployment.ps1 되는 아이덴티티는 선택한 관리 그룹에서 정책 정의를 생성하고, 할당 범위에서 정책 할당, 보정 작업, 관리 식별 및 역할 할당을 생성할 권한이 필요합니다. 역할 할당을 생성할 수 없는 경우, 수정을 시작하기 전에 정책 할당의 관리 ID에 필요한 역할을 할당하고 deployment.ps1을(를) -SkipManagedIdentityRoleAssignment과(와) 함께 실행하세요.

기본적으로 deployment.ps1 정책 할당에 대해 시스템 할당 관리 신원을 생성하고 할당 범위에 세 개의 역할을 부여합니다. 제품별 역할은 선택된 정책 샘플에 따라 다릅니다:

정책 샘플 제품별 역할
Azure Arc로 지원되는 SQL Server Azure Extension for SQL Server Deployment
Azure 가상 머신에서의 SQL Server Virtual Machine 기여자
Azure SQL Managed Instance(애저 SQL 매니지드 인스턴스) SQL Managed Instance 기여자
Azure SQL 데이터베이스 SQL DB 기여자

각 정책 할당 식별체는 리더리소스 정책 기여자도 필요합니다. 배포 스크립트는 -SkipManagedIdentityRoleAssignment를 지정한 경우에만 자동 역할 할당을 건너뜁니다.

수정 start-remediation.ps1 작업을 시작하기 전에 세 가지 필수 역할 모두에 대한 정책 할당 식별자를 확인하세요. 역할이 빠지면 대본이 멈춥니다. 역할을 수동으로 할당하거나, 할당 범위에서 역할 할당을 생성할 수 있는 식별 스크립트를 -GrantMissingPermissions 사용해 복구 스크립트를 다시 실행하세요.