최소 권한(프리뷰)으로 Azure Arc 지원 SQL Server 운영

적용 대상:SQL Server

최소 권한의 정보 보안 원칙은 계정 및 애플리케이션에 필요한 데이터 및 작업에 대한 액세스 권한만 부여해야 한다는 사실을 확인합니다. Azure Arc에서 SQL Server를 사용하도록 설정하면 최소 권한으로 에이전트 확장 서비스를 실행할 수 있습니다. 이 문서에서는 최소 권한으로 에이전트 확장 서비스를 실행하는 방법을 설명합니다.

필요에 따라 최소 권한으로 실행되도록 서비스를 구성하려면 이 문서의 단계를 수행합니다. 현재 서비스는 최소 권한으로 자동 실행되지 않습니다.

SQL Server용 Azure 확장에 대한 Windows 서비스 계정 및 사용 권한 구성은 에이전트 확장 서비스에 대한 최소 권한 사용 권한을 설명합니다.

참고 항목

Azure 익스텐션이 버전 1.1.2594.118(2024년 2월 릴리스) 이상인 경우 최소 권한 모드가 앞으로 몇 달 안에 기본 모드가 됩니다.

이 구성에 대한 지원은 현재 프리뷰로 제공됩니다.

참고 항목

미리 보기 기능으로, 이 문서에 제시된 기술에는 Microsoft Azure 미리 보기에 대한 보충 사용 약관이 적용됩니다.

최신 업데이트는 릴리스 정보 - Azure Arc 지원 SQL Server에서 사용할 수 있습니다.

최소 권한으로 실행되도록 에이전트 확장 서비스를 구성한 후에는 NT Service\SQLServerExtension 서비스 계정을 사용합니다.

NT Service\SQLServerExtension 계정은 로컬 Windows 서비스 계정입니다.

  • 최소 권한 옵션을 사용하는 경우 SQL Server용 Azure 확장에서 만들고 관리합니다.
  • Windows 운영 체제에서 SQL Server 서비스용 Azure 확장을 실행하는 데 필요한 최소 사용 권한 및 권한이 부여되었습니다. 구성을 읽고 저장하거나 로그를 작성하는 데 사용되는 폴더 및 디렉터리에만 액세스할 수 있습니다.
  • 필요한 최소 사용 권한이 있는 해당 서비스 계정에 대한 새 로그인을 사용하여 SQL Server에서 연결하고 쿼리할 수 있는 사용 권한이 부여되었습니다. 최소 사용 권한은 사용 가능한 기능에 따라 달라집니다.
  • 사용 권한이 더 이상 필요하지 않은 경우 업데이트됩니다. 예를 들어 기능을 사용하지 않도록 설정하거나, 최소 권한 구성을 사용하지 않도록 설정하거나, SQL Server용 Azure 확장을 제거하면 사용 권한이 취소됩니다. 해지하면 더 이상 필요하지 않은 사용 권한이 남아 있지 않게 됩니다.

필수 조건

이 구역에서는 이 문서의 예제를 완료하는 데 필요한 시스템 요구 사항 및 도구를 식별합니다.

시스템 요구 사항

최소 권한의 구성에는 다음이 필요합니다.

  • Windows Server 2012 이상
  • SQL Server 2012 이상

최소 권한 구성은 현재 Linux에서 지원되지 않습니다.

도구

이 문서의 단계를 완료하려면 다음 도구가 필요합니다.

최소 권한 사용

  1. Azure CLI로 로그인합니다.

    az login
    
  2. arcdata 확장 버전을 확인합니다.

    az extension list -o table
    

    결과에 지원되는 버전 arcdata이 포함된 경우 다음 단계로 건너뜁니다.

    필요하다면 arcdata Azure CLI 확장을 설치하거나 업데이트합니다.

    확장을 설치하기 위해:

    az extension add --name arcdata
    

    확장을 업데이트하려면

    az extension update --name arcdata
    
  3. Azure CLI를 사용하여 최소 권한을 사용하도록 설정합니다.

    최소 권한을 사용하려면 LeastPrivilege 기능 플래그를 true로 설정합니다. 이 작업을 완료하려면 <resource-group><machine-name>에 대한 업데이트된 값을 사용하여 다음 명령을 실행합니다.

    az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group <resource-group> --machine-name <machine-name>
    

    예를 들어 다음 명령은 myrg로 명명된 리소스 그룹에서 myserver라고 이름이 지정된 서버에 대해 최소 권한을 사용하도록 설정합니다.

    az sql server-arc extension feature-flag set --name LeastPrivilege --enable true --resource-group myrg --machine-name myserver 
    

구성의 유효성 검사

Azure Arc 지원 SQL Server가 최소 권한으로 실행되도록 구성되어 있는지 확인하려면 다음을 수행합니다.

  1. Windows 서비스에서 Microsoft SQL Server 확장 서비스 서비스를 찾습니다. 해당 서비스가 서비스 계정 NT Service\SqlServerExtension로 실행되고 있는지 확인합니다. 

  2. 서버에서 작업 스케줄러를 열고 SqlServerExtensionPermissionProvider 이름으로 예약된 작업이 Microsoft\SqlServerExtension 아래에서 만들어지는지 검사합니다. 이 작업은 사용 및 사용 안 함 기능을 기준으로 필요에 따라 권한을 추가하거나 제거하기 위해 매시간 실행됩니다.

  3. SQL Server Management Studio를 열고 NT Service\SqlServerExtension 이름이 지정된 로그인을 검사합니다. 계정에 다음 사용 권한이 할당되었는지 확인합니다.

    • SQL 연결
    • 데이터베이스 상태 보기
    • 서버 상태 보기
  4. 다음 쿼리를 사용하여 사용 권한을 확인합니다.

    서버 수준 사용 권한을 확인하려면 다음 쿼리를 실행합니다.

    EXECUTE AS LOGIN = 'NT Service\SqlServerExtension'  
    SELECT * FROM fn_my_permissions (NULL, 'SERVER");
    

    데이터베이스 수준 권한을 확인하려면 데이터베이스 중 하나의 이름으로 <database name>을 바꾸고 다음 쿼리를 실행합니다.

    EXECUTE AS LOGIN = 'NT Service\SqlServerExtension'  
    USE <database name>; 
    SELECT * FROM fn_my_permissions (NULL, 'database");
    

최소 권한 사용 안 함

최소 권한을 사용하지 않도록 설정하려면 LeastPrivilege 기능 플래그를 false로 설정합니다. 이 작업을 완료하려면 <resource-group><machine-name>에 대한 업데이트된 값을 사용하여 다음 명령을 실행합니다.

az sql server-arc extension feature-flag set --name LeastPrivilege --enable false --resource-group <resource-group> --machine-name <machine-name>

예를 들어 다음 명령은 myrg로 명명된 리소스 그룹에서 myserver라고 이름이 지정된 서버에 대해 최소 권한을 사용하지 않도록 설정합니다.

az sql server-arc extension feature-flag set --name LeastPrivilege --enable false --resource-group myrg --machine-name myserver