組織でコネクテッド シートを使用する

Google スプレッドシートのデータコネクタであるコネクテッド シートを使用すると、スプレッドシートから数十億行のデータにアクセスし、分析、可視化、共有できます。コネクテッド シートでは次のこともできます。

  • 使い慣れたスプレッドシートのインターフェースを使用して、パートナーやアナリストなどの関係者と共同編集する。
  • ユーザーが共同編集者にアクセス権を委任できるようにする。
  • CSV 書き出しデータを別途作成することなく、単一の信頼できるデータ分析ソースを利用する。
  • 境界内のデータを分析することで、ユーザーの IP アドレスやデバイス情報などの属性に基づいてアクセスを制限する。

コネクテッド シートからのクエリは、BigQuery または Looker で手動または定義済みのスケジュールに従って実行できます。これらのクエリの結果はスプレッドシートに保存され、分析して共有できます。BigQuery でコネクテッド シートの使用方法の詳細に関する動画チュートリアルをご覧ください。

コネクテッド シートのクエリイベントは、ドライブのログイベントで確認できます。

データ分析のための BigQuery の設定

セクションを開く  |  すべて閉じる

手順 1: Google Cloud を有効にする

組織に対して Google Cloud が有効になっていることを確認します。詳しくは、ユーザーに対して Google Cloud を有効または無効にするをご覧ください。

コネクテッド シートを BigQuery で使用する方法については、Google スプレッドシートで BigQuery データを使ってみるをご覧ください。

手順 2: IAM ロールを確認する

Identity and Access Management(IAM)ロールを使用して、ユーザーがアクセスできるデータに関して権限を割り当てます。スプレッドシートで BigQuery プロジェクトを追加または使用するには、BigQuery におけるユーザーの IAM のロールが bigquery.user または bigquery.jobUserbigquery.dataViewer である必要があります。

これらのロールについては、BigQuery の IAM 事前定義ロールをご覧ください。

ユーザーが行える操作は、スプレッドシートのオーナーの権限ではなく、IAM ロールとスプレッドシートに対する権限によって決まります。組織外のユーザーは、管理者が許可した場合にのみ、組織のスプレッドシートを操作できます。

スプレッドシートでの操作 BigQuery で必要な IAM ロール スプレッドシートで必要な権限
BigQuery のテーブルまたはビューを使用して、グラフ、ピボット テーブル、数式、抽出を作成する

bigquery.user

または

bigquery.jobUser と bigquery.dataViewer

編集者
BigQuery データから作成したグラフ、ピボット テーブル、数式、抽出、プレビューを表示する なし 編集者または閲覧者
カスタムの BigQuery クエリを作成または編集する

bigquery.user

または

bigquery.jobUser と bigquery.dataViewer

編集者
カスタムの BigQuery クエリを表示する なし 編集者または閲覧者
BigQuery のデータを更新する

bigquery.user

または

bigquery.jobUser と bigquery.dataViewer

編集者
手順 3: IAM ロールを割り当てる

BigQuery コンソールでデータセットに対する IAM ロールを割り当てます。詳しくは、IAM を使用してリソースへのアクセスを制御するをご覧ください。

手順 4:(省略可)コネクテッド シートを許可するように VPC Service Controls を構成する

IAM を使用して BigQuery データにアクセスできるユーザーを承認するだけでなく、VPC Service Controls を使用して、ユーザーの IP アドレスやデバイス情報などの属性に基づいてアクセスを制限するサービス境界を作成できます。コネクテッド シートを使用して VPC Service Controls で保護された BigQuery データにアクセスできるのは、Google スプレッドシートでクエリ結果をユーザーのスプレッドシートにコピーできるように境界を構成した場合に限られます。詳しくは、アクセス制御をご覧ください。

Looker を設定してデータを分析する

コネクテッド シートを Looker で使用するには、Google 管理コンソールで個別に制御されていないサービスへのアクセスを有効にする必要があります。詳しくは、個別に制御されていないサービスへのアクセスを管理するをご覧ください。また、Looker 管理者は最初に Looker 管理 UI でコネクテッド シートを有効にする必要があります。詳しい手順については、Looker 向けコネクテッド シートの使用をご覧ください。

