Поделиться через


Управление доступом на основе ролей в службе экологических кредитов (предварительная версия)

Важно

Некоторые или все функции доступны в рамках предварительного выпуска. Содержимое и функциональность могут быть изменены. Вы можете получить доступ к среде песочницы службы экологических кредитов (предварительная версия) для 30-дневной пробной версии. Чтобы использовать службу экологических кредитов (предварительная версия) в производственной среде, заполните форму регистрации в службе экологических кредитов (предварительная версия).

Управление доступом на основе ролей позволяет контролировать доступ к различным операциям в приложении на основе разрешений, присутствующих в ролях, назначенных пользователям в организации. Это позволяет вам предоставлять и удалять роли, назначенные пользователям в организации, для более детального контроля.

Каждая добровольная экологическая рыночная экосистемная организация играет определенную роль, называемую рыночной ролью в службе экологических кредитов (предварительная версия). Каждая организация подключит пользователей к службе экологических кредитов (предварительная версия) и назначит им роли. Такие ресурсы, как экологические проекты или программы, проекты модульных преимуществ, требования и токены, принадлежат организации, а не пользователю.

Назначение ролей пользователей

Роль пользователя определяется как набор разрешений, позволяющих выполнять определенные операции в приложении. Вы можете назначить эти роли пользователей на уровне организации или на уровне актива в контексте конкретной рыночной роли. Служба экологических кредитов (предварительная версия) поддерживает следующие роли пользователей:

Роль пользователя Разрешения
Администрирование Администратор может выполнять все поддерживаемые операции на уровне данных со связанными ресурсами, такие как создание, обновление, чтение и удаление. Они также могут выполнять операции на уровне управления, такие как регистрация пользователей в организации и создание или обновление назначений им ролей.
Участник Участник может выполнять все поддерживаемые операции на уровне данных со связанными ресурсами, такие как создание, обновление, чтение и удаление. Они также получают доступ для чтения на уровне управления.
Читатель Читатель может выполнять операции чтения на соответствующем уровне плоскости данных и на ресурсах уровня плоскости управления.

Управление ролями на уровне организации в контексте рыночной роли

Следующие возможности поддерживаются для управления доступом на основе ролей на уровне организации в контексте определенного уровня роли на рынке. Например, если организация действует как покупатель, то у нее есть одна рыночная роль (покупатель). На уровне организации пользователь в этой организации может иметь роль администратора покупателя, покупателя-участника или покупателя-читателя.

Одна организация может выполнять несколько рыночных ролей. Например, если другая организация действует и как реестр-эмитент, и как торговая площадка, она выполняет две рыночные роли. Пользователь в этой организации может иметь роль администратора-поставщика в контексте рыночной роли поставщика и роль читателя реестра выдачи в контексте роли реестра выдачи.

Управление ролями на уровне активов

Вы можете управлять привилегиями пользователей на уровне активов внутри организации. Администратор или участник уровня организации может создавать новые активы. Администратор уровня организации также может добавлять пользователей к активу и назначать им роли.

  • Администратор уровня актива : администратору уровня актива предоставляется роль администратора в определенной области актива в организации. Например, пользователю назначается роль администратора поставщика в рамках проекта модульных преимуществ в рыночной роли поставщика организации. Они могут выполнять с активом все поддерживаемые операции на уровне данных, такие как чтение и запись. Они также могут выполнять операции на уровне управления, такие как регистрация пользователей в организации для определенного актива, для которого они являются администратором.

  • Участник уровня актива: участник на уровне актива может выполнять все поддерживаемые операции на уровне данных с активом, такие как чтение и обновление актива. Они могут читать назначения ролей других пользователей или групп в области этого актива.

  • Читатель на уровне актива: читатель на уровне актива может выполнять операции чтения с активом. Они могут читать назначения ролей других пользователей или групп в области этого актива.

Заметка

Иерархия доступа сверху вниз будет сохранена. Например, если у пользователя есть роль администратора в рыночной роли поставщика в масштабе организации, он автоматически получит доступ на уровне администратора ко всем активам (таким как экологические проекты и проекты модульных преимуществ) для этого поставщика. Если у другого пользователя есть доступ администратора на уровне актива (например, в экологическом проекте), то он будет иметь доступ ко всем активам, входящим в его состав.

Поддерживаемые возможности управления доступом на основе ролей

