Обновить ключ аутентификации JSON субъекта службы

Я создал принципала службы для доступа к ресурсам в CI перед использованием команды az ad sp create-for-rbac:

az ad sp create-for-rbac --name "my-ci-sp" --role contributor \
  --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name> \
  --json-auth

Эта команда возвращает объект JSON с секретом, несколькими идентификаторами и несколькими URL-адресами конечной точки.

Теперь срок действия этого секрета истекает. Я знаю, что могу обновить секрет, используя az ad app reset credential --id <my-sp-id>. Однако эта команда выводит другую схему JSON.

Как мне получить замену для сгенерированного --json-auth токена az ad sp create-for-rbac?

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

Sridevi 17.07.2024 11:59
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
1
61
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Первоначально я запустил ту же команду CLI в своей среде и получил ответ JSON ниже:

az ad sp create-for-rbac --name "my-ci-sp" --role contributor \
  --scopes /subscriptions/subID/resourceGroups/rgName \
  --json-auth

Ответ:

Когда вы сбрасываете секрет клиента с помощью приведенной ниже команды CLI, вы получите в ответ только несколько значений, а остальные останутся прежними:

az ad app credential reset --id <my_sp_id>

Обратите внимание, что не существует прямой команды CLI для получения аналогичного ответа JSON при сбросе секретного секрета клиента. Альтернативно вы можете использовать приведенный ниже скрипт, который в ответ добавляет оставшиеся значения вручную:

SUBSCRIPTION_ID = "sub_id"
SP_ID = "sp_id"

JSON_OUTPUT=$(az ad app credential reset --id $SP_ID --query "{
    clientId: appId,
    clientSecret: password,
    tenantId: tenant,
    subscriptionId: '$SUBSCRIPTION_ID',
    activeDirectoryEndpointUrl: 'https://login.microsoftonline.com',
    resourceManagerEndpointUrl: 'https://management.azure.com/',
    activeDirectoryGraphResourceId: 'https://graph.windows.net/',
    sqlManagementEndpointUrl: 'https://management.core.windows.net:8443/',
    galleryEndpointUrl: 'https://gallery.azure.com/',
    managementEndpointUrl: 'https://management.core.windows.net/'
}" --output json)

echo $JSON_OUTPUT | jq .

Ответ:

Другие вопросы по теме

Получение статуса активности федерального пользователя Microsoft Graph API
Проблема с подтверждением связи Azure EventHub при автоматической настройке весенней загрузки
Как я могу получить всех пользователей из Azure Active Directory
Как устранить ошибку «недопустимое имя хоста для этой аренды» при доступе к API Microsoft Graph для регистрации мультитенантного приложения?
Интеграция единого входа с использованием MSAL в проекте Angular возвращает ошибку 401 после входа в систему
ASP.NET Azure AD/Аутентификация Entra — роли приложения в токене, но не назначаются субъекту
Расширение схемы Entra ID с пользовательским пространством имен
Azure — назначение участника сети в PIM
Получение свойства пользователя Azure «Дата последней локальной синхронизации» с помощью PowerShell
Можно ли получить доступ к конфигурации приложений Azure через URL-адрес или каким-либо образом подключиться к настройке среды службы приложений?