Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается создание и управление поставщиком OpenID Connect (OIDC) для кластера Службы Azure Kubernetes (AKS). Издатель OIDC позволяет кластеру AKS интегрироваться с поставщиками удостоверений, такими как Microsoft Entra ID, что обеспечивает безопасную проверку подлинности и возможности единого входа для приложений, работающих в кластере.
Сведения о OpenID Connect (OIDC) в AKS
OpenID Connect (OIDC) расширяет протокол авторизации OAuth 2.0 для использования в качестве другого протокола проверки подлинности, выданного Microsoft Entra ID. Вы можете использовать OIDC для включения единого входа между приложениями с поддержкой OAuth в кластере Службы Azure Kubernetes (AKS) с помощью маркера безопасности, называемого маркером идентификатора. Вы можете включить издателя OIDC в кластерах AKS, что позволяет Microsoft Entra ID (или платформе управления идентификацией и доступом от другого поставщика облачных услуг) обнаруживать публичные ключи подписи сервера API.
Предварительные требования
Требования к платформе:
- Azure CLI версии 2.42.0+ (
az --versionдля проверки версии, установите или обновите Azure CLI при необходимости). - Минимальная версия Kubernetes — 1.22+.
Поведение конкретной версии:
- Поставщик удостоверений OIDC по умолчанию включен (без необходимости флага) только для вновь созданных кластеров AKS в версии Kubernetes 1.34+. Для существующих кластеров OIDC не включен по умолчанию независимо от версии Kubernetes и требует ручного включения.
- Автоматическое расширение токена отключено () для Kubernetes версии 1.30.0+.
- Требуется ручное включение, если ранее не было настроено для версий Kubernetes ранее 1.34.
Важные рекомендации.
- Вы не можете деактивировать издателя OIDC после включения.
- Для включения издателя OIDC в существующих кластерах требуется перезапуск сервера API (краткое время простоя).
- Максимальное время существования токена составляет 24 часа (один день).
- Проецируемые маркеры учетной записи службы, необходимые для кластеров Kubernetes 1.30+.
Создание кластера AKS с издателем OIDC
Создайте кластер AKS с помощью команды с параметром .
# Set environment variables RESOURCE_GROUP=<your-resource-group-name> CLUSTER_NAME=<your-aks-cluster-name> # Create the AKS cluster with OIDC issuer enabled (OIDC issuer enabled by default for Kubernetes 1.34+) az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --node-count 1 \ --enable-oidc-issuer \ --generate-ssh-keys
Активация издателя OIDC в существующем кластере AKS
Включите поставщика OIDC в существующем кластере AKS с помощью команды с параметром .
# Set environment variables RESOURCE_GROUP=<your-resource-group-name> CLUSTER_NAME=<your-aks-cluster-name> # Enable the OIDC issuer on the existing AKS cluster az aks update \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --enable-oidc-issuer
Получение URL-адреса издателя OIDC
Получите URL-адрес издателя OIDC с помощью команды.
# Set environment variables RESOURCE_GROUP=<your-resource-group-name> CLUSTER_NAME=<your-aks-cluster-name> # Get the OIDC issuer URL az aks show \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP \ --query "oidcIssuerProfile.issuerUrl" \ -o tsvПо умолчанию издатель использует базовый URL-адрес, где значение для которого совпадает с местоположением, в котором развернут кластер AKS.
Поворот ключа OIDC
Внимание
При смене ключа OIDC следует учитывать следующие рекомендации.
- Если вы хотите отключить старый ключ сразу после смены ключа, необходимо дважды повернуть ключ OIDC и перезапустить модули pod с помощью проецируемых маркеров учетной записи службы.
- Старые и новые ключи остаются действительными в течение 24 часов после смены.
- Обновление токена вручную требуется каждые 24 часа (если не используется #REF! Identity SDK, который обновляется автоматически).
Смените ключ OIDC с помощью команды.
# Set environment variables RESOURCE_GROUP=<your-resource-group-name> CLUSTER_NAME=<your-aks-cluster-name> # Rotate the OIDC signing keys az aks oidc-issuer rotate-signing-keys \ --name $CLUSTER_NAME \ --resource-group $RESOURCE_GROUP
Получение документа обнаружения
Перейдите по URL-адресу издателя OIDC в браузере и добавьте в конец URL-адреса. Например: .
Выходные данные должны выглядеть примерно так:
{ "issuer": "https://eastus.oic.prod-aks.azure.com/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/00000000-0000-0000-0000-000000000000/", "jwks_uri": "https://eastus.oic.prod-aks.azure.com/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/openid/v1/jwks", "response_types_supported": [ "id_token" ], "subject_types_supported": [ "public" ], "id_token_signing_alg_values_supported": [ "RS256" ] }
Получите документ набора JWK
Перейдите к jwks_uri из документа обнаружения в браузере. Например: .
Выходные данные должны выглядеть примерно так:
{ "keys": [ { "use": "sig", "kty": "RSA", "kid": "xxx", "alg": "RS256", "n": "xxxx", "e": "AQAB" }, { "use": "sig", "kty": "RSA", "kid": "xxx", "alg": "RS256", "n": "xxxx", "e": "AQAB" } ] }Замечание
Во время смены ключей в документе обнаружения присутствует еще один ключ.
Связанный контент
- Создание отношения доверия между приложением и внешним поставщиком удостоверений
- Обзор Идентификация рабочей нагрузки Microsoft Entra
- Безопасный сетевой трафик pod