BigQuery 向けコネクテッド シートへのアクセス権の委任をユーザーに許可する

この機能に対応しているエディション: Enterprise Standard、Enterprise Plus、Education Standard、Education Plus、Enterprise EssentialsEnterprise Essentials Plus。  エディションの比較

BigQuery 向けコネクテッド シートへのアクセス権の委任をユーザーに許可して、それらのユーザーが他のユーザーと連携してデータ分析やクエリの実行を行えるようにできます。

アクセス権を委任するには、他のユーザーとシートを共有する必要があります。ただし、リンクを使って一般公開で共有されているシートへのアクセス権を委任することはできません。アクセス権を委任したユーザーと、ドライブのログイベントまたは Cloud Audit Logs でクエリを実行したユーザーを確認できます。

アクセス権の委任を有効または無効にする

  1. Google 管理コンソールログインします。

    管理者アカウント(末尾が @gmail.com でないもの)でログインします。

  2. 管理コンソールで、メニュー アイコン "" 次に "" [アプリ] 次に [Google Workspace] 次に [ドライブとドキュメント] 次に [機能とアプリケーション] に移動します。

  3. [コネクテッド シートに対するアクセス権の委任] で編集アイコン "" をクリックします。
  4. 全ユーザーに設定を適用する場合は、最上位の組織部門を選択したままにします。それ以外の場合は、子組織部門または設定グループを選択します。
  5. [委任設定] で [スプレッドシートに対する編集権限を持つユーザーが、コネクテッド シートに対するアクセス権の委任を有効化できるようにする] チェックボックスをオンまたはオフにします。
  6. 組織部門またはグループの設定を行う場合は、[特定の組織部門またはグループ内のユーザーのみが委任を行える] をオンにします。
  7. シートにアクセスできるどのユーザーにもアクセス権の委任を許可するには、[任意のユーザーが委任を行える] をオンにします。

    これには、スプレッドシートへのアクセス権を持つ組織外のユーザーも含まれます。

  8. [保存] をクリックします。組織部門またはグループが作成済みの場合は、親組織部門の設定を継承またはオーバーライドしたり、グループの設定を解除したりできることがあります。

委任を有効にしたら、以下の手順に沿ってシートへのアクセス権を委任するようユーザーに説明してください。

コネクテッド シートのログイベントを表示する

コネクテッド シートが BigQuery と Looker データにアクセスすると、エントリがドライブのログイベントに記録されます。エントリは BigQuery アクセス用の Cloud Audit Logs と Looker アクセス用の System Activity History Explore にも記録されます。このログには、誰がいつデータにアクセスしたのか表示されます。

セクションを開く  |  すべて閉じる

Reports API を使用してドライブのログイベントを分析する

Google 管理コンソールからドライブのログイベントを分析する方法について詳しくは、ドライブのログイベント データにアクセスするをご覧ください。

Reports API を使用して、コネクテッド シートのクエリイベントを表示できます。次の例では、コネクテッド シートのクエリイベント タイプごとにすべてのドライブ イベントを取得します。

 

GET https://admin.googleapis.com/admin/reports/v1/activity/users/all/applications/drive?eventName=connected_sheets_query

この API 呼び出しに対する JSON レスポンス全体は、このページの下の JSON の完全なレスポンスのセクションをご覧ください。

クエリを開始したユーザーがアクターとして表示されます。

"actor": {
  "email": "collaborator@example.com",
  "profileId": "user’s unique Google Workspace profile ID"
}

スプレッドシートは、パラメータとして実行されたクエリに関する追加情報を提供します。

