Использование системной управляемой идентификации в учетной записи автоматизации Azure с модулем PowerShell MicrosoftTeams

#powershell #microsoft-teams #azure-automation

Вопрос:

Использование системной управляемой идентификации в учетной записи автоматизации Azure с помощью модуля PowerShell MicrosoftTeams.

Connect-MicrosoftTeams Поддерживает вход в систему с системным идентификатором, управляемым -Identity коммутатором.

В чем я не уверен, так это в том, какие разрешения необходимо назначить участнику службы, чтобы использовать командлеты модуля PowerShell MicrosoftTeams.

Я хочу назначить TeamsAppPermissionPolicy и TeamsAppSetupPolicy с помощью PowerShell и с системным идентификатором. (Это, конечно, отлично работает с моей личной облачной учетной записью. Использование роли администратора команд, т. е. не использование управляемого удостоверения)

Текущие назначенные разрешения следующие: Разрешения для SP

Всякий раз, когда я выполняю команду Get-Team , я могу перечислить все команды.

Когда я выполняю Grant-csTeamsAppSetupPolicy или Grant-csTeamsAppPermissionPolicy получаю ошибку: Grant-csTeamsAppPermissionPolicy : The remote server returned an error: (404) Not Found. мне нужно использовать эти две устаревшие команды.

Я предоставляю здесь некоторый код, если кто-нибудь хочет это проверить:

Для назначения разрешений участнику службы:

 $sp = Get-AzureADServicePrincipal -Filter  "DisplayName eq 'automatebro2'" # Get Service Princiap / Automation Account


$GraphApp = Get-AzureADServicePrincipal -Filter  "AppId eq '00000003-0000-0000-c000-000000000000'" # Microsoft Graph
$Permissions = 'Directory.Read.All', 'Group.Read.All', 'Team.ReadBasic.All', 'TeamSettings.ReadWrite.All'
foreach ($permission in $Permissions) {
    $role = $GraphApp.AppRoles | Where-Object {$_.Value -eq $permission}
    New-AzureAdServiceAppRoleAssignment `
    -ObjectId $sp.ObjectId `
    -PrincipalId $sp.ObjectId `
    -ResourceId $GraphApp.ObjectId `
    -Id $role.Id
}

$skypeandteamsApp = Get-AzureADServicePrincipal -Filter  "AppId eq '48ac35b8-9aa8-4d74-927d-1f4a14a0b239'" # Skype and Teams
$Permissions = 'application_access', 'application_access_custom_sba_appliance'
foreach ($permission in $Permissions) {
    $role = $skypeandteamsApp.AppRoles | Where-Object {$_.Value -eq $permission}
    New-AzureAdServiceAppRoleAssignment `
    -ObjectId $sp.ObjectId `
    -PrincipalId $sp.ObjectId `
    -ResourceId $skypeandteamsApp.ObjectId `
    -Id $role.Id
}

$AzureADGraph = Get-AzureADServicePrincipal -Filter  "AppId eq '00000002-0000-0000-c000-000000000000'" # Azure AD graph
$Permissions = 'Directory.Read.All'
foreach ($permission in $Permissions) {
    $role = $AzureADGraph.AppRoles | Where-Object {$_.Value -eq $permission}
    New-AzureAdServiceAppRoleAssignment `
    -ObjectId $sp.ObjectId `
    -PrincipalId $sp.ObjectId `
    -ResourceId $AzureADGraph.ObjectId `
    -Id $role.Id
}

 

Тестовый код для команд Microsoft:

 Connect-MicrosoftTeams -Identity

Grant-csTeamsAppPermissionPolicy -Identity <UPN> -PolicyName <customPolicy>
 

https://docs.microsoft.com/en-us/powershell/module/teams/connect-microsoftteams?view=teams-ps#description

Насколько я знаю, базовая аутентификация доступна в учетной записи автоматизации Azure.

Есть какие-нибудь идеи о том, как этого добиться?

Комментарии:

1. Мы также проверим это с нашей стороны и дадим вам знать.

2. Пожалуйста, ознакомьтесь с этой документацией — docs.microsoft.com/en-us/powershell/module/skype/…

3. да @HunaidHanfee-MSFT. Но на что конкретно мне следует обратить внимание? Я не вижу там ничего, что могло бы объяснить мою проблему.

4. Это общая документация только для справки и описания о гранте-CsTeamsAppPermissionPolicy

5. @JoakimE — Не могли бы вы подтвердить, разрешилась ли ваша проблема с помощью вышеуказанного предложения или вы все еще ищете какую-либо помощь?

Ответ №1:

-Командлеты Cs в настоящее время не поддерживают идентификатор управляемой службы.

Операции с управляемыми удостоверениями