У участника службы Azure недостаточно прав для управления другими участниками службы

Я могу создать субъект-службу либо с помощью Azure, либо с консоли портала с помощью az кли.

az ad sp create-for-rbac --name "myspuser" --password "adfhrrreeuwrgwejdfgds"

Затем я назначаю роль владельца на уровне подписки и регистрируюсь в консоли powershell.

Login-AzureRmAccount -Credential (New-Object System.Management.Automation.PSCredential ('a92b2ea2-aaaa-0000-0a0a-1238ec953226', $(ConvertTo-SecureString 'abcewior23h23ius' -AsPlainText -Force))) -ServicePrincipal -TenantId 0cedca99-00f4-40d1-aa41-80d67ece2de8;

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

Когда я выполню

Get-AzureRmADServicePrincipal

Все, что я получаю, это Get-AzureRmADServicePrincipal : Insufficient privileges to complete the operation. Это работает с моим стандартным логином.

Моя цель - создать автоматизацию, в которой пользователи могут развертывать полную среду с помощью шаблонов ARM, используя jenkins в своей подписке MSDN. Так как некоторые имена входа не поддерживаются в powershell, я бы хотел, чтобы мои пользователи использовали для этого принципала службы. Моя автоматизация требует создания SP, который будет использоваться на машине linux с использованием jenkins, который должен читать свойства машин группы ресурсов.

Что мне здесь не хватает? Как я могу назначить права пользователя участника службы для управления другими учетными записями участника службы?

1 ответ

Кажется, вам нужно использовать Add-AzureADDirectoryRoleMember назначить роль каталога для вашего участника службы.

Вы можете выбрать нужную вам роль каталога, перейдя по этой ссылке.

Примечание. Сначала необходимо установить модуль Azure Ad PowerShell.

В этом случае вы можете попытаться назначить Application Administrator роль для вашего основного обслуживания. (При необходимости вы можете назначить Company Administrator роль.)

Образец:

# Fetch role instance
$role = Get-AzureADDirectoryRole | Where-Object {$_.displayName -eq 'Application Administrator'}

# If role instance does not exist, instantiate it based on the role template
if ($role -eq $null) {
    # Instantiate an instance of the role template
    $roleTemplate = Get-AzureADDirectoryRoleTemplate | Where-Object {$_.displayName -eq 'Application Administrator'}
    Enable-AzureADDirectoryRole -RoleTemplateId $roleTemplate.ObjectId

    # Fetch role
    $role = Get-AzureADDirectoryRole | Where-Object {$_.displayName -eq 'Application Administrator'}
}

# Add the SP to role
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId  -RefObjectId <your SP ObjectID>

Вот аналогичная проблема для вас, см. Эту ссылку.

Роль владельца не применяется к Azure AD, а роли каталогов применяются только к пользователям. Сервис Pricipal = Приложение, а не пользователь. Пользователи могут быть связаны с принципалом службы, но я не видел фактического использования для этого лично..

Для управления субъектами службы с помощью субъекта службы вам необходимо назначить разрешения API. Я не могу сказать вам, как сделать это с помощью Powershell, так как я не нашел команды для него, довольно обидно. Подсказка Подсказка Microsoft Azure. Вы заходите на портал, открываете приложение из AAD и переходите к разрешениям API. Вы сможете назначать разрешения как для устаревшей Azure AD, так и для MS Graph.

По моему опыту унаследованные разрешения AAD работали в большем количестве случаев и предлагали больше детализации, но я действительно сообщал об этом как о проблеме, и может быть изменено, что разрешения MS Graph - это путь вперед.

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

редактировать: предоставляя разрешениям API-интерфейса участника-службы для управления приложениями, вы сможете разрешить приложению управлять другими приложениями. Однако действительно ли вы хотите, чтобы обычные пользователи могли управлять этими приложениями? Это может иметь далеко идущие последствия для безопасности, в зависимости от того, сколько привилегий вы предоставляете этому одному субъекту службы.

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