Загрузка актуальной информации о доступности привилегий для групп пользователей#
Загрузка актуальной информации о доступности привилегий для групп пользователей (далее – слепок данных) используется для передачи данных и их последующего сохранения в буфер.
Слепок данных хранит информацию о доступности привилегий для групп пользователей, которую можно впоследствии применить или удалить.
В дальнейшем эта информация позволяет полностью обновить данные о привилегиях.
Предусловия#
Подготовьте запросы в JSON-формате для загрузки привилегий пользователей к группам узлов.
Пример файла rules.json в JSON-формате:
{
"is_final": false,
"rules": [
{
"user_group_key": "user_group_key_1",
"users": [
"alice",
"charlie"
],
"asset_filter_grants": [
{
"custom_prop_filter": [
{
"property_key": "custom_ac",
"property_value": "AC0001"
},
{
"property_key": "custom_cir",
"property_value": "CIR002"
}
],
"privileges": [
"asset_pg_delete",
"pg_metrics_regular_toggle",
"pg_metrics_embedded_toggle"
]
}
],
"global_grants": [
"global_asset_pg_create"
]
}
]
}
, где:
is_final- флаг окончания передачи данных.atsn_id- идентификатор, который генерируется на стороне Kintsugi (DBCM).При подгрузке первого пакета данных идентификатор будет выслан в ответе. В дальнейшем для того, чтобы расширить слепок данных необходимо использовать полученный идентификатор.
В API реализована привязка идентификатора
atsn_idк пользователю (subиз JWT-токена):Первый пользователь, обратившийся с конкретным
atsn_id, захватывает его.Остальные пользователи при попытке использовать этот же
atsn_idполучают отказ.После окончания передачи данных
atsn_idосвобождается.
rules- список правил, определяющий группы пользователей, доступные для них активы и привилегии.user_group_key- идентификатор группы пользователей.users- список пользователей, входящих в группу.global_grants- глобальные права для группы пользователей (например, создание объектов).asset_filter_grants- список прав на объекты с фильтрацией по пользовательским свойствам:custom_prop_filter- фильтры по свойствам (property_key,property_value), ограничивающие множество активов и формирующие группу узлов.privileges- список разрешенных действий (например, включение метрик).
Последовательность выполнения#
Введите в командной строке соответствующий API-вызов:
Пример запроса для пакетной загрузки информации о доступности привилегий для групп пользователей:
curl -X POST -H "Authorization: Basic ${token}" https://${kintsugi_host}/backend/privileges/snapshots/upload -H "Content-Type: application/json" @rules.json
Результат#
Пакетная загрузка информации о доступности привилегий для групп пользователей выполнена успешно.