Ошибка настройки агента DevOps TF400813: пользователь «пользователь» не имеет прав на доступ к этому ресурсу. Не удалось подключиться. Попробуйте еще раз или нажмите Ctrl-C, чтобы выйти

Попытка добавить агент для нашего локального Azure DevOps на новый веб-сервер. Следуя инструкциям здесь, на сайте Microsoft. Я загрузил zip-файл со своего сервера Devops и выполнил команды PowerShell, указанные на странице загрузки:

PS C:\> mkdir agent ; cd agent
PS C:\agent> Add-Type -AssemblyName System.IO.Compression.FileSystem ; [System.IO.Compression.ZipFile]::ExtractToDirectory("$HOME\Downloads\vsts-agent-win-x64-2.153.1.zip", "$PWD")

Затем я запустил инструмент настройки:

PS C:\agent> .\config.cmd

Следуя инструкциям:

Enter the server url > https://tfs.domain.com/mycollection
Enter authentication type > Negotiate
Enter username > agentuser
Enter password > ******

Результат:

TF400813: The user 'ORG\AgentUser' is not authorized to access this resource.
Failed to connect.  Try again or ctrl-c to quit

Указанный пользователь управляет другими агентами на разных серверах. Я являюсь администратором сервера, и моя учетная запись имеет права администратора для всех пулов агентов.

Есть ли какое-то разрешение сервера, которого я не вижу в документации? Возможно ли, что «Переговоры» не являются допустимым методом аутентификации на этом сервере? Если да, то как я могу его добавить? Где мне искать более конкретный журнал ошибок?

Обновлять Дополнительная информация о журнале (я нашел журнал агента):

[2024-08-15 16:11:45Z WARN VisualStudioServices] Authentication failed with status code 401.
X-TFS-SoapException: 
<?xml version = "1.0" encoding = "utf-8"?>
<soap:Envelope xmlns:soap = "http://www.w3.org/2003/05/soap-envelope">
    <soap:Body>
        <soap:Fault>
            <soap:Code>
                <soap:Value>soap:Receiver</soap:Value>
                <soap:Subcode>
                    <soap:Value>UnauthorizedRequestException</soap:Value>
                </soap:Subcode>
            </soap:Code>
            <soap:Reason>
                <soap:Text xml:lang = "en">TF400813: Resource not available for anonymous access. Client authentication required.</soap:Text>
            </soap:Reason>
        </soap:Fault>
    </soap:Body>
</soap:Envelope>
[2024-08-15 16:11:45Z WARN VisualStudioServices] Windows issued token provider instance 43205102 requires an interactive prompt which is not allowed by the current settings
[2024-08-15 16:11:45Z ERR  VisualStudioServices] GET request to https://tfs.domain.com/mycollection/_apis/connectionData?connectOptions=1&lastChangeId=-1&lastChangeId64=-1 is not authorized. Details: TF400813: The user 'ORG\AgentUser' is not authorized to access this resource.
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Есть ли какое-то разрешение сервера, которого я не вижу в документации?

Я протестировал проблему на своем сервере Azure DevOps 2019.

Я создал нового пользователя на своем сервере и добавил его в группу администраторов Team Foundation. Затем пользователь сможет успешно войти в систему с типом аутентификации Negotiate. Вы можете просмотреть шаги на моем скриншоте.

Результат:

Enter server URL > http://vmxxx/DefaultCollection
Enter authentication type (press enter for Integrated) > Negotiate
Enter user name > testuser
Enter password > ****
Connecting to server ...

>> Register Agent:

Возможно ли, что «Переговоры» не являются допустимым методом аутентификации на этом сервере? Если да, то как я могу его добавить?

Да. Во время теста мне нужно добавить Negotiate к поставщикам проверки подлинности Windows. В противном случае произойдет еще одна ошибка при входе в систему с использованием типа аутентификации Negotiate.

Где мне искать более конкретный журнал ошибок?

Вы можете просмотреть подробный журнал в папке C:\agent\_diag, когда ваш агент находится в C:\agent.

Я понял проблему, которую думаю, и создал для нее свой собственный ответ.

Matt 15.08.2024 22:07

Привет @Matt, спасибо за твои новости. Рад узнать, что вы решили проблему. Приятного кодирования!

Miao Tian-MSFT 16.08.2024 02:48
Ответ принят как подходящий

В конечном итоге я не думаю, что правильно понял задание, а предоставленные мне инструкции были либо устаревшими, либо неверными.

Я нашел новые инструкции, в которых рекомендовалось использовать PAT вместо согласования аутентификации, и они сработали отлично, и теперь оба моих новых агента установлены и работают. По моему мнению, метод переговоров потребует от меня ввода МОЕГО имени пользователя и пароля, а не имени пользователя и пароля учетной записи агента. Я думаю, это, вероятно, сработало бы. Потому что позже при установке я ввел учетную запись агента и все заработало нормально.

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

Похожие вопросы

Azure DevOps Yaml – как установить глобальные переменные из параметров?
Azure Devops REST API — публикуйте артефакты сборки из локального хранилища
Способ запуска сценария bash перед перехватом перед развертыванием с помощью безагентного сервера в Azure Devops
Конвейер Azure Devops с дополнительным этапом, запускаемым вручную
Как запретить принудительную отправку только на главную, но при этом разрешить прямую (не принудительную) отправку в репозиториях git Azure DevOps
Azure Pipelines — обработка одинаковых имен переменных в разных группах переменных
Не могу найти нужные артефакты
Уменьшение объема хранилища пакетов Azure Devops
Как создать скрипт в учетной записи автоматизации для получения квот и используемой емкости для каждого общего файлового ресурса
Триггер нескольких репозиториев Azure. Почему он срабатывает несколько раз для одной и той же фиксации?