Предварительные условия для использования коллекции Postman для API-интерфейсов

Вы можете настроить коллекцию Postman с конфигурацией среды организаций и их администраторов следующим образом:

  • Задайте данные пользователя в различных переменных (например: <marketRole>_admin_username) коллекции Postman для разных рыночных ролей, которые вы хотите использовать, а также соответствующие пароли.

  • Создайте новую среду Postman и переключитесь на нее перед выполнением каких-либо API-интерфейсов в коллекции.

  • Запустите папку Настройка организаций для конкретной рыночной роли, которую вы хотите использовать, чтобы настроить свойства организации (и ее соответствующих администраторов) в среде Postman.

  • Запустите API-интерфейс Определения ролей > Получить все определения ролей, чтобы получить подробную информацию обо всех встроенных определениях ролей пользователей в среде Postman. Ответ от API-интерфейса определения ролей можно использовать для получения сведений о назначаемых областях, которые можно назначать пользователям.

Добавить пользователей

Вы можете добавлять пользователей и управлять их ролями в организации, перейдя в меню Настройки на левой панели навигации.

Заметка

Вы не можете добавить уже добавленного пользователя.

  1. На экране Доступ пользователей выберите Добавить пользователя.
  2. На панели Добавить пользователя введите Пользователь, выберите Уровень доступа, затем выберите Сохранить. Снимок экрана добавления пользователя на панели «Добавить пользователя».

Через API-интерфейс:

Заметка

Папка Зарегистрировать пользователей коллекции Postman поддерживает выполнение одним щелчком мыши. Однако мы рекомендуем вам использовать отдельные API-интерфейсы, чтобы попробовать подключить пользователей и ознакомиться с API-интерфейсами.

  • Для любой организационной папки, например Поставщик, в папке Регистрация пользователей коллекции Postman настройте организацию и ее администратора, вызвав API-интерфейсы Получить сведения об организации и Получить сведения о пользователе-администраторе .

  • Чтобы подключить пользователя-участника, вы можете убедиться, что авторизация, необходимая для API-интерфейсу, соответствует пользователю-администратору. Полезная нагрузка запроса пытается добавить нового пользователя со встроенной ролью пользователя-участника, например ролью пользователя-участника поставщика. Отправка запроса регистрирует участника.

  • Аналогичным образом вы можете зарегистрировать пользователя-читателя в организации с соответствующей ролью читателя, например ролью пользователя-читателя поставщика.

Изменение назначений ролей

После добавления пользователей вы можете изменить назначенную им роль пользователя.

Заметка

Вы не можете редактировать свой собственный доступ.

  1. На экране Доступ пользователя выберите три точки рядом с пользователем, затем выберите Изменить.
  2. На панели Изменить доступ выберите новую роль в раскрывающемся списке Уровень доступа, затем выберите Сохранить. Снимок экрана изменения доступа при удалении пользователя.

Через API-интерфейс:

  1. Перейдите в папку Назначения ролей в коллекции.

  2. Используйте API-интерфейс Создать назначение роли в активе. По умолчанию роль участника поставщика назначается пользователю-читателю поставщика с использованием маркера доступа администратора поставщика.

    Заметка

    В этом примере показано, как работает API-интерфейс для назначения ролей. Вы можете назначить разные роли пользователей пользователям из разных организаций с помощью соответствующих учетных записей администратора. Вы можете изменить URI ресурса области на действительный URI актива для определения роли. Замените переменные среды в полезных данных запроса (roleDefinitionId и userId), измените параметр текста запроса resourceUri и измените переменную среды маркера доступа администратора, чтобы она соответствовала соответствующей учетной записи администратора.

    Вы можете отправить API-интерфейс создания назначения ролей с различными значениями идентификатора определения роли (roleDefinitionId), который будет назначен различным пользователям в организации (userId) в другой области (resourceUri). Вы можете изменить заголовок авторизации, чтобы он соответствовал маркеру доступа соответствующего администратора.

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

  3. Используйте API-интерфейс Обновить назначение ролей для обновления доступа пользователя. Например, вы можете повысить пользователя до администратора поставщика. Обязательно проверьте roleassignment_id в параметре API.

Удаление назначений ролей

Пользователь-администратор может при необходимости удалить существующие назначения ролей для участников.

Заметка

