Поделиться через


Устранение неполадок с реализацией политики Azure в Key Vault

В этой статье показано, как устранять общие ошибки, которые могут возникнуть при настройке политики Azure для Key Vault, а также предлагаются способы их устранения.

Сведения о политике Azure для Key Vault

Политика Azure — это средство управления, которое дает пользователям возможность выполнять аудит и управлять средой Azure в нужном масштабе. Политика Azure позволяет размещать охранники на ресурсах Azure, чтобы обеспечить соответствие правилам политики. Она позволяет пользователям выполнять аудит, принудительное применение в режиме реального времени и исправление среды Azure. Результаты аудита, выполняемые политикой, будут доступны пользователям на панели мониторинга соответствия требованиям, где они смогут увидеть детализацию, из которой ресурсы и компоненты соответствуют требованиям, и которые не соответствуют требованиям.

Ведение журнала

Чтобы отслеживать, как выполняется оценка политики, вы можете просматривать журналы Key Vault. Включение ведения журнала для Azure Key Vault, которое сохраняет сведения в предоставленной учетной записи хранения Azure. Пошаговые инструкции см. в руководстве по включению ведения журнала Key Vault.

Когда вы включаете ведение журнала, автоматически создается новый контейнер с именем AzurePolicyEvaluationDetails для сбора информации о журналах, связанных с политикой, в указанной вами учетной записи хранения.

Примечание.

Вы должны строго регулировать доступ к данным мониторинга, особенно к файлам журналов, так как они могут содержать конфиденциальную информацию. Узнайте, как применять встроенную роль мониторинга Azure и ограничивать доступ.

Отдельные BLOB-объекты хранятся как текст в формате JSON.

Рассмотрим пример записи журнала для политики ключей: ключи должны иметь набор дат окончания срока действия. Эта политика выполняет аудит всех ключей в хранилищах ключей и помечает несоответствующими те из них, для которых не задана дата окончания срока действия.

{
  "ObjectName": "example",
  "ObjectType": "Key",
  "IsComplianceCheck": false,
  "EvaluationDetails": [
    {
      "AssignmentId": "<subscription ID>",
      "AssignmentDisplayName": "[Preview]: Key Vault keys should have an expiration date",
      "DefinitionId": "<definition ID>",
      "DefinitionDisplayName": "[Preview]: Key Vault keys should have an expiration date",
      "Outcome": "NonCompliant",
      "ExpressionEvaluationDetails": [
        {
          "Result": "True",
          "Expression": "type",
          "ExpressionKind": "Field",
          "ExpressionValue": "Microsoft.KeyVault.Data/vaults/keys",
          "TargetValue": "Microsoft.KeyVault.Data/vaults/keys",
          "Operator": "Equals"
        },
        {
          "Result": "True",
          "Expression": "Microsoft.KeyVault.Data/vaults/keys/attributes.expiresOn",
          "ExpressionKind": "Field",
          "ExpressionValue": "******",
          "TargetValue": "False",
          "Operator": "Exists"
        }
      ]
    }
  ]
}

В следующей таблице перечислены имена и описания полей.

Имя поля Description
ObjectName Имя объекта.
ObjectType Тип объекта хранилища ключей: сертификат, секрет или ключ
IsComplianceCheck True, если оценка произошла во время ночного аудита, false, если оценка выполнена во время создания или обновления ресурса.
AssignmentId Идентификатор назначения политики.
AssignmentDisplayName Понятное имя назначения политики.
DefinitionId Идентификатор определения политики для назначения.
DefinitionDisplayName Понятное имя определения политики для назначения.
Результат Результат оценки политики.
ExpressionEvaluationDetails Сведения об оценке, которая выполняется во время оценки политики.
ExpressionValue Фактическое значение указанного поля во время оценки политики.
TargetValue Ожидаемое значение указанного поля.

Часто задаваемые вопросы

Восстановление Key Vault заблокировано политикой Azure

Одна из причин может заключаться в том, что ваша подписка (или группа управления) имеет политику, блокирующую восстановление. Исправление заключается в настройке политики, чтобы она не применялась при восстановлении хранилища.

Если вы видите тип RequestDisallowedByPolicy ошибки для восстановления из-за встроенной политики, убедитесь, что вы используете самую обновленную версию.

Если вы создали настраиваемую политику с собственной логикой, вот пример части политики, которую можно использовать для настройки требования обратимого удаления. Для восстановления хранилища, удаленного с помощью функции обратимого удаления, используется тот же API, что и для создания или обновления хранилища. Но вместо определения свойств хранилища используется единственное свойство createMode со значением recover. Хранилище будет восстановлено с теми свойствами, которые у него были при удалении. Политики, которые блокируют запросы, если для них не настроены определенные свойства, также будут блокировать восстановление хранилищ, удаленных с помощью функции обратимого удаления. Исправление — включить предложение, которое заставит политику игнорировать запросы, где значение createMode равно recover:

Вы увидите предложение, которое будет заставлять политику применяться только тогда, когда значение createMode не равно recovery:


    "policyRule": { 
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.KeyVault/vaults"
          }, 
          {
            "not": {
              "field": "Microsoft.Keyvault/vaults/createMode",
              "equals": "recover"
            }
          },
          {
            "anyOf": [
              {
                "field": "Microsoft.KeyVault/vaults/enableSoftDelete",
                "exists": "false"
              },
              {
                "field": "Microsoft.KeyVault/vaults/enableSoftDelete",
                "equals": "false"
              }
            ]
          }
        ]
      },
      "then": {
        "effect": "[parameters('effect')]"
      }
    }

Задержка при удалении назначения политики Azure в Key Vault

Microsoft.KeyVault.Data: отмена применения удаленного назначения политики может занять до 24 часов.

Исправление: обновите действие назначения политики на "Отключено".

Создание секрета с помощью шаблона ARM без оценки политики

Политики плоскости данных, которые оценивают создание секретов, не будут применимы к секретам, созданным с помощью шаблона ARM во время создания секрета. Через 24 часа, когда будет произведена автоматическая проверка соответствия, можно будет просмотреть результаты соответствия.

Следующие шаги