M365Con 2027 – бесплатная онлайн-конференция · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Системные и пользовательские управляемые идентификаторы Azure: что выбрать?

By ·

Сравните системные и пользовательские управляемые идентификаторы Azure. Узнайте, какой тип идентификатора выбрать, чтобы снизить административные накладные расходы и масштабироваться безопасно.

Automatically translated with AI from the original post. Read the English original

Cover: Azure Managed Identities - Simply Explained

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

Главное

Ключевые различия

Когда вы начинаете проектировать безопасные облачные приложения без жёстко заданных секретов и строк подключения, нужно определить, как ваши рабочие нагрузки будут проходить аутентификацию в Microsoft Entra ID. Azure предлагает два вида управляемых идентификаторов: системные и пользовательские. Понимание того, как они работают внутри, сэкономит вашей инженерной команде бесчисленные часы на поиск неисправностей и административное обслуживание.

Как работают системные идентификаторы

Системный управляемый идентификатор включается непосредственно в конкретном ресурсе Azure, например в виртуальной машине Azure, App Service или Function App. Представьте, что он рождается вместе с ресурсом и умирает вместе с ним. Когда вы включаете системный идентификатор на виртуальной машине, Azure создаёт в Microsoft Entra ID идентификатор с точно таким же именем, как у этого ресурса.

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

Как работают пользовательские идентификаторы

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

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

Административная нагрузка и назначение ролей

Практические различия между этими двумя типами идентификаторов становятся очевидны, когда речь заходит об управлении контролем доступа на основе ролей (RBAC) в крупных средах. Каждый раз, когда вы предоставляете идентификатору доступ к учетной записи хранения, хранилищу ключей или базе данных, необходимо создать назначение роли Azure.

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

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

Архитектурные ловушки и пограничные случаи

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

Если вы быстро создаете и удаляете среды разработки, тестирования или контейнерные среды в течение дня, используя идентификаторы, назначаемые системой, эти идентификаторы будут накапливаться в Microsoft Entra ID до того, как выполнятся процедуры очистки. В итоге организации могут упереться в ограничения частоты запросов к каталогу Azure, и платформа начнет отклонять запросы на создание новых ресурсов. Совместное использование одного идентификатора, назначаемого пользователем, для таких эфемерных нагрузок полностью позволяет избежать этой ловушки.

И наоборот, идентификаторы, назначаемые системой, незаменимы в двух конкретных сценариях:

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

Заключение

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

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

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

Может ли один ресурс Azure использовать одновременно управляемые идентификаторы, назначаемые системой и пользователем?

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

Что происходит с идентификатором, назначаемым пользователем, когда ресурс Azure, к которому он подключен, удаляется?

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

Почему Microsoft рекомендует идентификаторы, назначаемые пользователем, для большинства сценариев с несколькими ресурсами?

Microsoft рекомендует идентификаторы, назначаемые пользователем, в первую очередь для снижения административной нагрузки и разрастания назначений ролей. Совместное использование одного идентификатора несколькими вычислительными ресурсами значительно сокращает количество назначений RBAC, которые нужно создавать и поддерживать.

Стоят ли управляемые идентификаторы денег в Azure?

Нет, и системно назначаемые, и пользовательски назначаемые управляемые удостоверения — бесплатные функции, входящие в состав Microsoft Entra ID для ресурсов Azure. Однако к базовым службам вычислений или хранения, к которым вы обращаетесь, могут применяться стандартные расходы.

Azure App Service Microsoft Entra ID Azure Functions

Related articles

RSS