Определение причин несоответствия требованиямDetermine causes of non-compliance

Если ресурс Azure определен как не соответствующий правилу политики, полезно понимать, с какой частью правила он не соответствует.When an Azure resource is determined to be non-compliant to a policy rule, it's helpful to understand which portion of the rule the resource isn't compliant with. Также полезно понять, какое изменение изменило ранее совместимый ресурс, чтобы сделать его несоответствующим.It's also useful to understand what change altered a previously compliant resource to make it non-compliant. Найти эти сведения можно двумя способами:There are two ways to find this information:

Сведения о соответствииCompliance details

Если ресурс не соответствует требованиям, сведения о соответствии для этого ресурса доступны на странице соответствие политике .When a resource is non-compliant, the compliance details for that resource are available from the Policy compliance page. Область сведения о соответствии содержит следующие сведения.The compliance details pane includes the following information:

  • Сведения о ресурсах, такие как имя, тип, расположение и идентификатор ресурсаResource details such as name, type, location, and resource ID
  • Состояние соответствия и отметка времени последней оценки для текущего назначения политикиCompliance state and timestamp of the last evaluation for the current policy assignment
  • Список причин несоответствия ресурсовA list of reasons for the resource non-compliance

Важно!

Так как сведения о соответствии для несоответствующего ресурса показывают текущее значение свойств этого ресурса, пользователь должен иметь операцию чтения с типом ресурса.As the compliance details for a Non-compliant resource shows the current value of properties on that resource, the user must have read operation to the type of resource. Например, если ресурсом, который не соответствует требованиям , является Microsoft. COMPUTE/virtualMachines , то пользователь должен иметь операцию Microsoft. COMPUTE/virtualMachines/Read .For example, if the Non-compliant resource is Microsoft.Compute/virtualMachines then the user must have the Microsoft.Compute/virtualMachines/read operation. Если у пользователя нет необходимой операции, отображается ошибка доступа.If the user doesn't have the needed operation, an access error is displayed.

Чтобы просмотреть сведения о соответствии, выполните следующие действия.To view the compliance details, follow these steps:

  1. Запустите службу "Политика Azure" на портале Azure, щелкнув Все службы, а затем выполнив поиск и выбрав Политика.Launch the Azure Policy service in the Azure portal by clicking All services, then searching for and selecting Policy.

  2. На странице Обзор или соответствие выберите политику в состоянии соответствия , которое не соответствует требованиям.On the Overview or Compliance page, select a policy in a compliance state that is Non-compliant.

  3. На вкладке соответствие ресурсов на странице соответствие политике щелкните правой кнопкой мыши или выберите многоточие ресурса в состоянии соответствия , которое не соответствует требованиям.Under the Resource compliance tab of the Policy compliance page, right-click or select the ellipsis of a resource in a compliance state that is Non-compliant. Затем выберите Просмотреть сведения о соответствии.Then select View compliance details.

    Просмотр параметра сведений о соответствии

  4. В области сведения о соответствии отображаются сведения от последней оценки ресурса до текущего назначения политики.The Compliance details pane displays information from the latest evaluation of the resource to the current policy assignment. В этом примере для поля Microsoft. SQL/Servers/Version обнаружено значение 12,0 , а для определения политики — значение 14,0.In this example, the field Microsoft.Sql/servers/version is found to be 12.0 while the policy definition expected 14.0. Если ресурс не соответствует нескольким причинам, каждый из них отображается на этой панели.If the resource is non-compliant for multiple reasons, each is listed on this pane.

    Область сведений о соответствии и причины несоответствия

    Для определения политики помощью параметров auditifnotexists или deployIfNotExists сведения включают свойство Details. Type и все необязательные свойства.For an auditIfNotExists or deployIfNotExists policy definition, the details include the details.type property and any optional properties. Список см. в разделе Свойства помощью параметров auditifnotexists и Свойства deployIfNotExists.For a list, see auditIfNotExists properties and deployIfNotExists properties. Последний оцененный ресурс — это связанный ресурс из раздела Details определения.Last evaluated resource is a related resource from the details section of the definition.

    Пример частичного определения deployIfNotExists :Example partial deployIfNotExists definition:

    {
        "if": {
            "field": "type",
            "equals": "[parameters('resourceType')]"
        },
        "then": {
            "effect": "DeployIfNotExists",
            "details": {
                "type": "Microsoft.Insights/metricAlerts",
                "existenceCondition": {
                    "field": "name",
                    "equals": "[concat(parameters('alertNamePrefix'), '-', resourcegroup().name, '-', field('name'))]"
                },
                "existenceScope": "subscription",
                "deployment": {
                    ...
                }
            }
        }
    }
    

    Область сведений о соответствии — * Ифнотексистс

