разрешение azure-graph для users.get (PrincipalID) - PullRequest
0 голосов
/ 07 января 2019

Мой код (Node.js):

const GraphkManagementClient = require('azure-graph');
client = new GraphkManagementClient(credentials, tenantId);
client.users.get(principalID);

Последняя строка бросков:

Authorization_RequestDenied: недостаточно прав для завершения работа.

Я знаю, как предоставить привилегии на портале Azure, но я не знаю, какая из них является правильной привилегией azure-graph для выполнения этой операции. Список такой длинный:

enter image description here

(И это только начало списка)

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Во-первых, вы назначаете разрешения для неправильного API согласно скриншоту в вашем вопросе. Он отображает «Microsoft Graph», хотя ваш код будет использовать Azure AD Graph API.

На портале Azure перейдите в Azure Active Directory> Регистрация приложений> Ваше приложение> Требуемые разрешения> Добавить (теперь в разделе Выберите API выберите «Windows Azure Active Directory»)

enter image description here

Теперь, если учетные данные, используемые в вашем коде, являются идентификатором клиента / идентификатором приложения и секретом приложения, то вам необходимо назначить «Чтение данных каталога» в разделе «Разрешения приложения». Для кода типа msRestAzure.loginWithServicePrincipalSecret

enter image description here

В противном случае, если вы предлагаете пользователям ввести свои учетные данные и выполняете что-то вроде интерактивного входа в систему, назначьте «Чтение данных каталога» в разделе «Делегированные разрешения». Для кода типа msRestAzure.interactiveLogin()

enter image description here

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

enter image description here

0 голосов
/ 07 января 2019

В соответствии с разрешениями Microsoft Graph для регистрации приложения в Azure Active Directory предоставьте разрешения «Чтение данных каталога». Этого должно быть достаточно, чтобы этот звонок работал. Если это слишком высоко, обратитесь к этому для получения дополнительной информации:

Справочник по разрешениям для Microsoft Graph

...