Олицетворять зарегистрированного пользователя при доступе к Azure Active Directory - PullRequest
0 голосов
/ 14 января 2019

Я использую Azure SDK для получения списка групп ресурсов:

const MsRest = require('ms-rest-azure');
const { ResourceManagementClient } = require('azure-arm-resource');
const credentials = await MsRest.loginWithServicePrincipalSecret(appId, pass, tenantId);
const client= new ResourceManagementClient(credentials, subscriptionId);

const resourceGroups = await client.resourceGroups.list()

Однако проблема в том, что я получаю все группы ресурсов в подписке. Я хочу получать только те группы ресурсов, к которым имеет доступ авторизованный пользователь. Таким образом, один из вариантов - получить список IAM (контроль доступа) группы ресурсов и проверить, появляется ли там зарегистрированный пользователь. Я не хочу делать это таким образом, потому что это потребует много запросов к Azure. Я хочу выдать себя за зарегистрированного пользователя при доступе к Azure, чтобы получить только те группы ресурсов, которые ему разрешено просматривать.

Я использую passport-azure-ad для аутентификации.

1 Ответ

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

Вы можете использовать следующий код для получения только тех групп ресурсов, к которым имеет доступ зарегистрированный пользователь:

var msRestAzure = require('ms-rest-azure');
var resourceManagement = require("azure-arm-resource");
 
// Interactive Login
msRestAzure.interactiveLogin(function(err, credentials) {
 var client = new resourceManagement.ResourceManagementClient(credentials, 'subscriptionid');
 client.resourceGroups.list(function(err, result) {
   if (err) console.log(err);
   console.log(result);
 });
});

И вы также можете обратиться к этой ссылке .

...