"parameters": [
  {
    "name": "execution_trigger",
    "value": "sheets_ui"
  },
  {
    "name": "query_type",
    "value": "big_query"
  },
  {
    "name": "data_connection_id",
    "value": "Cloud プロジェクト ID"
  },
  {
    "name": "execution_id",
    "multiValue": [
      "jobs/big_query_job_id"
    ]
  },
  {
    "name": "delegating_principal",
    "value": "trix01@scary.docsplustesting.com"
  },

 

execution_trigger フィールドは、スプレッドシートからクエリがどのように呼び出されるかに基づいて設定されます。

ラベル クエリの実行方法
sheets_ui スプレッドシートの UI から手動で作成する
スケジュール スプレッドシートの更新スケジュール機能を使用する
api Sheets API を使用する
apps-script Apps Script を使用する

query_type フィールドは、データコネクタに基づいて設定されます。
ラベル データコネクタ
big_query BigQuery
looker Looker

data_connection_id フィールドは、データ接続の ID に基づいて設定されます。BigQuery の場合は、課金プロジェクト ID です。Looker の場合は、インスタンスの URL です。

execution_id は、実行されたクエリの ID に基づいて設定されます。

値の構造 クエリ エンティティ
jobs/<JOB_ID> BigQuery ジョブ
datasets/<DATASET_NAME>/tables/<TABLE_NAME> BigQuery テーブル
query_tasks/<QUERY_TASK_ID> Looker クエリ

 

認証情報が使用されたユーザーのメールアドレスは、ログの delegating_principal フィールドで確認できます。

完全な JSON レスポンス

{
      "kind": "admin#reports#activity",
      "id": {
        "time": "2022-10-26T17:33:51.929Z",
        "uniqueQualifier": "レポートの一意の ID",
        "applicationName": "drive",
        "customerId": "ABC123xyz"
      },
      "actor": {
        "email": "collaborator@example.com",
        "profileId": "ユーザーの一意の Google Workspace プロファイル ID"
      },
      "events": [
        {
          "type": "access",
          "name": "connected_sheets_query",
          "parameters": [
            {
              "name": "execution_trigger",
              "value": "sheets_ui"
            },
            {
              "name": "query_type",
              "value": "big_query"
            },
            {
              "name": "data_connection_id",
              "value": "Cloud プロジェクト ID"
            },
            {
              "name": "execution_id",
              "multiValue": [
                "jobs/big_query_job_id"
              ]
            },
            {
              "name": "doc_id",
              "value": "aBC-123-xYz"
            },
            {
              "name": "doc_type",
              "value": "spreadsheet"
            },
            {
              "name": "is_encrypted",
              "boolValue": false
            },
            {
              "name": "doc_title",
              "value": "ドキュメントのタイトル"
            },
            {
              "name": "visibility",
              "value": "shared_internally"
            },
            {
              "name": "actor_is_collaborator_account",
              "boolValue": false
            },
            {
              "name": "delegating_principal",
              "value": "owner@example.com"
            },
            {
              "name": "owner",
              "value": "owner@example.com"
            },
            {
              "name": "owner_is_shared_drive",
              "boolValue": false
            },
            {
              "name": "owner_is_team_drive",
              "boolValue": false
            }
          ]
        }
      ]
    }

ログ エクスプローラを使用して Cloud Audit Logs で BigQuery 接続について分析する
各スプレッドシートには、一意のスプレッドシート ID が含まれています(スプレッドシートの URL で確認できます)。BigQueryAuditMetadata 形式のログエントリには、BigQuery データアクセス リクエストの送信元となるスプレッドシートの ID が含まれています。
Google Cloud コンソールのログ エクスプローラを使用して、クエリを作成してログを取得、分析できます。ログ エクスプローラで、次のように入力します。

protoPayload.metadata.firstPartyAppMetadata.sheetsMetadata.docId
  != NULL_VALUE

次の例に示すように、スプレッドシート ID が空でないエントリが表示されます。

metadata: {

 @type: "type.googleapis.com/google.cloud.audit.BigQueryAuditMetadata"

 firstPartyAppMetadata: {

   sheetsMetadata: {

     docId: "aBC-123_xYz"

   }

 }

スプレッドシートでは、ジョブラベルを使用してクエリのジョブに情報が追加されます。次の例に示すように、分析するデータが多くなることがあります。

jobInsertion: {

 job: {

  jobConfig: {

   labels: {

     sheets_access_type: "normal"

     sheets_connector: "connected_sheets"

     sheets_trigger: "user"

   }

sheets_trigger フィールドの値は、スプレッドシートからクエリがどのように呼び出されるかに基づいて設定されます。

ラベル クエリの実行方法
ユーザー スプレッドシートの UI から手動で作成する
スケジュール スプレッドシートの更新スケジュール機能を使用する
api Sheets API を使用する
apps-script Apps Script を使用する

 

たとえば、コネクテッド シートの更新スケジュール設定に対応するエントリを検索するには、ログ エクスプローラで次のクエリを使用します。

protoPayload.metadata.firstPartyAppMetadata.sheetsMetadata.docId
  != NULL_VALUE

protoPayload.metadata.jobInsertion.job.jobConfig.labels.sheets_trigger
  = "schedule"

アクセス権の委任が有効になっていた場合は、認証情報を使用してクエリを実行したユーザーのメールアドレスをログで確認できます。次の例に示すように、クエリをトリガーしたユーザーのメールアドレスも確認できます。

"authenticationInfo": {

  "principalEmail": "[オーナー名]@example.com",

  "serviceAccountDelegationInfo": [

    {

      "firstPartyPrincipal": {

        "principalEmail": "[共同編集者名]@example.com",

          "serviceMetadata": {

             "service": "sheets"

          }

       }

     }

   ]

}

: serviceAccountDelegationInfo フィールドは、アクセス権の委任がクエリに使用された場合にのみ存在します。この場合、principalEmail にリストされているユーザーがアクセス権を委任したユーザーです。 

詳しくは、ログ エクスプローラの使用ログ エクスプローラでのクエリ作成についての記事をご覧ください。

詳しくは、BigQuery の監査ログスプレッドシート IDBigQueryAuditMetadata 形式SheetsMetadataスプレッドシートの共有Google Sheets API についての記事をご覧ください。

Looker システム アクティビティを分析する
  1. Looker インスタンスの左側で、[探索] [履歴] をクリックします。
  2. [フィールドの検索] に「API クライアント名」と入力し、フィルタ アイコン をクリックしてこのフィールドをデータセットに追加します。
  3. [フィルタ] で [が次と等しい] を選択し、その横のフィールドに「コネクテッド シート」と入力します。
  4. [フィールドの検索] に「コネクテッド シートのスプレッドシート ID」と入力し、このフィールドをデータセットに追加します。
  5. [フィールドの検索] に「コネクテッド シートのトリガー」と入力し、このフィールドをデータセットに追加します。
  6. [フィールドの検索] に「履歴のスラッグ」と入力し、このフィールドをデータセットに追加します。
  7. 履歴のスラッグは、ドライブのログイベントに記録されている QUERY_TASK_ID と同等です。ドライブのログで特定のクエリを検索する場合は、そのフィールドにフィルタを追加します。
  8. (省略可)データセットに [ユーザー名] や [履歴作成日] などのフィールドを追加するには、それらのフィールドを選択します。
  9. (省略可)フィルタを追加するには、それらのフィールドを選択します。
    たとえば、履歴作成日過去 7 日間でフィルタするか、特定のスプレッドシート ID でフィルタし、特定のスプレッドシート ID から開始された Looker クエリのみを表示します。
  10. [実行] をクリックします。

トラブルシューティング

セクションを開く  |  すべて閉じる

スプレッドシートで問題が発生した場合

シートの上部にある [フィードバックを送信] をクリックします。

BigQuery の更新が、コネクテッド シートに表示されない
スプレッドシートのファイルで [更新] をクリックして、BigQuery データのすべての更新をコネクテッド シートに取り込みます。コネクテッド シート内のすべてのアイテムを更新するには、[データ] 次に [データコネクタ] 次に [データを更新] 次に [すべて更新] をクリックします。
ユーザーがコネクテッド シートのファイルを開くことができない

組織のスプレッドシート ファイルに特定の権限を設定した場合(組織外のユーザーによるスプレッドシート ファイルへのアクセスを制限するなど)、制限の対象となるユーザーはコネクテッド シートのファイルを開くことができなくなります。権限を変更する方法については、ドライブ ユーザーの共有権限を設定するをご覧ください。

それでも問題が解決しない場合は、Google スプレッドシート内の BigQuery データに関する問題を修正するLooker 向けコネクテッド シートのトラブルシューティングをご覧ください。

関連トピック

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。

さらにサポートが必要な場合

次の手順をお試しください。

検索
検索をクリア
検索を終了
Google アプリ
メインメニュー
true
ヘルプセンターを検索
true
true
true
true
true
73010