Azure 정책을 관리 하 고 azure Arc Linux 및 Windows 서버에 azure 모니터링 에이전트 확장 배포Manage Azure policies and deploy the Azure monitoring agent extension to Azure Arc Linux and Windows servers

이 문서에서는 azure Arc 사용 서버를 사용 하 여 온-프레미스 또는 다른 클라우드에 있든 관계 없이 azure 외부의 Vm에 azure 정책을 할당 하는 방법에 대 한 지침을 제공 합니다.This article provides guidance on how to use Azure Arc enabled servers to assign Azure policies to VMs outside of Azure, whether they are on-premises or on other clouds. 이 기능을 사용 하면 이제 Azure Policy를 사용 하 여 Azure Arc 사용 서버의 운영 체제에서 설정을 감사할 수 있습니다. 설정이 호환 되지 않는 경우 수정 작업을 트리거할 수도 있습니다.With this feature you can now use Azure Policy to audit settings in the operating system of an Azure Arc enabled server, if a setting is not compliant you can also trigger a remediation task.

이 경우 Azure Arc 연결 된 컴퓨터에 (Microsoft Monitoring Agent) MMA 에이전트가 설치 되어 있는 경우 감사할 정책을 할당 합니다.In this case, you will assign a policy to audit if the Azure Arc connected machine has the (Microsoft Monitoring Agent) MMA agent installed. 그렇지 않은 경우 확장 기능을 사용 하 여 Azure Vm에 해당 하는 등록 환경으로 VM에 자동으로 배포 합니다.If not, use the extensions feature to automatically deploy it to the VM, an enrollment experience that levels to Azure VMs. 이 접근 방식을 사용 하 여 모든 서버가 Azure Monitor, Azure Security Center, Azure 센티널 등의 서비스에 등록 되도록 할 수 있습니다.This approach can be used to make sure all your servers are onboard to services such as Azure Monitor, Azure Security Center, Azure Sentinel, and so on.

Azure Portal, Azure Resource Manager 템플릿 (ARM 템플릿) 또는 PowerShell 스크립트를 사용 하 여 Azure 구독 또는 리소스 그룹에 정책을 할당할 수 있습니다.You can use the Azure portal, an Azure Resource Manager template (ARM template) or PowerShell script to assign policies to Azure subscriptions or resource groups. 다음 절차에서는 ARM 템플릿을 사용 하 여 기본 제공 정책을 할당 합니다.The following procedures use an ARM template to assign built-in policies.

중요

이 문서의 절차에서는 이미 Vm을 배포 했거나 온-프레미스 또는 다른 클라우드에서 실행 중인 서버를 Azure Arc에 연결 했다고 가정 합니다. 그렇지 않은 경우 다음 정보를 통해이를 자동화할 수 있습니다.The procedures in this article assumes you've already deployed VMs, or servers that are running on-premises or on other clouds, and you have connected them to Azure Arc. If you haven't, the following information can help you automate this.

지원 되는 AZURE MONITOR OS 설명서 를 검토 하 고 이러한 절차에 사용 하는 vm이 지원 되는지 확인 하세요.Please review the Azure Monitor supported OS documentation and ensure that the VMs you use for these procedures are supported. Linux Vm의 경우 Linux 배포와 커널을 모두 확인 하 여 지원 되는 구성을 사용 하 고 있는지 확인 합니다.For Linux VMs, check both the Linux distribution and kernel to ensure you are using a supported configuration.

