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

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

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

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

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

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

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

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

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

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

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

  1. Перейдите на портале Azure на страницу Учетная запись хранения и щелкните Создать.

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

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

    Screenshot showing how to disallow cross-tenant object replication for a new storage account

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

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

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

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

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

  2. В разделе Управление данными выберите Object replication (Репликация объектов).

  3. Выберите Дополнительные параметры.

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

    Screenshot showing how to disallow cross-tenant object replication for an existing storage account

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

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

Screenshot

После запрещения репликации между арендаторами попытка настроить политику для нескольких арендаторов с учетной записью хранения, указанной в качестве источника или назначения, завершится неудачей. Служба хранилища 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. Укажите имя политики Azure. При необходимости можно добавить описание и категорию.

  6. В разделе Правило политики добавьте следующее определение Политики Azure в раздел 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. Вы можете детализировать отчет для получения дополнительных сведений, включая список учетных записей хранения, которые не соответствуют требованиям.

    Screenshot showing compliance report for audit policy for blob cross-tenant object replication

Применение политик репликации в одном арендаторе с помощью Политики 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.

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

Screenshot showing the error that occurs when creating a storage account in violation of policy

См. также