保存済みクエリを作成する

クエリエディタで SQL を記述すると、クエリを保存して他のユーザーと共有できます。保存済みクエリは、Dataform によって強化された BigQuery Studio コードアセットです。

保存したクエリの削除と保存したクエリの履歴の管理の詳細については、保存済みクエリを管理するをご覧ください。

必要な権限

保存したクエリを作成、編集、表示するための適切な権限を設定します。

Dataform 管理者ロールroles/dataform.admin)を持つすべてのユーザーは、プロジェクトで作成されたすべての保存済みクエリに対するオーナー アクセス権を持ちます。

BigQuery Identity and Access Management(IAM)の詳細については、IAM によるアクセス制御をご覧ください。

保存したクエリを作成する権限

保存したクエリを作成して実行するには、次の IAM 権限が必要です。

  • dataform.locations.get
  • dataform.locations.list
  • dataform.repositories.list
  • dataform.repositories.create

これらの権限は、次の IAM ロールから取得できます。

保存済みクエリを編集する権限

保存したクエリを編集して実行するには、次の IAM ロールが必要です。

保存したクエリを表示する権限

保存したクエリを表示して実行するには、次の IAM ロールが必要です。

保存済みクエリのセキュリティ上の考慮事項

BigQuery のコードアセットは Dataform によって強化されているため、これらのアセットにアクセスできるユーザーに対して次のセキュリティ上の影響を考慮する必要があります。

  • コードアセットの可視性は、プロジェクト レベルの Dataform 権限に則って制御されます。dataform.repositories.list 権限(BigQuery ジョブユーザーBigQuery Studio ユーザーBigQuery ユーザーなどの標準の BigQuery ロールに含まれる)を持つユーザーは、これらのアセットを作成したか、これらのアセットが共有されたかに関係なく、 Cloud de Confiance プロジェクトの [エクスプローラ] パネルにすべてのコードアセットを表示できます。公開設定を制限するには、dataform.repositories.list 権限を除外するカスタムロールを作成します。
  • Dataform サービス エージェントと共有されたシークレットは、これらのアセットを編集できるユーザーがアクセスできる可能性があります。認証情報を保護するには、信頼できるユーザーに作成と編集のアクセス権を制限し、Dataform サービス エージェントがアクセスできるシークレットを制限します。詳細については、パッケージのインストール中のシークレットへのアクセスをご覧ください。

詳細については、Dataform 権限のセキュリティに関する考慮事項をご覧ください。

コードアセットにデフォルトのリージョンを設定する

Cloud de Confiance プロジェクトの新しいコードアセットはすべて、デフォルトのリージョンを使用します。アセットを作成した後に、そのリージョンを変更することはできません。

