Справочник по разрешениям IAM

В этом документе содержится справочная информация о настройке разрешений и ролей IAM в Test Lab. Если вы хотите настроить более детализированные роли, Test Lab предоставляет разрешения как на выполнение тестов, так и на потоковую передачу устройств с помощью Android Studio. Для выполнения тестов необходимо правильно настроить разрешения и роли для IAM и стриминговых устройств.

Выполнение теста

Чтобы правильно настроить Test Lab и иметь возможность выполнять тесты и читать их результаты, необходимо настроить доступ к сегментам Cloud Storage. Для этого требуется определенная конфигурация разрешений, не все из которых включены в стандартные предопределенные роли Firebase. Чтобы предоставить доступ к Test Lab, воспользуйтесь одним из следующих вариантов.

Тестирование в консоли Firebase

Для тестов, запущенных из консоли Firebase или через матрицу устройств Firebase Test Lab в Android Studio:

  1. Протестируйте приложение в отдельном проекте Firebase.
  2. Добавьте пользователей, которым нужен доступ к Test Lab, и назначьте им устаревшие роли проекта в консоли Firebase.
  3. (Необязательно) Назначьте роль Редактор, чтобы пользователь мог запускать тесты с помощью Test Lab.
  4. При необходимости назначьте пользователю роль Наблюдатель, чтобы он мог просматривать результаты тестирования в Test Lab.

Тестирование с помощью gcloud CLI

Тесты, запущенные из gcloud CLI, Testing API или устройств под управлением Gradle, по умолчанию используют сегмент Cloud Storage, созданный Firebase. Для этого у субъекта, выполняющего тест, должна быть роль roles/editor в проекте Firebase.

Если вы не можете предоставить эту роль или хотите хранить подробные результаты тестирования дольше 90 дней, вы можете отправлять их в принадлежащий вам сегмент Cloud Storage, используя параметр командной строки gcloud --results-bucket.

При использовании собственного сегмента Cloud Storage:

  1. Назначьте пару стандартных ролей, которые вместе предоставляют необходимый набор разрешений, с помощью консоли Google Cloud.
  2. Чтобы разрешить пользователю запускать тесты с помощью Test Lab, назначьте ему две роли: администратор Firebase Test Lab (roles/cloudtestservice.testAdmin) и читатель Firebase Аналитики (roles/firebase.analyticsViewer).
  3. Чтобы пользователь мог просматривать результаты тестирования в Test Lab, назначьте ему роли Firebase Test Lab Viewer (roles/cloudtestservice.testViewer) и Firebase Analytics Viewer (roles/firebase.analyticsViewer).

Как включить разрешения в Device Streaming

Стриминг устройств – это отдельная функция, которая работает на устройствах Test Lab. Она позволяет напрямую подключаться к устройствам Test Lab. Редакторы и администраторы Firebase могут использовать Device Streaming без дополнительных ролей, но при необходимости вы можете предоставить более детализированные роли.

Чтобы разрешить пользователю использовать стриминг устройств, назначьте ему стандартную роль, которая предоставляет необходимый набор разрешений, в консоли Google Cloud. Назначьте роль "Администратор прямого доступа к Firebase Test Lab" (roles/cloudtestservice.directAccessAdmin).

Подробнее о стриминге устройств в Android Studio…