Какие разрешения API необходимы для Remove-AzureADUser? - PullRequest
0 голосов
/ 14 июня 2019

Мне нужно удалить гостевых пользователей AAD с помощью powershell, где скрипт аутентифицируется с использованием учетных данных сертификата, соответствующих зарегистрированному приложению. Какие разрешения API нужны зарегистрированному приложению?

Connect-AzureAD -TenantId $TenantId -ApplicationId $ApplicationId -CertificateThumbprint $CertificateThumbprint
Remove-AzureADUser -ObjectId $guestKey

Результирующая ошибка:

Remove-AzureADUser : Error occurred while executing RemoveUser
Code: Authorization_RequestDenied
Message: Insufficient privileges to complete the operation.
RequestId: fa05248f-60be-48fa-8ef5-7a381f6e61dd
DateTimeStamp: Thu, 13 Jun 2019 18:15:52 GMT
HttpStatusCode: Forbidden
HttpStatusDescription: Forbidden
HttpResponseStatus: Completed
At C:\Scripts\disable-inactive-guests.ps1:116 char:9
+         Remove-AzureADUser -ObjectId $guestKey
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Remove-AzureADUser], ApiException
    + FullyQualifiedErrorId : Microsoft.Open.AzureAD16.Client.ApiException,Microsoft.Open.AzureAD16.PowerShell.RemoveUser

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

enter image description here

Ответы [ 2 ]

1 голос
/ 17 июня 2019

Directory.ReadWrite.All API Azure AD Graph не имеет разрешения на удаление пользователя.

Решение :

Чтобы устранить эту проблему, вам необходимо назначить участника службы для роли каталога, например User administrator / Global administrator.

Под удаленным ответом я вижу ваш комментарий:

Нельзя назначать роли каталога для участников службы.Это должны быть разрешения API.

Нет, фактически мы можем предоставить роль каталога субъекту службы.

Перейдите к Azure Active Directory на портале Azure -> Roles and administrators -> нажмите User administrator или Global administrator -> Add assignment -> поиск по имени участника вашей службы (необходимо выполнить поиск) -> найдите его и выберите его -> нажмите Select.

enter image description here

0 голосов
/ 14 июня 2019

Я подозреваю, что нашел свой ответ в документах Azure AD Graph и Microsoft Graph , которые, похоже, не в состоянии утверждать, что каталог .Разрешение ReadWrite.All , которое представляется наиболее мощным, включает « Нет прав на удаление объектов (включая пользователей или группы) ».

Вздох ...

Я думаю, что мне придется сделать это с учетной записью службы (действительной учетной записью пользователя Azure AD), которая имеет подходящую роль каталога и аутентифицируется с помощью имени пользователя / пароля.Я действительно предпочел бы, чтобы мои пакетные скрипты использовали аутентификацию сертификата ...

...