フォルダの作成と管理
以下のドキュメントでは、BigQuery でフォルダを作成して管理する方法について説明します。フォルダを使用することで、ノートブック、保存済みクエリ、データ キャンバス、データ準備ファイルなどの単一ファイルのコードアセットを整理し、それらに対するアクセスを制御できます。BigQuery には、各個人が自身のコードアセットを管理するためのユーザー フォルダと、チームのコードアセットを管理するためのチームフォルダがあります。
BigQuery フォルダは Dataform を基盤としています。
フォルダを作成する前に、フォルダを使用してコードアセットを整理するを読んで、BigQuery フォルダの仕組みを理解してください。
始める前に
- 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.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles. -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enablepermission. Learn how to grant roles. - フォルダを作成する:
- 親ユーザー フォルダ、チームフォルダ、またはプロジェクトに対する
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 - Dataform 管理者(
roles/dataform.admin) - Dataform 編集者(
roles/dataform.editor) - Dataform 閲覧者(
roles/dataform.viewer) [BigQuery] ページに移動します。
左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。
左側のペインが表示されていない場合は、 [左ペインを開く] をクリックしてペインを開きます。
選択したプロジェクトとコード リージョンにあるフォルダとコードアセットを表示するには、次のいずれかを行います。
- [ユーザー(メールアドレス)] ノードを開くと、自身が作成したフォルダとファイルが表示されます。
- [チームフォルダ] ノードを開くと、自身がアクセス権を持つすべてのチームフォルダが表示されます。
- [共有アイテム] ノードを開くと、他のユーザーが自身と共有しているすべてのフォルダとファイルが表示されます。
[BigQuery] ページに移動します。
左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。
プロジェクト名の横にある [ファイルパネルのアクションを表示] > [コードのリージョンを切り替え] をクリックします。
表示するコード リージョンを選択します。
[保存] をクリックします。
- 任意のレベルのユーザー フォルダまたはコードアセット。
- チームフォルダ内のサブフォルダ。
- チームフォルダのサブフォルダに含まれるコードアセット。
[BigQuery] ページに移動します。
左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。
ユーザー ルートノード、またはリソースを作成するフォルダを選択します。
[アクションを表示] > [作成] をクリックし、作成するリソースのタイプを選択します。
リソースの作成ペインで、新しいリソースの名前を入力します。
[保存] をクリックします。
[BigQuery] ページに移動します。
左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。
チームフォルダのルートノードを選択します。
[アクションを表示] > [チームフォルダを作成] をクリックします。
[チームフォルダの作成] ダイアログで、チームフォルダの名前を入力します。
[作成] をクリックします。
[BigQuery] ページに移動します。
左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。
コードアセットのアップロード先のフォルダを選択します。
[アクションを表示] > [アップロード] をクリックし、アップロードするコードアセットのタイプを選択します。
リソースのアップロード ペインで、次のいずれかを行います。
- [ファイルのアップロード] ラジオボタンをクリックし、ローカル ファイルを参照して選択します。
- [URL] ラジオボタンをクリックし、GitHub リポジトリにあるコードアセット ファイルの URL を入力します。
コードアセットの名前を入力します。
省略可: コードアセットを保存するリージョンを選択します。デフォルト値とは異なるリージョンを選択すると、選択したリージョンがデフォルト リージョンになり、今後新規に作成するコードアセットはすべてそのリージョンに保存されます。
[保存] をクリックします。
[BigQuery] ページに移動します。
左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。
ダウンロードするコードアセットを選択します。
[アクションを表示] > [ダウンロード] をクリックします。
[BigQuery] ページに移動します。
左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。
名前を変更するフォルダまたはコードアセットを選択します。
[アクションを表示] > [名前を変更] をクリックします。
リソース名の変更ダイアログで、リソースの新しい名前を入力します。
[名前を変更] をクリックします。
[BigQuery] ページに移動します。
左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。
共有するフォルダまたはコードアセットを選択します。
[共有権限] ペインで、[ユーザー / グループを追加] をクリックします。
[新しいプリンシパル] フィールドに、プリンシパルを入力します。
次のいずれかを行います。
[ロール] リストで、ユーザー フォルダなどのコードアセットを共有するロールとして次のいずれかを選択します。
roles/dataform.codeOwner: コードアセットの削除と共有を含め、コードアセットに対するあらゆる操作を行うことができます。roles/dataform.codeEditor: コードアセットの削除と共有を除くすべての操作を行うことができます。roles/dataform.codeCommenter: コードアセットを表示し、コメントを付けることができます。roles/dataform.codeViewer: コードアセットを表示できます。
[ロール] リストで、チームフォルダを共有するロールとして次のいずれかを選択します。
roles/dataform.teamFolderOwner: チームフォルダの削除と共有を含め、チームフォルダに対するあらゆる操作を行うことができます。roles/dataform.teamFolderContributor: チームフォルダの削除と共有を除くすべての操作を行うことができます。roles/dataform.teamFolderCommenter: チームフォルダとその中に含まれるコードアセットを表示し、コメントを付けることができます。roles/dataform.teamFolderViewer: チームフォルダとその中に含まれるコードアセットを表示できます。
[保存] をクリックします。
ノートブック情報ページに戻るには、[閉じる] をクリックします。
[BigQuery] ページに移動します。
左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。
移動するフォルダまたはコードアセットを選択します。
[アクションを表示] > [移動] をクリックします。
リソースの移動ダイアログで、リソースの移動先のユーザー フォルダまたはチームフォルダを選択します。
[移動] をクリックします。
[BigQuery] ページに移動します。
左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。
コピーするフォルダまたはコードアセットを選択します。
[アクションを表示] > [コピー] をクリックします。
リソースのコピー ダイアログで、リソースのコピー先のユーザー フォルダまたはチームフォルダを選択します。
[コピー] をクリックします。
[BigQuery] ページに移動します。
左側のペインで [ファイル] をクリックして、ファイル ブラウザを開きます。
削除するフォルダまたはコードアセットを選択します。
[アクションを表示] > [削除] をクリックします。
リソースの削除ダイアログで、[削除] をクリックします。
必要なロール
このドキュメントのタスクを行うために必要な権限を取得するには、プロジェクト、フォルダ、またはリソースに対する適切な 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) |
プロジェクト | プロジェクト内で新しいチームフォルダを作成する権限を付与します。 |
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
これらの事前定義ロールには、このドキュメントのタスクを行うために必要な権限が含まれています。必要な権限を正確に確認するには、「必要な権限」セクションを開いてください。
必要な権限
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
プロジェクト内のすべてのフォルダとファイルに対する完全アクセス権を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
リソースを表示する
BigQuery でフォルダとコードアセットを表示する手順は次のとおりです。
コード リージョンを変更する
フォルダとコードアセットは、異なるコード リージョンに配置できます。表示するコード リージョンを変更する手順は次のとおりです。
フォルダまたはコードアセットを作成する
この手順は、次のいずれかのリソースを作成する場合に使用します。
チームフォルダの作成については、チームフォルダを作成するをご覧ください。
BigQuery でフォルダまたはコードアセットを作成する手順は次のとおりです。
チームフォルダを作成する
BigQuery でチームフォルダを作成する手順は次のとおりです。
コードアセットをアップロードする
BigQuery でコードアセットをアップロードする手順は次のとおりです。
コードアセットをダウンロードする
BigQuery でコードアセットをダウンロードする手順は次のとおりです。
フォルダまたはコードアセットの名前を変更する
BigQuery でフォルダまたはコードアセットの名前を変更する手順は次のとおりです。
フォルダまたはコードアセットを共有する
BigQuery でフォルダまたはコードアセットを共有する手順は次のとおりです。
フォルダまたはコードアセットを移動する
BigQuery でフォルダまたはコードアセットを移動する手順は次のとおりです。
フォルダまたはコードアセットをコピーする
BigQuery でフォルダまたはコードアセットをコピーする手順は次のとおりです。
フォルダまたはコードアセットを削除する
BigQuery でフォルダまたはコードアセットを削除する手順は次のとおりです。