12.5.1 Роли, группы и привилегии
Подробная информация о ролевой модели vStack описана в документации на vStack HCP в разделе 5.1 Ролевая модель.
ГИ vStack имеет расширенную ролевую модель, в которой кроме возможности назначать роли присутствует возможность назначения дополнительных привилегий.
Роли и привилегии могут быть назначены:
- Группам - Active Directory.
- Пользователям (как локальным, так и из служб каталогов или identity провайдеров).
В ГИ роли, группы и привилегии играют важную роль в обеспечении безопасности, управлении доступом и организации работы кластеров.
- Роли определяют набор разрешений и обязанностей, которые имеют пользователи в рамках ГИ. Например, администраторы кластеров могут иметь роли с полным доступом к управлению и ко всем настройкам кластера, в то время как обычные пользователи имеют более ограниченные права.
Т.к. роли назначаются пользователю или группе, то для правильного отображения объектов в области видимости важно учитывать для какого vDC роль была назначена пользователю (для некоторых методов).
- Группы являются способом организации пользователей ГИ. Пользователи могут быть добавлены в группы в зависимости от их функциональности, доступа к определенным возможностям или роли в организации. Группы упрощают управление доступом и уровнем привилегий в рамках кластера.
- Привилегии определяют какие действия и функции могут быть доступны пользователям или группам кластера. Например, привилегии могут давать доступ к запуску виртуальных машин, управлению сетью, резервированию ресурсов и т.д. Управление привилегиями позволяет обеспечить безопасность и эффективное управление ресурсами в ГИ.
Методы¶
12.5.1.1 role-privilege-list¶
Метод получения ролей и входящих в них привилегий (role_id - 1 уровень, privilege_id - 2 уровень):
Запрос:
Ответ:
{
"jsonrpc": "2.0",
"id": "c3430cb0-7739-47c7-9eec-d7aef04a6568",
"result": {
"code": 1,
"data": {
"1": [
500000,
200001,
200000
],
"2": [
410000,
415000,
310002
],
"3": [
600000,
600001,
610001,
610002
],
"5": [
100001,
200000
]
}
}
}
12.5.1.2 group-list¶
Метод получения списка групп в области видимости Active Directory, в качестве ключа используется ObjectGUID в формате UUID.
- cn - имя конкретного объекта в каталоге (имя группы);
- dn - полное имя объекта, включая все его родительские контейнеры.
Запрос:
Ответ:
{
"jsonrpc": "2.0",
"id": "e6cdc8f4-998c-4647-b793-624958987ad3",
"result": {
"code": 1,
"data": {
"00dcf588-09a2-4852-9960-6ceb4bec0956": {
"cn": "Print Operators",
"dn": "CN=Print Operators,CN=Builtin,DC=ext,DC=itglobal,DC=com"
},
"0158a6fd-8136-4d6e-8bd0-e415f41daa17": {
"cn": "HRZ-DEMO-UG",
"dn": "CN=HRZ-DEMO-UG,OU=Groups,OU=HRZ-DEMO,DC=ext,DC=itglobal,DC=com"
},
"07d85987-d8d3-457c-a624-6ccc1d16dd6c": {
"cn": "Performance Log Users",
"dn": "CN=Performance Log Users,CN=Builtin,DC=ext,DC=itglobal,DC=com"
},
"09d2a9c1-ee62-4be7-b81c-e55a4d1506e2": {
"cn": "vstack_test_group_5",
"dn": "CN=vstack_test_group_5,OU=Org_vStack,OU=SERVICE ACCOUNTS,DC=ext,DC=itglobal,DC=com"
},
"0b849061-24c0-485e-8b57-70c600f591c0": {
"cn": "Remote Desktop Users",
"dn": "CN=Remote Desktop Users,CN=Builtin,DC=ext,DC=itglobal,DC=com"
},
"0f29a2df-6d17-40b0-92a3-8c7f54e2a4d3": {
"cn": "Event Log Readers",
"dn": "CN=Event Log Readers,CN=Builtin,DC=ext,DC=itglobal,DC=com"
},
"1601a9f7-55cd-4ceb-b3ac-4e27c3564272": {
"cn": "LAPS Denny",
"dn": "CN=LAPS Denny,OU=LAPS,OU=SERVICE ACCOUNTS,DC=ext,DC=itglobal,DC=com"
},
"19d5e53a-750e-40fb-b495-f5bc73e6edaa": {
"cn": "Domain Users",
"dn": "CN=Domain Users,CN=Users,DC=ext,DC=itglobal,DC=com"
}
}
}
}
12.5.1.3 group-roles¶
Метод получения списка ролей для группы (1 уровень - role_id).
Запрос:
{
"jsonrpc": "2.0",
"method": "group-roles",
"params": {
"group_id": "612c02c3-5f8f-4d2b-847e-6d2af7184ff3"
},
"id": "f31dc5d4-7b2c-4f1e-80a9-f56423a27b88"
}
Ответ:
{
"jsonrpc": "2.0",
"id": "f31dc5d4-7b2c-4f1e-80a9-f56423a27b88",
"result": {
"code": 1,
"data": {
"1": [
{
"role_id": 1,
"vdc_id": 0
}
],
"2": [
{
"role_id": 2,
"vdc_id": 1
},
{
"role_id": 2,
"vdc_id": 0
}
],
}
}
}
12.5.1.4 group-privileges¶
Метод получения списка привилегий для группы (1 уровень - privilege_id).
Запрос:
{
"jsonrpc": "2.0",
"method": "group-privileges",
"params": {
"group_id": "612c02c3-5f8f-4d2b-847e-6d2af7184ff3"
},
"id": "f31dc5d4-7b2c-4f1e-80a9-f56423a27b88"
}
Ответ: