Устранение неполадок при реализации политики 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"
        }
      ]
    }
  ]
}

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

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

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

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

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

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

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

Эта политика имеет предложение, которое приводит к применению политики только в том случае, если createMode не равно "восстановить":


    "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 часа, когда будет выполняться автоматическая проверка соответствия требованиям, и результаты соответствия могут быть проверены.

Дальнейшие шаги