Получить список контроля доступа (IAM) группы ресурсов в Node.js - PullRequest
0 голосов
/ 01 января 2019

Я использую Node.js для взаимодействия с Azure, например, для создания группы ресурсов:

const { ResourceManagementClient } = require('azure-arm-resource');

createResourceGroup(location, groupName) {
        const groupParameters = {
            location: location,
        };
        return this.resourceClient.resourceGroups.createOrUpdate(groupName, groupParameters);
    }

Как я могу использовать эти модули Azure-Arm для получения списка управления доступом (IAM)группы ресурсов?

Я имею в виду этот список: enter image description here

1 Ответ

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

Вам потребуется использовать Модули авторизации Azure для Node.js

Вот пример кода на основе документов Microsoft

Установка модуля авторизации Azure

npm install azure-arm-authorization

Список всех назначений ролей для определенной группы ресурсов

const msRestAzure = require('ms-rest-azure');
const authorizationManagement = require('azure-arm-authorization');

const resourceGroup = 'resource-group-name';
const subscriptionId = 'your-subscription-id';

msRestAzure.interactiveLogin().then(credentials => {
 const client = new authorizationManagement(credentials, subscriptionId);
 client.roleAssignments.listForResourceGroup(resourceGroupName).then(result => {
   console.log(result);
 });
});

Также обратите внимание, что фактический API REST, используемый для этих операций:

Назначение ролей - список для группы ресурсов

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01

Аналогичный API, который принимает общую область (для работы не только с группами ресурсов, но и с другими ресурсами)

Назначения ролей - список для области действия

GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2015-07-01

ОБНОВЛЕНИЕ (при попытке ответить на запросы из комментариев)

Используя приведенный выше код для перечисления всех назначений ролей для определенной группы ресурсов (или назначений ролей - список для группы ресурсов REST API). Вам будет возвращен набор назначений ролей, как отражают ваши комментарии.

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

Теперь назначение роли всам формируется из:

  1. Идентификатор участника безопасности (пользователь, группа, участник службы и т. д., которому вы пытаетесь предоставить разрешения через роль)

  2. Идентификатор определения роли (идентификатор роли, которую вы назначаете, например, вкладчик, владелец или настраиваемая роль RBAC)

  3. Область действия (для которой назначена эта роль,как на уровне подписки или на определенной группе ресурсов или уровне ресурсов)

Эта концепция подробно и очень хорошо объяснена здесь на Документах Microsoft

Чтобы понять смысл UUID ответа, вы сможете найти список всех определений ролей (узнать их идентификатор, описание имени и т. Д.), Используя Список определений ролей через узел SD.K или с использованием Определения ролей - список REST API

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

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

enter image description here

...