フォルダの作成と管理

次のドキュメントでは、BigQuery でフォルダを作成して管理する方法について説明します。フォルダを使用して、ノートブック保存済みクエリデータ キャンバスデータ準備ファイルなどの単一ファイル コードアセットを整理し、アクセスを制御できます。BigQuery には、個人が独自のコードアセットを管理するためのユーザー フォルダと、チームのコードアセットを管理するためのチーム フォルダがあります。

BigQuery フォルダは Dataform を活用しています。

フォルダを作成する前に、フォルダを使用してコードアセットを整理するを読んで、BigQuery フォルダの仕組みを確認してください。

始める前に

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the BigQuery and Dataform APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  8. 必要なロール

    このドキュメントのタスクを完了するために必要な権限を取得するには、プロジェクト、フォルダ、またはリソースに対する適切な IAM ロールを付与するよう管理者に依頼してください。

    BigQuery ファイル ブラウザの使用に必要な権限を取得するには、プロジェクトに対する BigQuery ユーザーroles/bigquery.user)または BigQuery Studio ユーザーroles/bigquery.studioUser)ロールを付与するよう管理者に依頼してください。

    フォルダに付与された権限は、そのフォルダ内のすべてのファイルとフォルダに伝播されます。

    ファイルとそれを含むフォルダには、次のことが当てはまります。

    ロール 付与日 権限とユースケース
    コードオーナーroles/dataform.codeOwner ファイルまたはフォルダ ファイルとフォルダのシステム内のリソースに対する完全な制御権限を付与します。このロールを持つユーザーは、リソースの削除、IAM ポリシーの設定、移動など、すべての操作を実行できます。
    コードエディタroles/dataform.codeEditor ファイルまたはフォルダ コンテンツの編集と管理が可能です。このロールを持つユーザーは、フォルダにコンテンツを追加したり、ファイルを編集したり、ファイルまたはフォルダの IAM ポリシーを取得したりできます。リソースを移動する場合は、宛先フォルダにもこのロールが必要です。
    コード コメンターroles/dataform.codeCommenter ファイルまたはフォルダ コード アセットまたはフォルダにコメントを追加できます。
    コード閲覧者roles/dataform.codeViewer ファイルまたはフォルダ 読み取り専用アクセス権を付与します。このロールを持つユーザーは、ファイルとフォルダのコンテンツをクエリできます。
    コード作成者roles/dataform.codeCreator プロジェクト プロジェクト内で新しいファイルとフォルダを作成する権限を付与します。

    次のロールは、チームフォルダの管理に固有のものです。

    ロール 付与日 権限とユースケース
    チームフォルダ オーナーroles/dataform.teamFolderOwner チームフォルダ ファイルとフォルダのシステムでチームフォルダに対する完全な制御権限を付与します。このロールを持つユーザーは、チームフォルダを削除して IAM ポリシーを設定できます。
    チームフォルダの投稿者roles/dataform.teamFolderContributor チームフォルダ チームフォルダ内のコンテンツ管理を許可します。このロールを持つユーザーは、チームフォルダを更新できます。
    チームフォルダの閲覧者(コメント可)roles/dataform.teamFolderCommenter チームフォルダ チームフォルダとその中に含まれるコード アセットにコメントを追加できます。
    チームフォルダ閲覧者roles/dataform.teamFolderViewer チームフォルダ チームフォルダとその内容に対する読み取り専用アクセス権を付与します。このロールを持つユーザーは、チームフォルダを表示して IAM ポリシーを取得できます。
    チームフォルダ作成者roles/dataform.teamFolderCreator プロジェクト プロジェクト内で新しいチームフォルダを作成する権限を付与します。

    ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

    これらの事前定義ロールには、このドキュメントのタスクを完了するために必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

    必要な権限

    • フォルダを作成する:
      • 親ユーザー フォルダ、チームフォルダ、プロジェクトに対する folders.create
      • 親フォルダまたはチームフォルダに対する folders.addContents
    • フォルダのプロパティを取得する: フォルダの folders.get
    • フォルダまたはチームフォルダのコンテンツをクエリする: フォルダに対する folders.queryContents
    • フォルダを更新する: フォルダに対する folders.update
    • フォルダを削除する: フォルダの folders.delete
    • フォルダの IAM ポリシーを取得する: フォルダに対する folders.getIamPolicy
    • フォルダの IAM ポリシーを設定する: フォルダに対する folders.setIamPolicy
    • フォルダを移動する:
      • 移動するフォルダに対する folders.move
      • 移動先のフォルダまたはチームフォルダに対する folders.addContents(ルートフォルダに移動する場合は不要)
    • チームフォルダを作成する: プロジェクトに対する teamFolders.create
    • チームフォルダを削除する: チームフォルダの teamFolders.delete
    • チームフォルダの IAM ポリシーを取得する: チームフォルダに対する teamFolders.getIamPolicy
    • チームフォルダの IAM ポリシーを設定します。チームフォルダに対する teamFolders.setIamPolicy
    • チームフォルダのプロパティを取得します。チームフォルダの teamFolders.get
    • チームフォルダを更新する: チームフォルダに対する teamFolders.update

    カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。

    プロジェクト内のすべてのフォルダとファイルにフルアクセスするには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

    リソースを表示

    BigQuery でフォルダとコードアセットを表示する手順は次のとおりです。

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

      BigQuery に移動

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

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

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

    3. 選択したプロジェクトとコードリージョンでフォルダとコードアセットを表示するには、次のいずれかを行います。

      • [ユーザー(メールアドレス)] ノードを開くと、作成したフォルダとファイルが表示されます。
      • [チームフォルダ] ノードを開くと、アクセス権のあるすべてのチームフォルダが表示されます。
      • [共有アイテム] ノードを開くと、他のユーザーが自分と共有しているすべてのフォルダとファイルが表示されます。

    コードのリージョンを変更する

    フォルダとコードアセットは異なるコード領域に配置できます。表示するコード領域を変更する手順は次のとおりです。

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

      BigQuery に移動

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

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

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

    4. 表示するコード領域を選択します。

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

    フォルダまたはコード アセットを作成する

    この手順を使用して、次のいずれかのリソースを作成します。

    • 任意のレベルのユーザー フォルダまたはコードアセット。
    • チームフォルダ内のサブフォルダ。
    • チームフォルダのサブフォルダにあるコードアセット。

    チームフォルダの作成については、チームフォルダを作成するをご覧ください。

    BigQuery でフォルダまたはコードアセットを作成する手順は次のとおりです。

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

      BigQuery に移動

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

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

    3. リソースを作成するユーザー ルートノードまたはフォルダを選択します。

    4. アクションを表示> [作成] をクリックし、作成するリソースのタイプを選択します。

    5. リソースの作成ペインで、新しいリソースの名前を入力します。

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

    チームフォルダを作成

    BigQuery でチームフォルダを作成する手順は次のとおりです。

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

      BigQuery に移動

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

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

    3. チームフォルダのルートノードを選択します。

    4. アクションを表示> [チームフォルダを作成] をクリックします。

    5. [チームフォルダを作成] ダイアログで、チームフォルダの名前を入力します。

    6. [作成] をクリックします。

    コードアセットをアップロードする

    BigQuery でコードアセットをアップロードする手順は次のとおりです。

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

      BigQuery に移動

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

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

    3. コードアセットをアップロードするフォルダを選択します。

    4. アクションを表示> [アップロード] をクリックし、アップロードするコードアセットのタイプを選択します。

    5. アップロード リソース ペインで、次のいずれかを行います。

      • [File upload] ラジオボタンをクリックし、ローカル ファイルを参照して選択します。
      • [URL] ラジオボタンをクリックし、GitHub リポジトリにあるコードアセット ファイルの URL を入力します。
    6. コードアセットの名前を入力します。

    7. 省略可: コードアセットを保存するリージョンを選択します。デフォルト値とは異なるリージョンを選択すると、選択したリージョンが、今後すべての新しいコードアセットが作成されるデフォルト リージョンになります。

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

    コードアセットをダウンロードする

    BigQuery でコードアセットをダウンロードする手順は次のとおりです。

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

      BigQuery に移動

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

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

    3. ダウンロードするコードアセットを選択します。

    4. アクションを表示> [ダウンロード] をクリックします。

    フォルダまたはコードアセットの名前を変更する

    BigQuery でフォルダまたはコードアセットの名前を変更する手順は次のとおりです。

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

      BigQuery に移動

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

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

    3. 名前を変更するフォルダまたはコードアセットを選択します。

    4. [アクションを表示] > [名前を変更] をクリックします。

    5. リソースの名前変更ダイアログで、リソースの新しい名前を入力します。

    6. [名前を変更] をクリックします。

    フォルダまたはコードアセットを共有する

    BigQuery でフォルダまたはコードアセットを共有する手順は次のとおりです。

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

      BigQuery に移動

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

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

    3. 共有するフォルダまたはコードアセットを選択します。

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

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

    6. 次のいずれかを行います。

      • [ロール] リストで、ユーザー フォルダなどのコードアセットを共有する次のいずれかのロールを選択します。

      • [ロール] リストで、チームフォルダを共有する次のいずれかのロールを選択します。

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

    8. ノートブック情報ページに戻るには、[閉じる] をクリックします。

    フォルダまたはコードアセットを移動する

    BigQuery でフォルダまたはコードアセットを移動する手順は次のとおりです。

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

      BigQuery に移動

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

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

    3. 移動するフォルダまたはコードアセットを選択します。

    4. アクションを表示> [移動] をクリックします。

    5. [リソースの移動] ダイアログで、リソースの移動先のユーザー フォルダまたはチームフォルダを選択します。

    6. [移動] をクリックします。

    フォルダまたはコードアセットをコピーする

    BigQuery でフォルダまたはコードアセットをコピーする手順は次のとおりです。

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

      BigQuery に移動

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

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

    3. コピーするフォルダまたはコードアセットを選択します。

    4. アクションを表示> [コピー] をクリックします。

    5. リソースのコピー ダイアログで、リソースのコピー先となるユーザーまたはチームフォルダを選択します。

    6. [コピー] をクリックします。

    フォルダまたはコードアセットを削除する

    BigQuery でフォルダまたはコードアセットを削除する手順は次のとおりです。

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

      BigQuery に移動

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

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

    3. 削除するフォルダまたはコードアセットを選択します。

    4. [アクションを表示] > [削除] をクリックします。

    5. リソースの削除ダイアログで、[削除] をクリックします。

    次のステップ