Сервисные учетные записи
Сервисные учетные записи (Service Account) — альтернатива пользовательским УЗ. Сервисные УЗ предоставляют автономный доступ для инструментов автоматизации и сторонних инструментов, например плагинов.
Использование сервисных УЗ предотвращает создание фиктивных УЗ пользователей для работы с инструментами автоматизации и помогает не потерять доступ к VMware Cloud Director API после блокировки УЗ пользователя.
Администраторы организаций могут контролировать проверку, предоставление и отзыв доступа к сервисным УЗ.
Сервисные УЗ:
-
предоставляют доступ к VMware Cloud Director через API;
-
не имеют доступа к пользовательскому интерфейсу;
-
используются для работы со сторонними инструментами.
При использовании cервисной УЗ вы получаете access_token сроком жизни 86 400 секунд и refresh_token, с помощью которого можно запросить новый access_token.
Токены конфиденциальны, их утечка может привести к несанкционированному доступу в тенант.
Ограничения
При использовании сервисных УЗ нет возможности:
-
управлять пользователями;
-
создавать токены API;
-
управлять другими сервисными УЗ.
При доступе к VMware Cloud Director с помощью сервисной УЗ можно просмотреть только:
-
пользователя;
-
группу;
-
роли;
-
глобальные роли;
-
пакеты прав.
У сервисной УЗ нет прав:
-
Token: Manage;
-
Token: Manage All.
Создание сервисной УЗ
Создать сервисную УЗ можно через интерфейс VMware Cloud Director или с помощью API:
-
Перейдите в раздел Administration.
-
В левом меню, в разделе Access Control, нажмите Service Accounts.
-
Нажмите NEW.
Откроется окно New Service Account.
-
На вкладке General, в поле Name, введите имя сервисной УЗ.
-
В поле Assign Role выберите из списка роль в VMware Cloud Director.
-
В поле Software ID нажмите
.
-
Нажмите Next.
-
(Опционально) На вкладке Quotas, нажмите ADD и укажите количество ВМ, доступное УЗ для создания и запуска.
-
Нажмите Next.
-
На вкладке Review and Complete проверьте детали создаваемой УЗ и нажмите FINISH.
После создания сервисной УЗ VMware Cloud Director присваивает ей client-id, который передается стороннему инструменту для аутентификации.
Предоставление доступа сервисной УЗ
Хранение токена API гарантировано только с помощью инструмента, который его использует.
Чтобы стороннему инструменту получить доступ к сервисной УЗ, инструмент инициирует процедуру, администратор организации подтверждает предоставление прав.
- Действия стороннего инструмента
-
device_code — используется сторонним инструментом для запроса API-токена в VMware Cloud Director;
-
user_code — одноразовый код, который передается администратору для подтверждения;
-
expires_in — время в секундах, в течение которого нужно завершить процесс получения доступа.
- Действия администратора организации
-
Перейдите в раздел Administration.
-
В левом меню, в разделе Access Control, нажмите Service Accounts.
-
Нажмите REVIEW ACCESS REQUESTS.
Откроется окно Review Access Request.
-
В поле User Code введите полученный user_code.
-
Нажмите LOOKUP → GRANT.
Инициируйте авторизацию инструмента с использованием client_id:
POST https://host_name/oauth/tenant/tenant-name/device_authorization
Заголовки:
Accept: application/json;version=38.1
В ответе вернутся параметры:
В списке на странице Service Accounts сервисная УЗ отображается со статусом Granted.
Получение токена доступа
Чтобы стороннему инструменту получить токен доступа, выполните:
POST https://host_name/oauth/tenant/tenant-name/token
В ответе вернутся параметры:
-
access_token — токен для использования в текущем сеансе;
-
refresh_token — токен для доступа к VMware Cloud Director при следующем сеансе через POST/oauth/tenant/tenant-name/token? grant_type=refresh_token&refresh_token=<API_token>);
-
expires_in — время в секундах, в течение которого нужно завершить процесс получения доступа.
Токены для сервисных УЗ меняются при каждом использовании. Когда access_token извлекается через вызов токена обновления, в ответе на следующий сеанс предоставляется новый refresh_token. Нужно сохранить новый токен для следующего использования.
Срок действия API-токенов неиспользуемой сервисной УЗ не истекает, пока вы не отзовете права сервисной УЗ.
Отзыв доступа
Отзыв API-токена не удаляет учетную запись службы. Отозвать доступ можно у сервисной УЗ со статусом Granted или Active stage. После отзыва доступа статус сервисной УЗ меняется на Created.
-
Перейдите в раздел Administration.
-
В левом меню, в разделе Access Control, нажмите Service Accounts.
-
Нажмите на нужную сервисную УЗ.
-
Нажмите Revoke.
VMware Cloud Director завершает все активные сеансы.
Полное описание конечных точек, методов и параметров запросов можно посмотреть по ссылке https://{SITE}/docs/.
- Ограничения
- Создание сервисной УЗ
- Предоставление доступа сервисной УЗ
- Получение токена доступа
- Отзыв доступа