2016-01-20 3 views
3

после кода описано здесь:Недостаточно прав для выполнения операции при использовании сервиса принципала для создания Azure AD Application

https://github.com/Azure-Samples/active-directory-dotnet-graphapi-console/blob/master/GraphConsoleAppV3/Program.cs#L810 

, но с использованием Service Principal для аутентификации один получит Недостаточный ошибку Privileges при попытке создать применение на

client.Applications.AddApplicationAsync(appObject).Wait(); 

с токена обмена, как следующее:

var context = new AuthenticationContext($"https://login.microsoftonline.com/{tenantId}"); 
var token = context.AcquireToken("https://graph.windows.net", new ClientCredential(clientId, secret));  
var client = new ActiveDirectoryClient(new Uri($"https://graph.windows.net/{tenantId}"),()=>Task.FromResult(token.AccessToken)); 

ответ

4

его требуется, чтобы приложение было уделено роли администратора, который в настоящее время представляется возможным только добавить с помощью Powershell инструментов для лазурного AD: https://msdn.microsoft.com/library/azure/jj151815.aspx#bkmk_installmodule

и используя connect-msolservice и с помощью Azure объявление входа пользователя Администратор при запросе.

  1. connect-msolservice
  2. Get-MsolServicePrincipal –AppPrincipalId {appId}
  3. Add-MsolRoleMember -RoleMemberType ServicePrincipal -RoleName 'Company Administrator' -RoleMemberObjectId {objectID}

где ObjectId является выход команды 2

+1

Спасибо за эту информацию. Однако, когда я пытаюсь сделать это, я получаю следующее сообщение об ошибке: ** Access Denied. У вас нет прав на вызов этого командлета **. Любая идея, как это решить? – user3587624

Смежные вопросы