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


Предотвращение репликации объектов в клиентах Microsoft Entra

Репликация объектов асинхронно копирует блочные объекты из контейнера в одной учетной записи хранения в контейнер в другой учетной записи хранения. При настройке политики репликации объектов укажите исходную учетную запись и контейнер, а также целевую учетную запись и контейнер. После настройки политики служба хранилища Azure автоматически копирует результаты операций создания, обновления и удаления исходного объекта в целевой объект. Дополнительные сведения о репликации объектов в службе хранилища Azure см. в разделе "Репликация объектов" для блочных BLOB-объектов.

Авторизованный пользователь может настроить политику репликации объектов, в которой исходная учетная запись находится в одном клиенте Microsoft Entra, а целевая учетная запись находится в другом клиенте, если репликация между клиентами Microsoft Entra разрешена. Если политикам безопасности требуется ограничить репликацию объектов учетными записями хранения, которые находятся только в одном клиенте, можно запретить создание политик, в которых исходные и целевые учетные записи находятся в разных клиентах. По умолчанию репликация межтенантных объектов отключена для всех новых учетных записей хранения, созданных после 15 декабря 2023 г., если только она не будет явно разрешена.

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

Дополнительные сведения о настройке политик репликации объектов, включая политики межтенантной репликации, см. в статье "Настройка репликации объектов для блочных BLOB-объектов".

Исправление репликации объектов между арендаторами

Чтобы предотвратить репликацию объектов в клиентах Microsoft Entra, задайте для свойства AllowCrossTenantReplication значение false. Если учетная запись хранения в настоящее время не участвует в каких-либо политиках репликации объектов между клиентами, присвойте свойству AllowCrossTenantReplicationзначение false , чтобы предотвратить дальнейшую настройку политик репликации объектов между клиентами с этой учетной записью хранения в качестве источника или назначения. Однако если учетная запись хранения в настоящее время участвует в одной или нескольких политиках репликации объектов между клиентами, то установка свойства AllowCrossTenantReplication в значение false не разрешается до удаления существующих политик репликации объектов между клиентами.

Политики между клиентами по умолчанию не допускаются для учетной записи хранения, созданной после 15 декабря 2023 г. Однако свойство AllowCrossTenantReplication не было задано по умолчанию для существующей учетной записи хранения, созданной до 15 декабря 2023 г., и не возвращает значение, пока не будет явно задано. Учетная запись хранения может участвовать в политиках репликации объектов между арендаторами, если значение свойства равно null или true в случае учетных записей, созданных до 15 декабря 2023 года. Для учетных записей, созданных после этого времени, свойство должно иметь значение true. Установка свойства AllowCrossTenantReplication не вызывает простоя учетной записи хранения.

Устранение проблем с репликацией между клиентами для новой учетной записи

Чтобы запретить репликацию между клиентами для новой учетной записи хранения, используйте портал Azure, PowerShell или Azure CLI. Свойство по умолчанию равно false для новых учетных записей, созданных после 15 декабря 2023 года, даже если не задано явно.

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

  1. На портале Azure перейдите на страницу учетных записей хранения и нажмите кнопку "Создать".

  2. Заполните вкладку "Основы" для новой учетной записи хранения.

  3. На вкладке "Дополнительно " в разделе хранилища блобов найдите параметр "Разрешить репликацию между арендаторами " и снимите флажок.

    Снимок экрана, показывающий, как запретить межарендную репликацию объектов для новой учетной записи хранения

  4. Завершите процесс создания учетной записи.

Исправить межтенантную репликацию для существующей учетной записи

Чтобы запретить репликацию между клиентами для существующей учетной записи хранения, используйте портал Azure, PowerShell или Azure CLI.

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

  1. Войдите в свою учетную запись хранения на портале Azure.

  2. В разделе "Управление данными" выберите репликацию объектов.

  3. Выберите Расширенные параметры.

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

    Снимок экрана, показывающий, как запретить репликацию объектов между арендаторами для существующей учетной записи хранения

  5. Нажмите кнопку ОК, чтобы сохранить изменения.

Если учетная запись хранения в настоящее время участвует в одной или нескольких политиках межтенантной репликации, вы не сможете запретить репликацию объектов между клиентами, пока не удалите эти политики. В этом сценарии параметр недоступен на портале Azure, как показано на следующем рисунке.

Снимок экрана

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

Если репликация объектов между клиентами запрещена для учетной записи хранения, все новые политики репликации объектов, создаваемые с этой учетной записью, должны включать полные идентификаторы Azure Resource Manager для исходной и целевой учетной записи. Для службы хранилища Azure требуется полный идентификатор ресурса, чтобы проверить, находятся ли исходные и целевые учетные записи в одном клиенте. Дополнительные сведения см. в разделе "Указание полных идентификаторов ресурсов" для исходных и целевых учетных записей.

Свойство AllowCrossTenantReplication поддерживается только для учетных записей хранения, использующих только модель развертывания Azure Resource Manager. Сведения о том, какие учетные записи хранения используют модель развертывания Azure Resource Manager, см. в разделе Типы учетных записей хранения.

Разрешения для разрешения или запрета репликации между клиентами

