Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как федерация удостоверений для рабочих нагрузок обеспечивает безопасный доступ к защищенным ресурсам 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. Рабочая нагрузка вашего программного обеспечения использует этот маркер доступа для доступа к защищенным ресурсам 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 ID и удостоверением в Google Cloud. Затем настройте рабочую нагрузку программного обеспечения, запущенную в Google Cloud, чтобы получить маркер доступа от поставщика удостоверений Майкрософт и получить доступ к защищенным ресурсам Microsoft Entra. См. статью Доступ к защищённым ресурсам Microsoft Entra из приложения в Google Cloud.
- Рабочие нагрузки, выполняемые в Amazon Web Services (AWS). Сначала настройте отношение доверия между пользовательским управляемым удостоверением или приложением в Microsoft Entra ID и удостоверением в Amazon Cognito. Затем настройте рабочую нагрузку программного обеспечения, запущенную в AWS, чтобы получить маркер доступа от поставщика удостоверений Майкрософт и получить доступ к защищенным ресурсам Microsoft Entra. Смотрите федерацию идентификации рабочих нагрузок с AWS.
- Другие рабочие нагрузки, работающие на вычислительных платформах за пределами Azure. Настройте отношение доверия между пользовательски назначенным управляемым удостоверением или приложением в идентификаторе Microsoft Entra и внешним поставщиком удостоверений для вашей вычислительной платформы. Токены, выданные этой платформой, можно использовать для аутентификации с помощью платформы идентификации Майкрософт и вызова API в экосистеме Майкрософт. Используйте поток учётных данных клиента для получения токена доступа от платформы идентификации Microsoft, передавая JWT поставщика удостоверений вместо того, чтобы создавать его самостоятельно, используя хранимый сертификат.
- SPIFFE и SPIRE — это набор не зависящих от платформы стандартов с открытым исходным кодом для обеспечения идентификацией рабочих нагрузок программного обеспечения, развернутых на различных платформах и у разных поставщиков облачных услуг. Сначала настройте отношение доверия между назначенным пользователем управляемым удостоверением или приложением в Microsoft Entra ID, а также идентификатором 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 ID, чтобы сценарий был авторизован. Дополнительные сведения об этом изменении см. в статье "Новые возможности проверки подлинности".
Процесс обмена внешнего маркера на маркер доступа, однако, аналогичен для всех сценариев. На следующей схеме показан общий рабочий процесс обмена внешнего маркера на маркер доступа и затем получения доступа к защищенным ресурсам Microsoft Entra.
- Внешняя рабочая нагрузка (например, рабочий процесс GitHub Actions) запрашивает токен от внешнего IdP (например, GitHub).
- Внешний IdP выдает токен внешней рабочей нагрузке.
- Внешняя рабочая нагрузка (например, в процессе входа в систему GitHub) отправляет токен на платформу удостоверений Майкрософт и запрашивает токен доступа.
- Платформа удостоверений Майкрософт проверяет отношение доверия к управляемому удостоверению, назначаемому пользователем или регистрация приложения и выполняет проверку внешнего токена по URL-адресу издателя OpenID Connect (OIDC) на внешнем поставщике удостоверений.
- Если проверки пройдены, платформа удостоверений Майкрософт выдает токен доступа внешней рабочей нагрузке.
- Внешняя рабочая нагрузка обращается к защищенным ресурсам Microsoft Entra с помощью токена доступа из платформы идентификации Microsoft. Рабочий процесс GitHub Actions, в частности использует маркер доступа для публикации веб-приложения в службе приложений Azure.
На платформе удостоверений Microsoft хранятся только первые 100 ключей подписи при загрузке из конечной точки OIDC внешнего поставщика удостоверений (IdP). Если внешний поставщик удостоверений предоставляет более 100 ключей подписывания, при использовании федерации удостоверений рабочей нагрузки могут возникнуть ошибки.
См. также
- Создание, удаление, получение или обновление учетных данных федеративного удостоверения на управляемом удостоверении, назначенном пользователем или учетных данных федеративного удостоверения в регистрации приложения.
- Настройте назначенное пользователем управляемое удостоверение в качестве учетных данных для федеративного удостоверения при регистрации приложения.
- Ознакомьтесь с обзором удостоверений рабочей нагрузки, чтобы узнать, как настроить рабочую нагрузку Kubernetes, чтобы получить токен доступа от поставщика удостоверений Microsoft и получить доступ к защищённым ресурсам Microsoft Entra.
- Ознакомьтесь с документацией по GitHub Actions , чтобы узнать больше о настройке рабочего процесса GitHub Actions для получения маркера доступа от поставщика удостоверений Майкрософт и доступа к защищенным ресурсам Microsoft Entra.
- Как Microsoft Entra ID использует грант клиентских учетных данных OAuth 2.0 и утверждение клиента, выданное другим поставщиком удостоверений, для получения токена.
- Сведения о требуемом формате JWTs, созданном внешними поставщиками удостоверений, см. в статье о формате утверждения.