nav-img
Облако VMware

Сервисные учетные записи

Сервисные учетные записи (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:


  1. Перейдите в раздел Administration.

  2. В левом меню, в разделе Access Control, нажмите Service Accounts.

  3. Нажмите NEW.

    Откроется окно New Service Account.

  4. На вкладке General, в поле Name, введите имя сервисной УЗ.

  5. В поле Assign Role выберите из списка роль в VMware Cloud Director.

  6. В поле Software ID нажмите b__magic.

  7. Нажмите Next.

  8. (Опционально) На вкладке Quotas, нажмите ADD и укажите количество ВМ, доступное УЗ для создания и запуска.

  9. Нажмите Next.

  10. На вкладке Review and Complete проверьте детали создаваемой УЗ и нажмите FINISH.

После создания сервисной УЗ VMware Cloud Director присваивает ей client-id, который передается стороннему инструменту для аутентификации.

Предоставление доступа сервисной УЗ

Хранение токена API гарантировано только с помощью инструмента, который его использует.

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

Действия стороннего инструмента

Инициируйте авторизацию инструмента с использованием client_id:

POST https://host_name/oauth/tenant/tenant-name/device_authorization

Заголовки:

Accept: application/json;version=38.1

В ответе вернутся параметры:

  • device_code — используется сторонним инструментом для запроса API-токена в VMware Cloud Director;

  • user_code — одноразовый код, который передается администратору для подтверждения;

  • expires_in — время в секундах, в течение которого нужно завершить процесс получения доступа.

Действия администратора организации
  1. Перейдите в раздел Administration.

  2. В левом меню, в разделе Access Control, нажмите Service Accounts.

  3. Нажмите REVIEW ACCESS REQUESTS.

    Откроется окно Review Access Request.

  4. В поле User Code введите полученный user_code.

  5. Нажмите LOOKUP → GRANT.

В списке на странице 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.

  1. Перейдите в раздел Administration.

  2. В левом меню, в разделе Access Control, нажмите Service Accounts.

  3. Нажмите на нужную сервисную УЗ.

  4. Нажмите Revoke.

    VMware Cloud Director завершает все активные сеансы.

См.также

Полное описание конечных точек, методов и параметров запросов можно посмотреть по ссылке https://{SITE}/docs/.