新しいコードアセットのデフォルト リージョンを設定する手順は次のとおりです。

  1. [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. 左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。

    [ファイル] をクリックしてファイル ブラウザを開きます。

  3. プロジェクト名の横にある [ファイルパネルのアクションを表示] > [コードのリージョンを切り替え] をクリックします。

  4. デフォルトとして使用するコード リージョンを選択します。

  5. [保存] をクリックします。

サポートされているリージョンの一覧については、BigQuery Studio のロケーションをご覧ください。

CMEK で暗号化する

Dataform API のデフォルトのプロジェクト レベルの CMEK 鍵を使用すると、顧客管理の暗号鍵(CMEK)で Dataform を基盤とする保存済みクエリを暗号化できます。 Cloud de Confiance コンソールの保存済みクエリに個々の CMEK 鍵を適用することはできません。新しい設定は、新しく作成された保存済みクエリにのみ適用されます。

デフォルトの鍵の設定の詳細と手順については、CMEK を使用して BigQuery Studio コードアセットを保護するをご覧ください。

保存したクエリを作成する

保存済みクエリを作成する手順は次のとおりです。

  1. Cloud de Confiance コンソールで、[BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [ SQL クエリ] をクリックします。

  3. クエリエディタで、有効な SQL クエリを入力します。たとえば、一般公開データセットに対してクエリを実行できます。

    SELECT
      name,
      SUM(number) AS total
    FROM
      `bigquery-public-data.usa_names.usa_1910_2013`
    GROUP BY
      name
    ORDER BY
      total DESC
    LIMIT
      10;

    または、[リファレンス] パネルを使用して新しいクエリを作成することもできます。

  4. (保存)> [クエリを保存] をクリックするか、Ctrl+S キー(macOS の場合は Command+S キー)を押します。

  5. [クエリを保存] ダイアログで、保存済みクエリの名前を入力します。

  6. 省略可: この保存済みクエリと今後の他のすべてのコードアセットで使用されるリージョンを変更するには、[リージョン] で新しいリージョンを選択します。

  7. [保存] をクリックします。

    保存済みクエリの最初のバージョンが作成されます。

  8. 省略可: クエリを保存した後は、次のツールバーを使用して、クエリの詳細やバージョン履歴の表示、新しいコメントの追加、既存のコメントへの返信、既存のコメントへのリンクの取得を行うことができます。

    クエリエディタの隣にあるツールバー。

    [コメント] ツールバー機能はプレビュー版です。この機能に関するフィードバックを提供する場合、またはサポートをリクエストする場合は、bqui-workspace-pod@google.com までメールでお送りください。

保存済みクエリを共有する

保存済みクエリをユーザーと共有するには、まずそのユーザーに保存済みクエリへのアクセス権を付与し、適切な IAM ロールに追加します。次に、保存済みクエリへのリンクを生成し、そのリンクをユーザーと共有します。

クエリを共有したユーザーには、クエリの最新バージョンのみが表示されます。明示的に保存していない自動保存された変更は、共有クエリには表示されません。

保存済みクエリを共有する手順は次のとおりです。

  1. Cloud de Confiance コンソールで、[BigQuery] ページに移動します。

    BigQuery に移動

  2. 左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。

    左側のペインが表示されていない場合は、 左ペインを開くをクリックしてペインを開きます。

  3. [ファイル] ペインで、プロジェクトとサブフォルダを開き、共有する保存済みクエリを見つけます。

  4. 保存済みクエリの横にある [アクションを表示] をクリックし、[共有] > [権限を管理] をクリックします。

  5. [権限を管理] ペインで、[ユーザー / グループを追加] をクリックします。

  6. [新しいプリンシパル] フィールドに、プリンシパルを入力します。

  7. [ロール] リストで、次のいずれかのロールを選択します。

  8. 省略可: ロールと詳細な共有設定の完全なリストを表示するには、[詳細な共有] をクリックします。

  9. [保存] をクリックします。

  10. 保存済みクエリの詳細に戻るには、[閉じる] をクリックします。

  11. 保存済みクエリへのリンクを生成するには、アクションを表示> [共有] > [リンクをコピー] をクリックします。

    リンクがクリップボードにコピーされます。

保存したクエリ バージョンを新しいクエリとして開く

既存の保存したクエリの任意のバージョンを新しいクエリとして開く手順は、次のとおりです。

  1. Cloud de Confiance コンソールで、[BigQuery] ページに移動します。

    BigQuery に移動

  2. 左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。

    [ファイル] をクリックしてファイル ブラウザを開きます。

    左側のペインが表示されていない場合は、 左ペインを開くをクリックしてペインを開きます。

  3. [ファイル] ペインで、プロジェクトとサブフォルダを開き、開く保存済みクエリを見つけます。

  4. 保存済みクエリをクリックし、[ 変更履歴] をクリックします。

  5. 保存したクエリ バージョンの横にある アクションを表示)をクリックし、[新規クエリとして開く] をクリックします。

保存したクエリを更新する

保存したクエリのテキストに加えた変更は、入力が停止してから 2 秒後に自動的に保存され、[変更履歴] に [変更内容] として表示されます。自動保存された変更は、クエリの新しいバージョンではありません。自動保存された変更は、クエリを開くたびに表示されますが、クエリの新しいバージョンとして明示的に保存しない限り、他のユーザーには表示されません。自動保存されたクエリはプレビュー版です。

  1. Cloud de Confiance コンソールで、[BigQuery] ページに移動します。

    BigQuery に移動

  2. 左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。

    [ファイル] をクリックしてファイル ブラウザを開きます。

    左側のペインが表示されていない場合は、 左ペインを開くをクリックしてペインを開きます。

  3. [ファイル] ペインで、プロジェクトとサブフォルダを開き、更新する保存済みクエリを見つけます。

  4. 保存済みクエリをクリックして開きます。

  5. クエリを変更します。

  6. 変更したクエリを保存するには、 [クエリを保存] > [クエリを保存] をクリックするか、Ctrl+S(macOS の場合は Command+S)を押します。

    クエリの新しいバージョンが作成されます。

保存したクエリをアップロードする

ローカル SQL クエリをアップロードして、BigQuery Studio で保存したクエリとして使用できます。アップロードされた保存済みクエリは、 Cloud de Confiance コンソールの BigQuery ページにも表示されます。

保存したクエリをアップロードするには、次の操作を行います。

  1. Cloud de Confiance コンソールで、[BigQuery] ページに移動します。

    BigQuery に移動

  2. 左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。

    [ファイル] をクリックしてファイル ブラウザを開きます。

    左側のペインが表示されていない場合は、 左ペインを開くをクリックしてペインを開きます。

  3. [ファイル] ペインで、クエリをアップロードするフォルダの横にある [アクションを表示] をクリックし、[アップロード] > [クエリ] をクリックします。

  4. [SQL のアップロード] ダイアログの [SQL] フィールドで、[参照] をクリックして、アップロードするクエリを選択します。

  5. 省略可: [SQL 名] フィールドで、クエリの名前を編集します。

  6. [リージョン] フィールドで、保存したクエリをアップロードするリージョンを選択します。

  7. [アップロード] をクリックします。

保存済みクエリには、[ファイル] ペインまたは [エクスプローラ] ペインからアクセスできます。

従来の保存したクエリ

以降のセクションでは、従来の保存したクエリを作成、更新する方法について説明します。従来の保存済みクエリの共有、移行、削除の詳細については、従来の保存済みクエリをご覧ください。

従来の保存済みクエリに必要な権限

保存したクエリを作成、表示、更新、削除するには、次の IAM 権限が必要です。

  • 非公開の従来の保存したクエリ:
    • 非公開の従来の保存したクエリを作成するために特別な権限は必要ありません。非公開クエリはどのプロジェクトにも保存できますが、このクエリを表示、更新、削除できるのは保存したユーザーに限られます。
  • プロジェクト レベルの従来の保存したクエリ:
    • プロジェクトレベルの保存したクエリを作成するには、bigquery.savedqueries.create 権限が必要です。定義済みの bigquery.admin 役割には、bigquery.savedqueries.create 権限が含まれています。
    • プロジェクトレベルの従来の保存したクエリを表示するには、bigquery.savedqueries.getbigquery.savedqueries.list 権限が必要です。定義済みの bigquery.admin および bigquery.user 役割には、bigquery.savedqueries.get 権限と bigquery.savedqueries.list 権限が含まれています。
    • プロジェクトレベルの従来の保存したクエリを更新するには、bigquery.savedqueries.update 権限が必要です。定義済みの bigquery.admin 役割には、bigquery.savedqueries.update 権限が含まれています。
    • プロジェクトレベルの従来の保存したクエリを削除するには、bigquery.savedqueries.delete 権限が必要です。定義済みの bigquery.admin 役割には、bigquery.savedqueries.delete 権限が含まれています。
  • 一般公開の従来の保存したクエリ:
    • 一般公開の従来の保存したクエリを作成するために特別な権限は必要ありません。一般公開の従来の保存したクエリは任意のプロジェクトに保存できますが、このクエリを更新または削除できるのは保存したユーザーのみです。リンクを知っていれば誰でも、一般公開の従来の保存したクエリを閲覧できます。

BigQuery での IAM のロールの詳細については、事前定義ロールと権限をご覧ください。

従来の保存したクエリを作成する

  1. Cloud de Confiance コンソールで、[BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [ SQL クエリ] をクリックします。

  3. クエリエディタで、有効な SQL クエリを入力します。たとえば、一般公開データセットに対してクエリを実行できます。

    SELECT
      name,
      SUM(number) AS total
    FROM
      `bigquery-public-data.usa_names.usa_1910_2013`
    GROUP BY
      name
    ORDER BY
      total DESC
    LIMIT
      10;
  4. [クエリ(従来)を保存] > [クエリ(従来)を保存] をクリックします。

  5. [クエリを保存] ダイアログで、クエリの名前を入力し、[公開設定] を次のいずれかのオプションに設定します。

    • 個人用(本人のみが編集可能): 非公開の従来の保存済みクエリの場合。
    • プロジェクト(適切な権限を持つプリンシパルが編集可能): プロジェクト レベルの従来の保存したクエリの場合。
    • 一般公開: 一般公開の従来の保存したクエリの場合。
  6. [保存] をクリックします。

従来の保存したクエリを共有する

共有できる従来の保存済みクエリは、公開設定がプロジェクトまたは一般公開に設定されているクエリです。プロジェクトの公開設定を指定すると、必要な権限を持つプリンシパルがクエリを表示、更新、削除できます。一般公開の公開設定では、クエリリンクを知っているすべての人がクエリを表示できますが、更新や削除はできません。

従来の保存済みクエリを他のユーザーと共有するには、このクエリへのリンクを生成して共有します。

従来の共有クエリを実行するには、クエリがアクセスするデータへのアクセス権が必要です。詳細については、データセットへのアクセス権を付与するをご覧ください。

従来の保存済みクエリを共有する場合は、その目的を説明するコメントをクエリに含めることを検討してください。

従来の保存済みクエリを共有する手順は次のとおりです。

  1. 左側のペインで、 [エクスプローラ] をクリックします。

    左側のペインが表示されていない場合は、 左ペインを開くをクリックしてペインを開きます。

  2. [エクスプローラ] ペインで、プロジェクトを開き、[(従来)クエリ] をクリックします。

  3. アクセス権を付与する従来の保存済みクエリを見つけてクリックします。検索機能またはフィルタを使用して、クエリを見つけることができます。

  4. クエリの横にある アクションを表示)をクリックし、[リンクをコピー] をクリックします。

  5. クエリへのアクセスを許可するユーザーとリンクを共有します。

従来の保存したクエリを更新する

  1. Cloud de Confiance コンソールで、[BigQuery] ページに移動します。

    BigQuery に移動

  2. 左側のペインで、 エクスプローラをクリックします。

    ハイライト表示された [エクスプローラ] ペインのボタン。

    左側のペインが表示されていない場合は、 左ペインを開くをクリックしてペインを開きます。

  3. [エクスプローラ] ペインで、プロジェクトと [(従来)クエリ] フォルダを開き、必要に応じて [プロジェクト クエリ] フォルダを開きます。

  4. 従来の保存済みクエリの名前をクリックして開きます。

  5. クエリを変更します。

  6. 変更したクエリを保存するには、 [クエリ(従来)を保存] > [クエリ(従来)を保存] をクリックします。

次のステップ