사전 요구 사항Prerequisites

  1. Azure Arc Jumpstart 리포지토리를 복제 합니다.Clone the Azure Arc Jumpstart repository.

    git clone https://github.com/microsoft/azure_arc
    
  2. 앞서 언급 했 듯이이 가이드는 이미 배포 되어 Vm 또는 서버를 Azure Arc에 연결한 지점부터 시작 됩니다. 다음 스크린샷에서는 Azure Arc와 연결 된 Google Cloud Platform (GCP) 서버가 Azure에 리소스로 표시 됩니다.As mentioned, this guide starts at the point where you already deployed and connected VMs or servers to Azure Arc. In the following screenshots a Google Cloud Platform (GCP) server has been connected with Azure Arc and is visible as a resource in Azure.

    Azure Arc 사용 서버에 대 한 리소스 그룹의 스크린샷

    Azure Arc 사용 서버에 대 한 연결 된 상태의 스크린샷

  3. Azure CLI를 설치 하거나 업데이트합니다.Install or update Azure CLI. Azure CLI 버전 2.7 이상을 실행 해야 합니다.Azure CLI should be running version 2.7 or later. az --version현재 설치 된 버전을 확인 하는 데 사용 합니다.Use az --version to check your current installed version.

  4. Azure 서비스 주체를 만듭니다.Create an Azure service principal.

    Azure Arc에 VM 또는 운영 체제 미 설치 서버를 연결 하려면 참가자 역할을 사용 하 여 할당 된 Azure 서비스 주체가 필요 합니다.To connect a VM or bare-metal server to Azure Arc, Azure service principal assigned with the Contributor role is required. 이를 만들려면 Azure 계정에 로그인 하 고 다음 명령을 실행 합니다.To create it, sign in to your Azure account and run the following command. Azure Cloud Shell에서이 명령을 실행할 수도 있습니다.You can also run this command in Azure Cloud Shell.

    az login
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor
    

    예를 들면 다음과 같습니다.For example:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor
    

    출력은 다음과 같습니다.The output should look like this:

    {
    "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "displayName": "AzureArcServers",
    "name": "http://AzureArcServers",
    "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
    "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    참고

    서비스 주체를 특정 Azure 구독 및 리소스 그룹으로 범위를 지정 하는 것이 좋습니다.We highly recommend that you scope the service principal to a specific Azure subscription and resource group.

또한 Log Analytics 작업 영역을 배포 해야 합니다.You'll also need to have a Log Analytics workspace deployed. ARM 템플릿 매개 변수 파일 을 편집 하 고 작업 영역에 대 한 이름 및 위치를 제공 하 여 배포를 자동화할 수 있습니다.You can automate the deployment by editing the ARM template parameters file and providing a name and location for your workspace.

ARM 템플릿 매개 변수 파일의 스크린샷

ARM 템플릿을 배포 하려면 배포 폴더로 이동 하 고 다음 명령을 실행 합니다.To deploy the ARM template, navigate to the deployment folder and run the following command:

az deployment group create --resource-group <Name of the Azure resource group> \
--template-file <The `log_analytics-template.json` template file location> \
--parameters <The `log_analytics-template.parameters.json` template file location>

Azure Arc 연결 된 컴퓨터에 정책 할당Assign policies to Azure Arc connected machines

모든 필수 구성 요소가 설정 된 후에 Azure Arc 연결 된 컴퓨터에 정책을 할당할 수 있습니다.After all the prerequisites are set, you can assign policies to the Azure Arc connected machines. 매개 변수 파일 을 편집 하 여 구독 ID 뿐만 아니라 Log Analytics 작업 영역을 제공 합니다.Edit the parameters file to provide your subscription ID as well as the Log Analytics workspace.

다른 ARM 템플릿 매개 변수 파일의 스크린샷

  1. 배포를 시작 하려면 다음 명령을 사용 합니다.To start the deployment, use the following command:

    az policy assignment create --name 'Enable Azure Monitor for VMs' \
    --scope '/subscriptions/<Your subscription ID>/resourceGroups/<Name of the Azure resource group>' \
    --policy-set-definition '55f3eceb-5573-4f18-9695-226972c6d74a' \
    -p <The *policy.json* template file location> \
    --assign-identity --location <Azure Region>
    

    policy-set-definition플래그는 이니셔티브 Enable Azure Monitor 정의 ID를 가리킵니다.The policy-set-definition flag points to the initiative Enable Azure Monitor definition ID.

  2. 이니셔티브를 할당 한 후에는 할당을 정의 된 범위에 적용 하는 데 30 분 정도가 소요 됩니다.After the initiative is assigned, it takes about 30 minutes for the assignment to be applied to the defined scope. 그런 다음 Azure Policy는 Azure Arc 연결 된 컴퓨터에 대해 평가 주기를 시작 하 고 아직 Log Analytics 에이전트 구성을 배포 하지 않았으므로 비규격으로 인식 합니다.Azure Policy then starts the evaluation cycle against the Azure Arc connected machine and recognizes it as noncompliant because it still doesn't have the Log Analytics agent configuration deployed. 이를 확인 하려면 정책 섹션 아래의 Azure Arc 연결 된 컴퓨터로 이동 합니다.To check this, go to the Azure Arc connected machine under the policies section.

    비규격 Azure Policy 상태의 스크린샷

  3. 이제 호환 상태로 전환 하기 위해 비규격 리소스에 수정 작업을 할당 합니다.Now, assign a remediation task to the noncompliant resource to put into a compliant state.

    Azure Policy 수정 작업을 만드는 스크린샷

  4. 수정할 정책 에서 미리 보기]를 선택 하 고 [ Linux Azure Arc 컴퓨터에 Log Analytics 에이전트를 배포한재구성 을 선택 합니다.Under Policy to remediate, choose [Preview] Deploy Log Analytics Agent to Linux Azure Arc machines and select Remediate. 이 수정 작업은 Azure Policy 하 여 효과를 실행 하 DeployIfNotExists 고 Azure Arc 확장 관리 기능을 사용 하 여 VM에 Log Analytics 에이전트를 배포 하는 것입니다.This remediation task is instructing Azure Policy to run the DeployIfNotExists effect and use the Azure Arc extension management capabilities to deploy the Log Analytics agent on the VM.

    수정 작업 내의 Azure Policy 수정 작업 스크린샷

  5. 재구성 작업을 할당 하면 정책이 다시 평가 됩니다.After you have assigned remediation task, the policy will be evaluated again. GCP의 서버가 규격 이며 Azure Arc 컴퓨터에 Microsoft Monitoring Agent 확장이 설치 되어 있는지를 표시 해야 합니다.It should show that the server on GCP is compliant and that the Microsoft Monitoring Agent extension is installed on the Azure Arc machine.

    재구성 작업 구성의 스크린샷

    규격 Azure Policy 상태의 스크린샷

환경 정리Clean up your environment

다음 단계를 완료 하 여 환경을 정리 합니다.Complete the following steps to clean up your environment.

  1. 각 가이드의 해체 지침에 따라 각 환경에서 가상 컴퓨터를 제거 합니다.Remove the virtual machines from each environment by following the teardown instructions from each guide.

  2. Azure CLI에서 다음 스크립트를 실행 하 여 Azure Policy 할당을 제거 합니다.Remove the Azure Policy assignment by executing the following script in Azure CLI.

    az policy assignment delete --name 'Enable Azure Monitor for VMs' --resource-group <resource-group>
    
  3. Azure CLI에서 다음 스크립트를 실행 하 여 Log Analytics 작업 영역을 제거 합니다.Remove the Log Analytics workspace by executing the following script in Azure CLI. Log Analytics 작업 영역을 만들 때 사용한 작업 영역 이름을 제공 합니다.Provide the workspace name you used when creating the Log Analytics workspace.

    az monitor log-analytics workspace delete --resource-group <Name of the Azure resource group> --workspace-name <Log Analytics workspace Name> --yes