Функция Azure, регистрация приложения, сертификат - New-PnPTenantSite: удаленный сервер возвратил ошибку: (401) не авторизован - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь создать функцию Azure для предоставления различных типов сайтов.

Я создал приложение в Azure AD и предоставил точку доступа и график приложения.

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

New-PnPTenantSite -Url $url -Title $LinkTitle -Description $description -Template "STS#0" -Owner $username -TimeZone 4 -Lcid 1044 -Force

ошибка:

New-PnPTenantSite: удаленный сервер возвратил ошибку: (401) Unauthorized

возвращает сайт и выводит список, еслиЯ использую get-pnplist и get-pnpsite ..

Подключиться с помощью этой команды:

Connect-PnPOnline -CertificatePath .\certkeyname.pfx -Tenant 'xxx.onmicrosoft.com' -ClientId 'xxxx-xxx-xx-xx-xxxxxxx' -Url 'https://xxx.sharepoint.com' 

1 Ответ

0 голосов
/ 16 октября 2018

ответ в этом сообщении Приложение Azure AD с правами глобального администратора

Вы можете повысить уровень доступа, который приложение имеет к вашему арендатору, добавив субъект-службу этогоПриложение к роли администратора каталога компании.Это даст Приложению тот же уровень разрешений, что и у Администратора Компании, который может делать все что угодно.Вы можете следовать тем же инструкциям для любого типа роли каталога в зависимости от уровня доступа, который вы хотите предоставить этому приложению.

Обратите внимание, что это повлияет только на доступ вашего приложения к вашему арендатору.

Кроме того, вы уже должны быть администратором компании клиента, чтобы следовать этим инструкциям.

Чтобы внести изменения, вам потребуется установить модуль PowerShell Azure Active Directory.

После установки модуля выполните аутентификацию своего арендатора с помощью своей учетной записи администратора:

Connect-MSOLService. Затем нам нужно получить идентификатор объекта как участника службы, которого мы хотим повысить, так и роли администратора компании для вашегоtenant.

Поиск субъекта службы по идентификатору приложения GUID:

$ sp = Get-MsolServicePrincipal -AppPrincipalId Поиск роли каталога по имени

$ role = Get-MsolRole -RoleName «Администратор компании» Теперь мы можем использовать команду Add-MsolRoleMember, чтобы добавить эту роль.o субъект службы.

Add-MsolRoleMember -RoleObjectId $ role.ObjectId -RoleMemberType ServicePrincipal -> RoleMemberObjectId $ sp.ObjectId Чтобы проверить, что все работает, давайте вернем всех членов роли Company> Administrator:

Get-MsolRoleMember -RoleObjectId $ role.ObjectId Вы должны увидеть ваше приложение в этом списке, где RoleMemberType - это ServicePrincipal>, а DisplayName - это имя вашего приложения.

Теперь ваше приложение должно иметь возможностьВыполните любые вызовы Graph API, которые может выполнить Компания> Администратор, и все без входа пользователя, используя Поток учетных данных клиента.

...