Что такое управляемые удостоверения для ресурсов Azure?
Управление секретами, учетными данными, сертификатами и ключами, используемыми для защиты обмена данными между различными службами, зачастую представляет трудности для разработчиков. Управляемые удостоверения избавляют разработчиков от необходимости управлять учетными данными.
Разработчики могут безопасно хранить секреты в Azure Key Vault, однако службам нужен способ доступа к этому хранилищу. Управляемое удостоверение предоставляет для приложений автоматически управляемое удостоверение в Azure Active Directory (Azure AD), которое используется для подключения к ресурсам, поддерживающим проверку подлинности Azure AD. Приложения могут использовать управляемые удостоверения для получения маркеров Azure AD, и при этом им не нужно управлять учетными данными.
В следующем видео показано, как использовать управляемые удостоверения:
Ниже приведены некоторые преимущества использования управляемых удостоверений.
- Управление учетными данными не требуется. Даже у вас нет доступа к учетным данным.
- Управляемые удостоверения можно использовать для проверки подлинности при доступе к любому ресурсу, который поддерживает проверку подлинности AAD, в том числе к собственным приложениям.
- Управляемые удостоверения можно использовать без дополнительных затрат.
Примечание
Управляемые удостоверения для ресурсов Azure — это новое название службы "Управляемое удостоверение службы" (MSI).
Типы управляемых удостоверений
Существует два типа управляемых удостоверений.
Назначаемые системой. Некоторые ресурсы Azure, например виртуальные машины, позволяют включить управляемое удостоверение непосредственно в ресурсе. При включении управляемого удостоверения, назначаемого системой:
- Субъект-служба специального типа создается в Azure AD для удостоверения. Субъект-служба привязан к жизненному циклу этого ресурса Azure. При удалении ресурса Azure Azure автоматически удаляет субъект-службу.
- Только ресурс Azure может использовать это удостоверение для запроса маркеров из Azure AD.
- Вы разрешаете управляемому удостоверению доступ к одной или нескольким службам.
- Имя субъекта-службы, назначаемого системой, всегда совпадает с именем ресурса Azure, для который он создан. Для слота развертывания имя назначаемого системой удостоверения —
<app-name>/slots/<slot-name>
.
Назначаемые пользователем. Вы также можете сами создать управляемое удостоверение в качестве автономного ресурса Azure. Вы можете создать управляемое удостоверение, назначаемое пользователем , и назначить его одному или нескольким ресурсам Azure. При включении управляемого удостоверения, назначаемого пользователем:
- Субъект-служба специального типа создается в Azure AD для удостоверения. Субъект-служба управляется отдельно от ресурсов, которые его используют.
- Удостоверения, назначаемые пользователем, могут использоваться несколькими ресурсами.
- Вы разрешаете управляемому удостоверению доступ к одной или нескольким службам.
В следующей таблице показаны различия между двумя типами управляемых удостоверений.
Свойство | Управляемое удостоверение, назначаемое системой | Управляемое удостоверение, назначаемое пользователем |
---|---|---|
Создание | Создается как часть ресурса Azure (например, виртуальной машины Azure или Службы приложений Azure). | Создано в качестве автономного ресурса Azure. |
Жизненный цикл | Жизненный цикл в общем доступе с ресурсом Azure, указанным при создании управляемого удостоверения. При удалении родительского ресурса управляемое удостоверение также удаляется. |
Независимый жизненный цикл. Должен быть явно удален. |
Совместное использование ресурсов Azure | Не может использоваться совместно. Может быть связано только с одним ресурсом Azure. |
Может быть в общем доступе. Одно и то же назначаемое пользователем управляемое удостоверение может быть связано с несколькими ресурсами Azure. |
Распространенные варианты использования | Рабочие нагрузки, содержащиеся в одном ресурсе Azure. Рабочие нагрузки, требующие независимых удостоверений. Например, приложение, выполняющееся на одной виртуальной машине. |
Рабочие нагрузки, которые выполняются на нескольких ресурсах и могут совместно использовать одно удостоверение. Рабочие нагрузки, требующие предварительной авторизации для защищенного ресурса в рамках потока подготовки. Рабочие нагрузки, где ресурсы перезапускаются часто, но разрешения должны быть согласованными. Например, рабочая нагрузка, где нескольким виртуальным машинам требуется доступ к одному и тому же ресурсу. |
Как применять управляемые удостоверения для ресурсов Azure?
Чтобы использовать управляемые удостоверения, выполните следующие действия:
- Создайте управляемое удостоверение в Azure. Вы можете выбрать управляемое удостоверение, назначаемое системой, или управляемое удостоверение, назначаемое пользователем.
- При использовании управляемого удостоверения, назначаемого пользователем, вы назначаете управляемое удостоверение "исходному" ресурсу Azure, например виртуальной машине, приложению логики Azure или веб-приложению Azure.
- Авторизовать управляемое удостоверение для получения доступа к целевой службе.
- Используйте управляемое удостоверение для доступа к ресурсу. Для этого можно использовать пакет SDK Azure с библиотекой Azure.Identity. Некоторые исходные ресурсы предлагают соединители, которые могут пользоваться управляемыми удостоверениями для подключений. В этом случае вы используете удостоверение как функцию этого исходного ресурса.
Службы Azure, в которых поддерживается данная функция.
Управляемые удостоверения для ресурсов Azure можно использовать для аутентификации служб с поддержкой аутентификации Azure AD. Список поддерживаемых служб Azure см. в статье Службы с поддержкой управляемых удостоверений для ресурсов Azure.
Какие операции можно выполнять с помощью управляемых удостоверений?
Ресурсы, поддерживающие назначаемые системой управляемые удостоверения, позволяют выполнять следующие задачи:
- Включать или отключать управляемые удостоверения на уровне ресурса.
- предоставлять разрешения с помощью RBAC (управления доступом на основе ролей);
- просматривать операции CRUD (создания, чтения, обновления и удаления) в журналах действий Azure;
- просматривать действия входа в журналах входа Azure AD.
Если же вы выберете управляемое удостоверение, назначаемое пользователем:
- вы можете создавать, считывать, обновлять и удалять удостоверения;
- Вы можете использовать назначения ролей RBAC для предоставления разрешений.
- Управляемые удостоверения, назначаемые пользователем, можно использовать в нескольких ресурсах.
- Сведения об операциях CRUD можно просматривать в журналах действий Azure.
- просматривать действия входа в журналах входа Azure AD.
Операции с управляемыми удостоверениями можно выполнять с помощью шаблона ARM, Azure CLI, PowerShell, REST API и на портале Azure.
Дальнейшие действия
- Введение и рекомендации для разработчиков
- Использование назначаемого системой управляемого удостоверения на виртуальной машине Windows для доступа к Resource Manager
- Использование назначаемого системой управляемого удостоверения на виртуальной машине Linux для доступа к Resource Manager
- Использование управляемых удостоверений в Службе приложений и Функциях Azure
- Использование управляемых удостоверений для службы "Экземпляры контейнеров Azure"
- Реализация управляемых удостоверений для ресурсов Microsoft Azure.
- Использование федерации удостоверений рабочей нагрузки для управляемых удостоверений для доступа к защищенным ресурсам Azure Active Directory (Azure AD) без управления секретами