API Microsoft Graph Graph Multi-Geo: есть ли способ создания групп в указанном географическом местоположении с разрешениями приложений (приложение AAD) - PullRequest
0 голосов
/ 17 апреля 2019

У меня есть требование для автоматического предоставления групп O365 в нужном географическом местоположении (т. Е. CAN, по умолчанию используется EU), я использую разрешения приложения AAD для аутентификации в Graph API. Нужна помощь в достижении этого.

Мне известно, что команды, созданные с использованием делегированных разрешений, будут созданы в регионах, специфичных для делегированного пользователя, и обнаружили, что свойство "extendedDataLocation" типа группы графов обновлено как свойство пользователя.

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

Тело запроса:

  {
      "description": "Muti-Geo Graph API",
      "displayName": "Teams Multi-Geo Graph API",
      "groupTypes": [
        "Unified"
      ],
      "mailEnabled": true,
      "mailNickname": "TeamsMultiGeoGraphAPI",
      "securityEnabled": false,
      "owners@odata.bind": [
      "https://graph.microsoft.com/v1.0/users/XXXXXX"
      ],
      "preferredDataLocation":"CAN"
    }

Ответ:

"code": "Authorization_RequestDenied",
"message": "The requesting user is not authorized to set group preferred data location."

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

Примечание. Функция Multi-Geo включена, а в арендаторе доступна область CAN.

1 Ответ

0 голосов
/ 06 мая 2019

Я могу успешно создать группу с помощью разрешений приложения, и вот мои подробные шаги:

1 : войдите в aad portal (http://aad.portal.azure.com) с помощью глобального администратора и создайте приложение "web / web api" вazure ad https://aad.portal.azure.com/?l=en.en-us#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps

2: «Настройки» >> «Необходимые разрешения» Блейд: добавьте «Microsoft» Graph и выберите ниже разрешения (разрешение приложения не делегировано):

«Пользователь.ReadWrite.All "," Group.Read.All "," Directory.ReadWrite.All "," Group.ReadWrite.All "," Directory.Read.All "," User.Read.All "

3: Нажмите «Предоставить разрешение»

4: добавьте ключи и скопируйте ключ

5: скопируйте «идентификатор приложения»

6: скопируйте «идентификатор каталога»(ваш идентификатор клиента объявления Azure) https://aad.portal.azure.com/?l=en.en-us#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Properties

7: эмулируйте https и получите токен доступа

URL: https://login.microsoftonline.com/{{your идентификатор клиента объявления Azure}} / oauth2 / token?api-версия = 1.0

Метод: POST

Заголовки: Content-Type: application / x-www-form-urlencoded Cache-Control: no-cache

Тело :grant_type = клиент_credentials & resource = https://graph.windows.net&client_id={{your идентификатор приложения}} & client_secret = {{ключ вашего приложения}}

Ответ: {"token_type": «Bearer», «expires_in»: «3600», «ext_expires_in»:"3600", "expires_on": "1557128389", "not_before": "1557124489", "resource": "https://graph.microsoft.com"," access_token ":" {{это токен доступа}} "}

вы можете проанализировать токен доступа к https://jwt.io/, чтобы убедиться, что эти разрешения существуют «роли»: [«User.ReadWrite.All», «Group.Read.All», «Directory.ReadWrite.All»,«Group.ReadWrite.All», «Directory.Read.All», «User.Read.All»],

8: создать группу с помощью разрешений приложения

URL: https://graph.microsoft.com/v1.0/groups

Метод: POST

Заголовки: Авторизация: Носитель {{ваш токен доступа, обратите внимание, что после Носителя есть место}} Cache-Control: no-cache Content-Type : application / json

Body: {"description": "Muti-Geo Graph API7", "displayName": "Команды Multi-Geo Graph API7", "groupTypes": ["Unified"], "mailEnabled": true, "mailNickname ":" TeamsMultiGeoGraphAPI7 ","securityEnabled": false, "owners@odata.bind": [[* https://graph.microsoft.com/v1.0/users/{{the идентификатор пользователя}} "]," prefediLocation ":" CAN "}

Ответ: 201 Создано

enter image description here

enter image description here

...