Сервисные учетные записи
Сервисные учетные записи (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/.
- Ограничения
- Создание сервисной УЗ
- Предоставление доступа сервисной УЗ
- Получение токена доступа
- Отзыв доступа