Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как федерация удостоверений для рабочих нагрузок обеспечивает безопасный доступ к защищенным ресурсам Microsoft Entra без необходимости управления секретами. В этой статье представлен обзор ее преимуществ и поддерживаемых сценариев.
Федерацию удостоверений рабочей нагрузки можно использовать в таких сценариях, как GitHub Actions, рабочие нагрузки, выполняемые в Kubernetes, или рабочие нагрузки, работающие на вычислительных платформах за пределами Azure.
Зачем нужна федерация удостоверений рабочей нагрузки?
Просмотрите это видео, чтобы узнать, почему вы будете использовать федерацию удостоверений рабочей нагрузки.
Как правило, для проверки подлинности и доступа к ресурсам или взаимодействия с другими службами обычно требуется удостоверение рабочей нагрузки программного обеспечения (например, приложения, службы, скрипта или приложения на основе контейнера). При выполнении этих рабочих нагрузок в Azure можно использовать управляемые удостоверения , а платформа Azure управляет учетными данными. Для программных нагрузок, работающих вне Azure, или тех, которые работают в Azure, но используют регистрации приложений для своих удостоверений, необходимо использовать учетные данные приложения (секрет или сертификат) для доступа к защищенным ресурсам Microsoft Entra (например, Azure, Microsoft Graph, Microsoft 365 или сторонним ресурсам). Эти учетные данные представляют угрозу безопасности и должны храниться без риска их раскрытия и обновляться. При истечении срока действия учетных данных также существует риск простоя службы.
Федерация удостоверений для рабочих нагрузок используется для настройки управляемого удостоверения, назначаемого пользователем или регистрации приложения в Microsoft Entra ID для доверия к токенам от внешнего поставщика удостоверений (IdP), например, GitHub или Google. Назначаемое пользователем управляемое удостоверение или регистрация приложений в идентификаторе Microsoft Entra становится удостоверением для рабочих нагрузок программного обеспечения, выполняемых, например в локальных рабочих процессах Kubernetes или GitHub Actions. После создания отношения доверия внешние рабочие нагрузки программного обеспечения обменивают доверенные маркеры из внешнего поставщика удостоверений для маркеров доступа из платформа удостоверений Майкрософт. Ваша рабочая нагрузка программного обеспечения использует этот маркер доступа для доступа к защищенным ресурсам Microsoft Entra, к которым была предоставлена рабочая нагрузка. Вы устраняете нагрузку на обслуживание вручную управлять учетными данными и устраняет риск утечки секретов или истечения срока действия сертификатов.
Поддерживаемые сценарии
Следующие сценарии поддерживаются для доступа к защищенным ресурсам Microsoft Entra с помощью федерации удостоверений рабочей нагрузки:
- Рабочие нагрузки, выполняемые в любом кластере Kubernetes (Служба Azure Kubernetes (AKS), Amazon Web Services EKS, Google Kubernetes Engine (GKE) или локальной среде. Установите отношение доверия между управляемым удостоверением или приложением, назначенным пользователем, в идентификаторе Microsoft Entra и рабочей нагрузке Kubernetes (описано в обзоре удостоверения рабочей нагрузки).
- GitHub Actions. Сначала настройте доверительные отношения между управляемым удостоверением, назначенным пользователем, или приложением в Microsoft Entra ID и репозиторием GitHub в Центре администрирования Microsoft Entra или, используя Microsoft Graph. Затем настройте рабочий процесс GitHub Actions , чтобы получить маркер доступа от поставщика удостоверений Майкрософт и получить доступ к ресурсам Azure.
- Рабочие нагрузки, выполняемые на вычислительных платформах Azure, используя идентификаторы приложений. Сначала назначьте управляемое удостоверение с пользовательским определением для виртуальной машины Azure или службы приложений. Затем настройте отношение доверия между вашим приложением и назначенной пользователем идентификацией.
- Google Cloud. Сначала настройте отношение доверия между назначаемым пользователем управляемым удостоверением или приложением в идентификаторе Microsoft Entra и удостоверением в Google Cloud. Затем настройте рабочую нагрузку программного обеспечения, запущенную в Google Cloud, чтобы получить маркер доступа от поставщика удостоверений Майкрософт и получить доступ к защищенным ресурсам Microsoft Entra. См. статью Доступ к защищённым ресурсам Microsoft Entra из приложения в Google Cloud.
- Рабочие нагрузки, выполняемые в Amazon Web Services (AWS). Сначала настройте отношение доверия между управляемым удостоверением или приложением, назначенным пользователем, в идентификаторе Microsoft Entra и удостоверением в Amazon Cognito. Затем настройте рабочую нагрузку программного обеспечения, запущенную в AWS, чтобы получить маркер доступа от поставщика удостоверений Майкрософт и получить доступ к защищенным ресурсам Microsoft Entra. Смотрите федерацию идентификации рабочих нагрузок с AWS.
- Другие рабочие нагрузки, работающие на вычислительных платформах за пределами Azure. Настройте отношение доверия между пользовательски назначенным управляемым удостоверением или приложением в идентификаторе Microsoft Entra и внешним поставщиком удостоверений для вашей вычислительной платформы. Маркеры, выданные этой платформой, можно использовать для проверки подлинности на платформе удостоверений Майкрософт и вызова APIs в экосистеме Майкрософт. Используйте поток учётных данных клиента для получения токена доступа от платформы идентификации Microsoft, передавая JWT поставщика удостоверений вместо того, чтобы создавать его самостоятельно, используя хранимый сертификат.
- SPIFFE и SPIRE — это набор не зависящих от платформы стандартов с открытым исходным кодом для предоставления удостоверений рабочих нагрузок программного обеспечения, развернутых на разных платформах и поставщиках облачных служб. Сначала настройте отношение доверия между назначаемым пользователем управляемым удостоверением или приложением в идентификаторе Microsoft Entra и идентификатором SPIFFE для внешней рабочей нагрузки. Затем настройте внешнюю рабочую нагрузку программного обеспечения, чтобы получить маркер доступа от поставщика удостоверений Майкрософт и получить доступ к защищенным ресурсам Microsoft Entra. См. федерацию идентификаций рабочих нагрузок с SPIFFE и SPIRE.
- Создадите сервисное подключение в Azure Pipelines. Создайте подключение службы Azure Resource Manager с использованием федерации идентификаций рабочих нагрузок.
Примечание.
Маркеры, выданные идентификатором Microsoft Entra, могут не использоваться для федеративных потоков удостоверений. Поток учетных данных федеративного удостоверения не поддерживает маркеры, выданные идентификатором Microsoft Entra.
Принцип работы
Создайте отношение доверия между внешним поставщиком удостоверяющей стороной и управляемой идентичностью, назначенной пользователем, или приложением в Microsoft Entra ID. Учетные данные федеративного удостоверения используются для указания того, какой маркер из внешнего поставщика удостоверений должен быть доверенным приложением или управляемым удостоверением. Вы настраиваете федеративное удостоверение:
- Назначаемое пользователем управляемое удостоверение с помощью Центра администрирования Microsoft Entra, Azure CLI, Azure PowerShell, Azure SDK и шаблонов Azure Resource Manager (ARM). Внешняя рабочая нагрузка использует маркер доступа для доступа к защищенным ресурсам Microsoft Entra без необходимости управлять секретами (в поддерживаемых сценариях). Действия по настройке отношения доверия зависят от сценария и внешнего IdP.
- При регистрации приложения в Центре администрирования Microsoft Entra или через Microsoft Graph. Эта конфигурация позволяет получить маркер доступа для приложения без необходимости управлять секретами за пределами Azure. Узнайте больше о том, как настроить приложение для доверия к внешнему поставщику удостоверений и как настроить доверие между приложением и пользовательски назначенной управляемой идентичностью.
Примечание.
Федеративные учетные данные issuer
subject
удостоверения и audience
значения должны соответствовать соответствующим issuer
значениям и subject
audience
значениям, содержащимся в маркере, отправляемому в идентификатор Microsoft Entra внешним поставщиком удостоверений, чтобы сценарий был авторизован. Дополнительные сведения об этом изменении см. в статье "Новые возможности проверки подлинности".
Однако рабочий процесс для обмена внешнего маркера на маркер доступа аналогичен для всех сценариев. На следующей схеме показан общий рабочий процесс рабочей нагрузки, обменив внешним маркером для маркера доступа, а затем доступ к защищенным ресурсам Microsoft Entra.
- Внешняя рабочая нагрузка (например, рабочий процесс GitHub Actions) запрашивает маркер из внешнего IdP (например, GitHub).
- Внешний IdP выдает маркер внешней рабочей нагрузке.
- Внешняя рабочая нагрузка (например, в процессе входа в систему GitHub) отправляет токен на платформу удостоверений Майкрософт и запрашивает токен доступа.
- Платформа удостоверений Майкрософт проверяет отношение доверия к управляемому удостоверению, назначаемому пользователем или регистрация приложения и выполняет проверку внешнего токена по URL-адресу издателя OpenID Connect (OIDC) на внешнем поставщике удостоверений.
- Если проверки пройдены, платформа удостоверений Майкрософт выдает маркер доступа внешней рабочей нагрузке.
- Внешняя рабочая нагрузка обращается к защищенным ресурсам Microsoft Entra с помощью маркера доступа из платформа удостоверений Майкрософт. Рабочий процесс GitHub Actions, в частности использует маркер доступа для публикации веб-приложения в службе приложений Azure.
В платформа удостоверений Майкрософт хранятся только первые 100 ключей подписывания при загрузке из конечной точки OIDC внешнего поставщика OIDC. Если внешний поставщик удостоверений предоставляет более 100 ключей подписывания, при использовании федерации удостоверений рабочей нагрузки могут возникнуть ошибки.
См. также
- Создание, удаление, получение или обновление учетных данных федеративного удостоверения на управляемом удостоверении, назначенном пользователем или учетных данных федеративного удостоверения в регистрации приложения.
- Настройте назначенное пользователем управляемое удостоверение в качестве учетных данных для федеративного удостоверения при регистрации приложения.
- Ознакомьтесь с обзором удостоверения рабочей нагрузки, чтобы узнать, как настроить рабочую нагрузку Kubernetes, чтобы получить маркер доступа от поставщика удостоверений Майкрософт и получить доступ к защищенным ресурсам Microsoft Entra.
- Ознакомьтесь с документацией по GitHub Actions , чтобы узнать больше о настройке рабочего процесса GitHub Actions для получения маркера доступа от поставщика удостоверений Майкрософт и доступа к защищенным ресурсам Microsoft Entra.
- Как Microsoft Entra ID использует грант клиентских учетных данных OAuth 2.0 и утверждение клиента, выданное другим поставщиком удостоверений, для получения токена.
- Сведения о требуемом формате JWTs, созданном внешними поставщиками удостоверений, см. в статье о формате утверждения.