IAM 権限リファレンス ガイド

このドキュメントでは、Test Lab の IAM 権限とロールの構成に関するリファレンス情報を提供します。よりきめ細かなロールを構成する場合は、Test Lab で Android Studio を使用して、テストを実行する権限とストリーミング デバイスを実行する権限の両方を使用します。テスト実行には、IAM とストリーミング デバイスの権限とロールを適切に構成するための追加要件があります。

テスト実行

テストを実行して結果を読み取ることができるように Test Lab を適切に構成するには、Cloud Storage バケットへのアクセスを構成する必要があります。これには特有の権限の構成が必要となります。それが標準の Firebase の事前定義ロールにすべて含まれているわけではありません。Test Lab へのアクセス権を付与するには、次のいずれかの方法を使用します。

Firebase コンソールを使用したテスト

Firebase コンソールまたは Android Studio の Firebase Test Lab デバイス マトリックスから開始したテストの場合:

  1. 専用の Firebase プロジェクトを別途作成し、そこでアプリをテストする。
  2. Test Lab にアクセスするユーザーを追加し、Firebase コンソールを使用してそれらのユーザーに以前のプロジェクトのロールを割り当てます。
  3. (省略可)ユーザーが Test Lab でテストを実行できるように、編集者のプロジェクト ロールを割り当てます。
  4. (省略可)ユーザーが Test Lab でテスト結果を表示できるように、閲覧者のプロジェクト ロールを割り当てます。

gcloud CLI を使用したテスト

gcloud CLITesting APIGradle で管理されているデバイスのいずれかから開始されたテストでは、デフォルトで Firebase によって作成された Cloud Storage バケットが使用されます。これには、テストを実行するプリンシパルに、Firebase プロジェクトの「roles/editor」ロールが必要です。

そのロールを付与できない場合、または詳細なテスト結果を 90 日より長く保持する場合は、--results-bucket という gcloud コマンドライン オプションを使用して、ご自身で所有する Cloud Storage バケットにそのテスト結果を送信できます。

独自の Cloud Storage バケットを使用する場合:

  1. Google Cloud コンソールを使用して、必要な権限セットをまとめて付与する事前定義ロールのペアを割り当てる。
  2. ユーザーが Test Lab でテストを実行できるようにするには、Firebase Test Lab 管理者(roles/cloudtestservice.testAdmin)と Firebase 向け Google アナリティクス閲覧者(roles/firebase.analyticsViewer)の両方を割り当てます。
  3. ユーザーが Test Lab でテスト結果を表示できるようにするには、Firebase Test Lab 閲覧者(roles/cloudtestservice.testViewer)と Firebase Analytics 閲覧者(roles/firebase.analyticsViewer)の両方を割り当てます。

デバイス ストリーミングで権限を有効にする

デバイス ストリーミングは、Test Lab デバイス上に構築された別の機能です。これにより、Test Lab デバイスに直接アクセスできます。Firebase の編集者と管理者は、追加のロールなしでデバイス ストリーミングを使用できますが、必要に応じて、よりきめ細かいロールを指定することもできます。

ユーザーにデバイス ストリーミングの使用を許可するには、Google Cloud コンソールを使用して、必要な権限セットをまとめて付与する事前定義ロールを割り当てます。割り当てるロールは、Firebase Test Lab ダイレクト アクセス管理者(roles/cloudtestservice.directAccessAdmin)です。

Android Studio でのデバイス ストリーミングについて詳しくは、Android Studio でのデバイス ストリーミングをご覧ください。