Примечание

Для защиты данных, если значение свойства является секретом , текущее значение отображает звездочки.To protect data, when a property value is a secret the current value displays asterisks.

В этих сведениях объясняется, почему ресурс в настоящее время не соответствует требованиям, но не показывает, когда было внесено изменение в ресурс, вызвавший, что он стал несоответствующим.These details explain why a resource is currently non-compliant, but don't show when the change was made to the resource that caused it to become non-compliant. Дополнительные сведения см. в разделе История изменений (Предварительная версия) ниже.For that information, see Change history (Preview) below.

Причины соответствияCompliance reasons

Следующая матрица сопоставляет каждую возможную причину с ответственным условием в определении политики:The following matrix maps each possible reason to the responsible condition in the policy definition:

ПричинаReason УсловиеCondition
Текущее значение должно содержать целевое значение в качестве ключа.Current value must contain the target value as a key. containsKey или не нотконтаинскэйcontainsKey or not notContainsKey
Текущее значение должно содержать целевое значение.Current value must contain the target value. Contains или Not notContainscontains or not notContains
Текущее значение должно быть равно целевому значению.Current value must be equal to the target value. Equals или Not notEqualsequals or not notEquals
Текущее значение должно быть меньше целевого значения.Current value must be less than the target value. меньше или не греатерорекуалсless or not greaterOrEquals
Текущее значение должно быть больше целевого значения или равно ему.Current value must be greater than or equal to the target value. Греатерорекуалс или не меньшеgreaterOrEquals or not less
Текущее значение должно быть больше целевого значения.Current value must be greater than the target value. выше или не лессорекуалсgreater or not lessOrEquals
Текущее значение должно быть меньше целевого значения или равно ему.Current value must be less than or equal to the target value. Лессорекуалс или не вышеlessOrEquals or not greater
Текущее значение должно существовать.Current value must exist. exists (существует)exists
Текущее значение должно быть в целевом значении.Current value must be in the target value. в или не notInin or not notIn
Текущее значение должно быть похоже на целевое значение.Current value must be like the target value. Like или Not notLikelike or not notLike
Текущее значение должно соответствовать целевому значению с учетом регистра.Current value must case-sensitive match the target value. Match или Not notMatchmatch or not notMatch
Текущее значение должно соответствовать целевому значению без учета регистра.Current value must case-insensitive match the target value. Матчинсенситивели или не нотматчинсенситивелиmatchInsensitively or not notMatchInsensitively
Текущее значение не должно содержать целевое значение в качестве ключа.Current value must not contain the target value as a key. Нотконтаинскэй или не ContainsKeynotContainsKey or not containsKey
Текущее значение не должно содержать целевое значение.Current value must not contain the target value. notContains или не содержитnotContains or not contains
Текущее значение не должно равняться целевому значению.Current value must not be equal to the target value. notEquals или Not EqualsnotEquals or not equals
Текущее значение не должно существовать.Current value must not exist. не существуетnot exists
Текущее значение не должно быть в целевом значении.Current value must not be in the target value. notIn или не вnotIn or not in
Текущее значение не должно быть похоже на целевое значение.Current value must not be like the target value. notLike или не нравитсяnotLike or not like
Текущее значение не должно соответствовать целевому значению без учета регистра.Current value must not case-sensitive match the target value. notMatch или не соответствуетnotMatch or not match
Текущее значение не должно соответствовать целевому значению без учета регистра.Current value must not case-insensitive match the target value. Нотматчинсенситивели или не матчинсенситивелиnotMatchInsensitively or not matchInsensitively
Нет связанных ресурсов, соответствующих сведениям о действиях в определении политики.No related resources match the effect details in the policy definition. Ресурс с типом, определенным в then. Details. Type и связанный с ресурсом, определенным в части правила политики, которая не существует.A resource of the type defined in then.details.type and related to the resource defined in the if portion of the policy rule doesn't exist.