Вы не можете удалить свой собственный доступ.

  1. На экране Доступ пользователя выберите три точки рядом с пользователем, затем выберите Изменить.
  2. На панели Изменить доступ выберите Нет в раскрывающемся списке Уровень доступа, затем выберите Сохранить. Снимок экрана изменения доступа при удалении пользователя.

Через API-интерфейс:

  1. Настройте роль администратора, соответствующую организации пользователя, назначение роли которого необходимо удалить.

  2. Перейдите в папку Назначения ролей и выберите API-интерфейс Удалить назначение роли.

  3. Введите правильный roleassignment_id в Параметр API.

  4. Вызовите DELETE /roleAssignments/{{roleassignment_id}}, установив заголовок авторизации с маркером доступа соответствующего пользователя-администратора (переменные из среды Postman можно использовать для проверки пользователей с разными ролями из разных организаций).

Просмотр и изменение данных профиля

Чтобы просмотреть данные своего профиля, выберите Моя учетная запись в левой навигации.

Чтобы изменить свои предпочтения, выберите значок Изменить в разделе Предпочтения и выберите домашнюю страницу, которую хотите использовать. В списке будут указаны различные рыночные роли, к которым имеет доступ текущий пользователь, вошедший в систему.

Снимок экрана редактирования предпочтений.

Через API-интерфейс:

  1. Используйте API-интерфейс POST /organizations/{organizationId}/users/{userId}/setMyDefaultMarketRole для переключения рыночной роли пользователя по умолчанию. Заголовок авторизации должен использовать маркер доступа того же пользователя, который был передан в URL-параметре userId. Пользователь должен иметь некоторый доступ к новой рыночной роли, установленной по умолчанию.

Просмотр определений ролей

Пользователь с любой ролью может просматривать различные определения ролей.

Чтобы просмотреть все определения ролей через API-интерфейс:

  1. Перейдите в папку Назначения ролей и выберите API-интерфейс Получить все определения ролей.

  2. Вызовите GET /roleDefinitions, установив заголовок авторизации с маркером доступа соответствующего пользователя (переменные из среды Postman можно использовать для проверки пользователей с разными ролями из разных организаций).

Чтобы просмотреть определения ролей по идентификатору:

  1. Перейдите в папку Назначения ролей и выберите API-интерфейс Получить определение роли по идентификатору.

  2. Вызовите GET /roleDefinitions/{{id}}, установив идентификатор определения роли в URL-адресе запроса и заголовок авторизации с маркером доступа соответствующих пользователей (переменные из среды Postman можно использовать для проверки пользователей с разными ролями из разных организаций).

Просмотр пользователей и назначенных ролей

Пользователь с любой ролью может просматривать пользователей организации вместе с назначенными им ролями.

  • Перейдите к экрану Доступ пользователей и просмотрите пользователей, у которых есть доступ.

    Снимок экрана доступа пользователей, на котором показаны пользователи и их роли.

Через API-интерфейс:

  1. Перейти в папку Пользователи.
  2. Вызовите Получить всех пользователей в моей организации, установив заголовок авторизации с маркером доступа пользователей из соответствующей организации (переменные из среды Postman можно использовать для проверки пользователей с разными ролями из разных организаций).
  3. Перейдите в папку Назначения ролей.
  4. Вызовите Получить все назначения ролей в моей рыночной роли по умолчанию, чтобы получить назначения ролей в рыночной роли по умолчанию для идентификации вызывающей стороны на основе параметра запроса resourceUri.

Управление межорганизационным контролем доступа к вашим активам

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

Для поддержки этих сценариев служба экологических кредитов (предварительная версия) имеет следующие возможности:

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

  • Администратор может решить, хочет ли он, чтобы актив был виден всем организациям рыночной роли или нет. Например, поставщик может заранее зарезервировать кредит покупателю. Администратор может управлять видимостью, чтобы кредиты не были видны другим покупателям, кроме предполагаемого.

