#c# #service #azure-active-directory #devops
#c# #Обслуживание #azure-active-directory #devops
Вопрос:
Я с нетерпением жду возможности настроить участника службы в главном Devops моей компании для использования в качестве доступа к токенам для обновления или создания рабочих элементов с помощью Devops Api внутри приложения на C #…
Мы уже используем api, но с личными токенами, поскольку мы знаем, что это не лучшая практика, потому что в случае, если какой-либо человек уйдет с работы, срок действия его личных токенов доступа истечет…
Итак, для того, чтобы сделать это, я последовал этому руководству: https://cann0nf0dder.wordpress.com/2020/09/27/programmatically-connecting-to-azure-devops-with-a-service-principal-subscription/
Затем я добавил участника службы в группу Azure active Directory, в которой есть все наши пользователи ( ppl, которые имеют доступ к devops)
public void UpdateAzureDevopsPullReviewed(List<int> user_story_numbers, string assigned_to)
{
#region Azure DevOps data connection
Uri orgUrl = new Uri("https://dev.azure.com/nfpnso/");
String tokenWrite = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
//create a connection
VssConnection connection = new VssConnection(orgUrl, new VssBasicCredential(string.Empty, tokenWrite));
#endregion
PullReviewedWorkItem(connection, user_story_numbers, assigned_to).Wait();
}
Что я сделал в Azure, так это создал новую регистрацию приложения в Active Directory, там я получил приложение (клиент) ИДЕНТИФИКАТОР, идентификатор каталога (арендатора), идентификатор объекта, а затем я создал новый секрет, это означает идентификатор и значение… проверьте все эти строки, и соединение не выполняется, это говорит мне, что я не авторизован для доступа к devops.
Комментарии:
1. Что вы подразумеваете под «это не работает»? Пожалуйста, поделитесь более подробной информацией о сообщении об ошибке.
2. Я уже редактирую запрос: ответ из api заключается в том, что мне не разрешен доступ к devops с этим токеном… итак, неправильный токен или что-то отсутствует в конфигурации devops
Ответ №1:
Я не думаю, что вы можете использовать принципал службы для вызова API Azure DevOps.
Пожалуйста, смотрите раздел Выбор правильного механизма аутентификации.
Обратите внимание на примечание:
API Azure DevOps не поддерживает неинтерактивный доступ к службе через участников службы.
Единственным неинтерактивным типом на стороне клиента является механизм аутентификации профиля устройства.
Комментарии:
1. Это может быть объяснением того, почему я не нашел никакого руководства или справки в Интернете.// .././