Сведения о соответствии для гостевой конфигурацииCompliance details for Guest Configuration

Для политик помощью параметров auditifnotexists в категории конфигурации "гость " в виртуальной машине может быть определено несколько параметров, поэтому необходимо просмотреть подробные сведения о параметрах.For auditIfNotExists policies in the Guest Configuration category, there could be multiple settings evaluated inside the VM and you'll need to view per-setting details. Например, если вы выполняете аудит для списка политик паролей и только один из них имеет состояние не соответствует, необходимо знать, какие политики паролей не соответствуют требованиям и почему.For example, if you're auditing for a list of password policies and only one of them has status Non-compliant, you'll need to know which specific password policies are out of compliance and why.

У вас также может не быть доступа для входа на виртуальную машину напрямую, но необходимо сообщить о том, почему виртуальная машина не соответствует требованиям.You also might not have access to sign in to the VM directly but you need to report on why the VM is Non-compliant.

Портал AzureAzure portal

Сначала выполните действия, описанные в предыдущем разделе, чтобы просмотреть сведения о соответствии политике.Begin by following the same steps in the section above for viewing policy compliance details.

В области сведения о соответствии щелкните ссылку последний оцененный ресурс.In the Compliance details pane view click the link Last evaluated resource.

Просмотреть сведения об определении помощью параметров auditifnotexists

На странице назначения гостей отображаются все доступные сведения о соответствии.The Guest Assignment page displays all available compliance details. Каждая строка в представлении представляет собой вычисление, выполненное внутри компьютера.Each row in the view represents an evaluation that was performed inside the machine. В столбце Причина отображается фраза, описывающая, почему назначение гостя не соответствует требованиям .In the Reason column, a phrase describing why the Guest Assignment is Non-compliant is shown. Например, при аудите политик паролей в столбце Причина будет отображаться текст, включая текущее значение для каждого параметра.For example, if you're auditing password policies, the Reason column would display text including the current value for each setting.

Просмотр сведений о соответствии

Azure PowerShellAzure PowerShell

Также можно просмотреть сведения о соответствии Azure PowerShell.You can also view compliance details from Azure PowerShell. Сначала убедитесь, что установлен модуль гостевой конфигурации.First, make sure you have the Guest Configuration module installed.

Install-Module Az.GuestConfiguration

Вы можете просмотреть текущее состояние всех назначений гостей для виртуальной машины с помощью следующей команды:You can view the current status of all Guest Assignments for a VM using the following command:

Get-AzVMGuestPolicyReport -ResourceGroupName <resourcegroupname> -VMName <vmname>
PolicyDisplayName                                                         ComplianceReasons
-----------------                                                         -----------------
Audit that an application is installed inside Windows VMs                 {[InstalledApplication]bwhitelistedapp}
Audit that an application is not installed inside Windows VMs.            {[InstalledApplication]NotInstalledApplica...

Чтобы просмотреть только конечную фразу , описывающую причину _несоответствия_виртуальной машины, возвращайте только свойство дочернего элемента Reason.To view only the reason phrase that describes why the VM is Non-compliant, return only the Reason child property.

Get-AzVMGuestPolicyReport -ResourceGroupName <resourcegroupname> -VMName <vmname> | % ComplianceReasons | % Reasons | % Reason
The following applications are not installed: '<name>'.

Вы также можете вывести журнал соответствия для назначений гостей в области действия для компьютера.You can also output a compliance history for Guest Assignments in scope for the machine. Выходные данные этой команды содержат сведения о каждом отчете для виртуальной машины.The output from this command includes the details of each report for the VM.

Примечание

Выходные данные могут возвращать большой объем данных.The output may return a large volume of data. Рекомендуется хранить выходные данные в переменной.It's recommended to store the output in a variable.

$guestHistory = Get-AzVMGuestPolicyStatusHistory -ResourceGroupName <resourcegroupname> -VMName <vmname>
$guestHistory
PolicyDisplayName                                                         ComplianceStatus ComplianceReasons StartTime              EndTime                VMName LatestRepor
                                                                                                                                                                  tId
-----------------                                                         ---------------- ----------------- ---------              -------                ------ -----------
[Preview]: Audit that an application is installed inside Windows VMs      NonCompliant                       02/10/2019 12:00:38 PM 02/10/2019 12:00:41 PM VM01  ../17fg0...
<truncated>

Чтобы упростить это представление, используйте параметр шовчанжед .To simplify this view, use the ShowChanged parameter. Выходные данные этой команды включают только отчеты, которые следуют за изменением состояния соответствия.The output from this command only includes the reports that followed a change in compliance status.

$guestHistory = Get-AzVMGuestPolicyStatusHistory -ResourceGroupName <resourcegroupname> -VMName <vmname> -ShowChanged
$guestHistory
PolicyDisplayName                                                         ComplianceStatus ComplianceReasons StartTime              EndTime                VMName LatestRepor
                                                                                                                                                                  tId
-----------------                                                         ---------------- ----------------- ---------              -------                ------ -----------
Audit that an application is installed inside Windows VMs                 NonCompliant                       02/10/2019 10:00:38 PM 02/10/2019 10:00:41 PM VM01  ../12ab0...
Audit that an application is installed inside Windows VMs.                Compliant                          02/09/2019 11:00:38 AM 02/09/2019 11:00:39 AM VM01  ../e3665...
Audit that an application is installed inside Windows VMs                 NonCompliant                       02/09/2019 09:00:20 AM 02/09/2019 09:00:23 AM VM01  ../15ze1...

Журнал изменений (Предварительная версия)Change history (Preview)

В рамках новой общедоступной предварительной версииИстория изменений за последние 14 дней доступна для всех ресурсов Azure, поддерживающих полное удаление режима.As part of a new public preview, the last 14 days of change history are available for all Azure resources that support complete mode deletion. Журнал изменений содержит подробные сведения о том, когда было обнаружено изменение и отличия между визуальными элементами для каждого изменения.Change history provides details about when a change was detected and a visual diff for each change. Обнаружение изменений активируется при добавлении, удалении или изменении свойств диспетчер ресурсов.A change detection is triggered when the Resource Manager properties are added, removed, or altered.

  1. Запустите службу "Политика Azure" на портале Azure, щелкнув Все службы, а затем выполнив поиск и выбрав Политика.Launch the Azure Policy service in the Azure portal by clicking All services, then searching for and selecting Policy.

  2. На странице Обзор или соответствие выберите политику в любом состоянии соответствия.On the Overview or Compliance page, select a policy in any compliance state.

  3. На вкладке соответствие ресурсов на странице соответствие политике выберите ресурс.Under the Resource compliance tab of the Policy compliance page, select a resource.

  4. На странице Соответствие ресурсов выберите вкладку Журнал изменений (предварительная версия) .Select the Change History (preview) tab on the Resource Compliance page. После этого отобразится список обнаруженных изменений (при наличии).A list of detected changes, if any exist, are displayed.

    Вкладка "журнал изменений политики Azure" на странице "соответствие ресурсов"

  5. Выберите одно из обнаруженных изменений.Select one of the detected changes. Визуальная разница для ресурса представлена на странице Журнал изменений .The visual diff for the resource is presented on the Change history page.

    Страница "журнал изменений" политики Azure — Визуальная разница на странице журнала изменений

Отличия между визуальными элементами позволяют обнаружить изменения ресурса.The visual diff aides in identifying changes to a resource. Обнаруженные изменения могут не быть связаны с текущим состоянием соответствия ресурса.The changes detected may not be related to the current compliance state of the resource.

Данные журнала изменений предоставляются графом ресурсов Azure.Change history data is provided by Azure Resource Graph. Сведения о запросе этих сведений за пределами портал Azure см. в разделе Получение изменений ресурсов.To query this information outside of the Azure portal, see Get resource changes.

Дальнейшие действияNext steps