Как подключиться к azaccount в конвейере выпуска Azure DevOps

Как подключиться к azaccount в конвейере выпуска Azure DevOps

В конвейере выпуска я пытаюсь подключиться к Azure AD с помощью Connect-Azaccount, поэтому я могу запустить Get-AzADgroup для получения некоторых имен групп Az AD и их guid и вывода в переменные.

Я создал задачу Azure Powershell со следующим встроенным скриптом.

(Get-AzADGroup -DisplayName "имя-группы").origin

Как подключиться к azaccount в конвейере выпуска Azure DevOps

Как подключиться к azaccount в конвейере выпуска Azure DevOps

Как подключиться к azaccount в конвейере выпуска Azure DevOps

Если мой ответ полезен, пожалуйста, отметьте его как ответ (слева от моего ответа есть возможность отметить), спасибо.

Joy Wang 29.05.2019 10:30

Привет, Джой! Я еще не пробовал, так как у меня нет разрешения на создание приложения AD и субъекта-службы. Я сообщу вам, как только получу разрешения.

wonderfulworldwithcharity 30.05.2019 19:30

Вы также можете использовать существующее приложение AD, если вы создаете проект DevOps, оно автоматически создаст приложение AD с именем, например organizationname-projectname-513f22f1-befd-xxxxxxcfe90f, в реестрах приложений в вашем клиенте. Но вам также нужно разрешение на Grant admin consent for xxx. Может быть, вы могли бы попросить своего администратора предоставить вам разрешение API. :-)

Joy Wang 31.05.2019 09:29

Привет, Джой, я создал запрос, чтобы наша команда безопасности создала приложение AD. Все еще жду..

wonderfulworldwithcharity 15.06.2019 01:21

Привет, радость! В задаче powershell «Подписка Azure в AZ» вы используете субъект-службу или подключение к службе управляемого удостоверения службы?

wonderfulworldwithcharity 19.06.2019 00:50

Я использовал субъект-службу.

Joy Wang 19.06.2019 03:11

Привет, Джой! Я получаю сообщение об ошибке при выполнении задачи Azure PowerShell. не удалось найти модули: «Az.Accounts» с версией: «».

wonderfulworldwithcharity 20.06.2019 22:54

Я использую версию задачи 4.* (превью)

wonderfulworldwithcharity 20.06.2019 22:56

Привет, Джой, ты знаешь, в чем проблема?

wonderfulworldwithcharity 24.06.2019 19:16

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

Joy Wang 25.06.2019 03:53

Привет Джой, я смог исправить ошибку. Вы знаете, какую роль вы отвели SP?

wonderfulworldwithcharity 26.06.2019 23:20

Это зависит от вашего требования, в моем примере я не давал роль SP, я просто даю разрешение AAD Graph Directory.Read.All.

Joy Wang 27.06.2019 02:58
Как установить 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...
2
12
3 813
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

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

Кажется, вам нужно использовать неинтерактивный вход в систему, выполните следующие действия.

  1. Создайте приложение Azure Active Directory. и создать секрет для приложения, сохраните секрет и получить значения для входа.

  2. В приложении AD -> API permissions -> Add a permission -> выберите Azure Active Directory Graph -> Application permissions -> Directory.Read.All -> нажмите Add permissions -> нажмите Grant admin consent for xxx, см. скриншот.

  3. Попробуйте скрипт, как показано ниже, используйте значения, которые вы получили на шаге 1, он отлично работает на моей стороне.

    Примечание: вам нужно использовать Task version с 4.*(preview), когда вы используете Az модуль powershell.

    $azureAplicationId  = "<your ad app application id>"
    $azureTenantId= "<your tenant id>"
    $azurePassword = ConvertTo-SecureString "<the secret of your ad app>" -AsPlainText -Force
    $psCred = New-Object System.Management.Automation.PSCredential($azureAplicationId , $azurePassword)
    Connect-AzAccount -Credential $psCred -TenantId $azureTenantId  -ServicePrincipal 
    #I just test to get all groups, you could do other operations
    Get-AzADGroup 
    

Джой Ван, я использовал ваш метод упоминания, но не вошел в систему. Проверьте следующую ошибку: Connect-AzAccount: сбой проверки подлинности ClientSecretCredential: проблема с конфигурацией препятствует проверке подлинности. Подробные сведения см. в сообщении об ошибке с сервера. Вы можете изменить конфигурацию на портале регистрации приложений. Подробнее см. в aka.ms/msal-net-invalid-client. Исходное исключение: AADSTS7000215: предоставлен недопустимый секрет клиента.

Nilam 10.12.2021 14:19

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