По умолчанию такие активы, как экологические проекты, проекты модульных преимуществ и кредиты, будут видны всем организациям, и администратор может переключать их. Администратор может установить для этого политику доступа между организациями на разных уровнях, от самого низкого до самого высокого приоритета, следующим образом:

  • Организации: межорганизационная политика на уровне организации подразумевает, что межорганизационный контроль доступа применяется ко всем активам в организациях.

  • Экологические проекты: межорганизационная политика на уровне экологических проектов имеет более высокий приоритет, чем предыдущий уровень. Он подразумевает межорганизационный контроль доступа к конкретному экологическому проекту и всем активам в его рамках. Если на этом уровне установлена межорганизационная политика, она имеет приоритет над любой политикой, установленной на уровне организации. Это может установить пользователь с правами администратора, имеющими право в области экологического проекта.

  • Проекты модульных преимуществ: межорганизационная политика на уровне проектов модульных преимуществ имеет более высокий приоритет, чем предыдущие уровни. Это подразумевает межорганизационный контроль доступа к конкретному проекту модульных преимуществ и всем активам в его рамках. Если на этом уровне установлена межорганизационная политика, она имеет приоритет над любой политикой, установленной на одном из перечисленных выше уровней. Это может установить пользователь с правами администратора, имеющими право в области проекта модульных преимуществ.

  • Кредиты: межорганизационная политика на уровне кредитов имеет более высокий приоритет, чем предыдущие уровни. Это подразумевает межорганизационный контроль доступа по конкретному кредиту. Если на этом уровне установлена межорганизационная политика, она имеет приоритет над любой политикой, установленной на одном из перечисленных выше уровней. Это может установить пользователь с правами администратора, имеющими право в области проекта модульных преимуществ.

Заметка

Администраторы могут устанавливать межорганизационную политику для активов, которыми они владеют. Поставщик и Покупатель — это две рыночные роли, которые могут устанавливать межорганизационную политику. Поставщик может установить ее для своих экологических проектов, проектов модульных преимуществ и кредитов. Покупатель может установить ее для принадлежащих ему кредитов. При вызове API-интерфейсов заголовок x-ms-marketRole указывает службу в контексте рыночной роли, в которой пользователь-администратор вызывает их.

Через пользовательский интерфейс:

В настоящее время из пользовательского интерфейса администратор уровня организации может установить межорганизационную политику на уровне организации.

  1. Выберите Доступ организации в левой области навигации.

  2. Выберите Изменить для организации, которую вы хотите изменить и обновить при необходимости.

    Снимок экрана доступа организации, показывающий изменения доступа между организациями.

Через API-интерфейс:

  1. Перейдите в папку Организации в Postman и используйте API-интерфейс Установить политику доступа между организациями на уровне организации, чтобы установить политику на уровне организации в рыночной роли по умолчанию.
  2. Перейдите в папку Создание экологического проекта в Postman и используйте API-интерфейс Установить политику межорганизационного доступа к экологическому проекту, чтобы установить политику на уровне конкретного экологического проекта.
  3. Перейдите в папку Создание экологического проекта в Postman и используйте API-интерфейс Установить политику межорганизационного доступа к MBP, чтобы установить политику на уровне конкретного проекта модульных преимуществ.
  4. Перейдите в папку Кредиты в Postman и используйте API-интерфейс Установить политику межорганизационного доступа к кредиту, чтобы установить политику на уровне конкретного кредита.

Использование групп для управления доступом

Администратор может создавать группы, управлять пользователями в группе и назначать группам роли. Эта функция в настоящее время поддерживается только через API-интерфейсы.

  • Создание группы пользователей и добавление в нее пользователей:

    POST /organizations/{{organization_id}}/groups  
    
  • Получение всех групп пользователей в организации:

    GET /organizations/{{organization_id}}/groups
    
  • Получение группы пользователей по идентификатору:

    GET /organizations/{{organization_id}}/groups/{{group_id}} 
    
  • Получение пользователей в группе пользователей:

    GET /organizations/{{organization_id}}/groups/{{group_id}}/users  
    
  • Добавление пользователей в группу пользователей:

    POST /organizations/{{organization_id}}/groups/{{group_id}}/addUsers  
    
  • Удаление пользователя из группы пользователей:

    DELETE /organizations/{{organization_id}}/groups/{{group_id}}/users/{{user_id}}  
    
  • Регистрация пользователей в группе пользователей:

    POST /organizations/{{organization_id}}/groups/{{group_id}}/addNewUsers  
    
  • Создание назначения роли для группы пользователей:

    POST /roleAssignments  
    
  • Удаления назначения роли группы пользователей:

    DELETE /roleAssignments/{{roleAssignmentId}}  
    

См. также

Обзор службы экологических кредитов (предварительная версия)
Глоссарий службы экологических кредитов (предварительная версия)
Справочный обзор API-интерфейсов для службы экологических кредитов (предварительная версия)