Чтобы задать свойство AllowCrossTenantReplication для учетной записи хранения, пользователь должен иметь разрешения на создание учетных записей хранения и управление ими. Роли управления доступом на основе ролей Azure (Azure RBAC), предоставляющие эти разрешения, включают в себя действия Microsoft.Storage/storageAccounts/write или Microsoft.Storage/storageAccounts/*. Встроенные роли, включающие это действие, включают:

Эти роли не предоставляют доступ к данным в учетной записи хранения с помощью идентификатора Microsoft Entra. Однако они включают действие Microsoft.Storage/storageAccounts/listkeys/action, которое предоставляет доступ к ключам доступа учетной записи. Пользователь с этим разрешением может использовать ключи доступа учетной записи для доступа ко всем данным в учетной записи хранения.

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

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

Примечание.

Роли администратора классической подписки "администратор службы" и "соадминистратор" включают в себя эквивалент роли владельца Azure Resource Manager. Роль владельца включает в себя все действия, поэтому пользователь, которому назначена одна из этих административных ролей, также может создавать учетные записи хранения и управлять ими. Дополнительные сведения см. в статье о ролях Azure, ролях Microsoft Entra и классических ролях администратора подписки.

Использование Политики Azure для аудита соответствия

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

Создайте политику с эффектом аудита

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

Чтобы создать политику с эффектом аудита для параметра репликации объектов между клиентами для учетной записи хранения с помощью портала Azure, выполните следующие действия.

  1. На портале Microsoft Azure перейдите к службе "Политика Azure".

  2. В разделе Разработка выберите Определения.

  3. Выберите Добавить определение политики, чтобы создать новое определение политики.

  4. В поле Расположение определения нажмите кнопку Дополнительно, чтобы указать, где находится ресурс политики аудита.

  5. Укажите имя политики. При необходимости можно добавить описание и категорию.

  6. В разделе Правило политики добавьте следующее определение политики в раздел policyRule.

    {
      "if": {
        "allOf": [
          {
            "field": "type",
            "equals": "Microsoft.Storage/storageAccounts"
          },
          {
            "not": {
              "field":"Microsoft.Storage/storageAccounts/allowCrossTenantReplication",
              "equals": "false"
            }
          }
        ]
      },
      "then": {
        "effect": "audit"
      }
    }
    
  7. Сохраните политику.

Назначьте политику

Затем назначьте политику для ресурса. Область политики соответствует этому ресурсу и всем ресурсам на нижележащих уровнях. Дополнительные сведения о назначении политики см. в разделе Структура назначения Политики Azure.

Чтобы назначить политику на портале Microsoft Azure, выполните следующие действия.

  1. На портале Microsoft Azure перейдите к службе "Политика Azure".
  2. В разделе Авторство выберите Назначения.
  3. Выберите Назначить политику, чтобы создать новое назначение политики.
  4. В поле Область выберите область назначения политики.
  5. В поле Определение Политики Azure нажмите кнопку Дополнительно, а затем выберите из списка политику, определенную в предыдущем разделе.
  6. Укажите имя для назначения политики. Описание является необязательным.
  7. Оставьте для параметра Применение политик значение Включено. Этот параметр не влияет на политику аудита.
  8. Щелкните Просмотреть и создать, чтобы создать назначение.

Просмотр отчета о соответствии

После назначения политики можно просмотреть отчет о соответствии. Отчет о соответствии политике аудита содержит сведения о том, какие учетные записи хранения по-прежнему разрешают политики репликации объектов между клиентами. Дополнительные сведения см. в статье Получение данных о соответствии политики.

После создания назначения политики может пройти несколько минут, прежде чем отчет о соответствии станет доступен.

Чтобы просмотреть отчет о соответствии на портале Microsoft Azure, выполните следующие действия.

  1. На портале Microsoft Azure перейдите к службе "Политика Azure".

  2. Выберите Соответствие.

  3. Отфильтруйте результаты по имени назначения политики, созданной на предыдущем этапе. В отчете показаны ресурсы, которые не соответствуют политике.

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

    Снимок экрана с отчетом о соответствии политике аудита для репликации объектов BLOB между арендаторами

Использование политики Azure для принудительного применения политик репликации одного клиента

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

Чтобы создать политику с эффектом "Запретить" для репликации объектов между клиентами, выполните те же действия, которые описаны в статье "Использование политики Azure для аудита соответствия требованиям", но укажите следующий код JSON в разделе policyRule определения политики:

{
  "if": {
    "allOf": [
      {
        "field": "type",
        "equals": "Microsoft.Storage/storageAccounts"
      },
      {
        "not": {
          "field":"Microsoft.Storage/storageAccounts/allowCrossTenantReplication",
          "equals": "false"
        }
      }
    ]
  },
  "then": {
    "effect": "deny"
  }
}

После создания политики с эффектом "Запретить" и назначения ее области пользователю не удается создать учетную запись хранения, которая позволяет репликации объектов между клиентами. Пользователь не может вносить изменения конфигурации в существующую учетную запись хранения, которая в настоящее время разрешает репликацию объектов между клиентами. Попытка сделать это приведет к ошибке. Свойство AllowCrossTenantReplication для учетной записи хранения должно иметь значение false , чтобы продолжить создание или обновление конфигурации учетной записи в соответствии с политикой.

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

Снимок экрана, на котором показана ошибка, возникающая при создании учетной записи хранения с нарушением политики

См. также