スロット予約の操作
BigQuery Reservation API を使用すると、専用スロットを購入し(コミットメントと呼ぶ)、スロットのプールを作成し(予約と呼ぶ)、それらの予約にプロジェクト、フォルダ、組織を割り当てることができます。
予約を使用すると、一定数の専用のスロットをワークロードに割り当てることができます。たとえば、本番環境のワークロードとテスト ワークロードでのスロットの取り合いを回避する必要がある場合が考えられます。prod
という名前の予約を作成し、本番環境のワークロードをこの予約に割り当てることができます。詳細については、Reservations をご覧ください。
予約を作成する
必要な権限
予約を作成するには、次の Identity and Access Management(IAM)権限が必要です。
- コミットメントの所有権を持つ管理プロジェクトに対する、
bigquery.reservations.create
。
この権限は、次の各 IAM 事前定義ロールに含まれています。
BigQuery Resource Editor
BigQuery Resource Admin
BigQuery での IAM のロールの詳細については、事前定義ロールと権限をご覧ください。
専用スロットを使用して予約を作成する
次のオプションのいずれかを選択します。
コンソール
Cloud de Confiance コンソールで、[BigQuery] ページに移動します。
ナビゲーション メニューで、[容量管理] をクリックします。
[予約を作成] をクリックします。
[予約名] フィールドに、予約の名前を入力します。
[場所] リストで、ロケーションを選択します。BigQuery Omni のロケーションを選択した場合、エディション オプションは Enterprise エディションに限定されます。
[エディション] リストでエディションを選択します。自動スケーリングなどの BigQuery エディションの機能は、エディション内でのみ使用できます。詳細については、BigQuery エディションの概要をご覧ください。
[最大予約サイズ セレクタ] リストで、最大予約サイズを選択します。
省略可: [ベースライン スロット] フィールドに、予約用のベースライン スロット数を入力します。
使用可能な自動スケーリング スロットの数は、[最大予約サイズ] から [ベースライン スロット] の値を引いた値になります。たとえば、ベースライン スロットを 100 個、最大予約サイズを 400 個として予約を作成した場合、その予約には 300 個の自動スケーリング スロットがあります。ベースライン スロットの詳細については、ベースライン スロットと自動スケーリング スロットを使用した予約の使用をご覧ください。
アイドル スロットの共有を無効にして、指定したスロット容量のみを使用するには、[アイドル スロットを無視する] トグルをクリックします。
[詳細設定] セクションを開くには、
展開矢印をクリックします。省略可: ターゲット ジョブの同時実行を設定するには、[自動のターゲット ジョブ同時実行をオーバーライドする] トグルをオンに切り替えて、ターゲット ジョブの同時実行を入力します。
スロットの内訳は、[費用見積もり] テーブルに表示されます。予約の概要が [容量の概要] テーブルに表示されます。
[保存] をクリックします。
新しい予約が [スロットの予約] タブに表示されます。
SQL
予約を作成するには、DDL ステートメント CREATE RESERVATION
を使用します。
Cloud de Confiance コンソールで、[BigQuery] ページに移動します。
クエリエディタで次のステートメントを入力します。
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, edition = EDITION, autoscale_max_slots = NUMBER_OF_AUTOSCALING_SLOTS);
次のように置き換えます。
ADMIN_PROJECT_ID
: 予約リソースを所有する管理プロジェクトのプロジェクト IDLOCATION
: 予約のロケーション。BigQuery Omni のロケーションを選択した場合、エディション オプションは Enterprise エディションに限定されます。RESERVATION_NAME
: 予約の名前名前に使用できるのは、小文字の英数字またはダッシュのみです。先頭は英字にする必要があり、末尾にダッシュは使用できません。最大長は 64 文字です。
NUMBER_OF_BASELINE_SLOTS
: 予約に割り当てるスロットの数(ベースライン)。slot_capacity
オプションとedition
オプションを同じ予約内で設定することはできません。EDITION
: 予約のエディション。予約をエディションに割り当てると、機能と料金が変更されます。詳細については、BigQuery エディションの概要をご覧ください。NUMBER_OF_AUTOSCALING_SLOTS
: 予約に割り当てられている自動スケーリング スロットの数。これは、最大予約サイズの値からベースラインのスロット数を差し引いた値に等しくなります。
[
実行] をクリックします。
クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。
bq
予約を作成するには、--reservation
フラグを指定して bq mk
コマンドを使用します。
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation \ --slots=NUMBER_OF_BASELINE_SLOTS \ --ignore_idle_slots=false \ --edition=EDITION \ --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS \ --max_slots=MAXIMUM_NUMBER_OF_SLOTS --scaling_mode=SCALING_MODE RESERVATION_NAME
次のように置き換えます。
ADMIN_PROJECT_ID
: プロジェクト IDLOCATION
: 予約のロケーション。BigQuery Omni のロケーションを選択した場合、エディション オプションは Enterprise エディションに限定されます。NUMBER_OF_BASELINE_SLOTS
: 予約に割り当てるベースライン スロットの数。RESERVATION_NAME
: 予約の名前。名前に使用できるのは、小文字の英数字またはダッシュのみです。先頭は英字にする必要があり、末尾にダッシュは使用できません。最大長は 64 文字です。EDITION
: 予約のエディション。予約をエディションに割り当てると、機能と料金が変更されます。詳細については、BigQuery エディションの概要をご覧ください。NUMBER_OF_AUTOSCALING_SLOTS
: 予約に割り当てられている自動スケーリング スロットの数。これは、最大予約サイズの値からベースラインのスロット数を差し引いた値に等しくなります。--max_slots
フラグまたは--scaling_mode
フラグを使用して構成することはできません。MAXIMUM_NUMBER_OF_SLOTS
: 予約で使用できるスロットの最大数。この値は、--scaling_mode
フラグ(プレビュー)で構成する必要があります。SCALING_MODE
: 予約のスケーリング モード。選択肢はALL_SLOTS
、IDLE_SLOTS_ONLY
、AUTOSCALE_ONLY
です。この値は、--scaling_mode
フラグ(プレビュー)で構成する必要があります。
--ignore_idle_slots
フラグの詳細については、アイドル スロットをご覧ください。デフォルト値は false
です。
Terraform
google_bigquery_reservation
リソースを使用します。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証を設定するをご覧ください。
次の例では、my-reservation
という名前の予約を作成します。
Cloud de Confiance プロジェクトで Terraform 構成を適用するには、次のセクションの手順を完了します。
Cloud Shell を準備する
- Cloud Shell を起動します。
-
Terraform 構成を適用するデフォルトの Cloud de Confiance プロジェクトを設定します。
このコマンドは、プロジェクトごとに 1 回だけ実行する必要があります。これは任意のディレクトリで実行できます。
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Terraform 構成ファイルに明示的な値を設定すると、環境変数がオーバーライドされます。
ディレクトリを準備する
Terraform 構成ファイルには独自のディレクトリ(ルート モジュールとも呼ばれます)が必要です。
-
Cloud Shell で、ディレクトリを作成し、そのディレクトリ内に新しいファイルを作成します。ファイルの拡張子は
.tf
にする必要があります(例:main.tf
)。このチュートリアルでは、このファイルをmain.tf
とします。mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
チュートリアルを使用している場合は、各セクションまたはステップのサンプルコードをコピーできます。
新しく作成した
main.tf
にサンプルコードをコピーします。必要に応じて、GitHub からコードをコピーします。Terraform スニペットがエンドツーエンドのソリューションの一部である場合は、この方法をおすすめします。
- 環境に適用するサンプル パラメータを確認し、変更します。
- 変更を保存します。
-
Terraform を初期化します。これは、ディレクトリごとに 1 回だけ行います。
terraform init
最新バージョンの Google プロバイダを使用する場合は、
-upgrade
オプションを使用します。terraform init -upgrade
変更を適用する
-
構成を確認して、Terraform が作成または更新するリソースが想定どおりであることを確認します。
terraform plan
必要に応じて構成を修正します。
-
次のコマンドを実行します。プロンプトで「
yes
」と入力して、Terraform 構成を適用します。terraform apply
Terraform に「Apply complete!」というメッセージが表示されるまで待ちます。
- Cloud de Confiance プロジェクトを開いて結果を表示します。 Cloud de Confiance コンソールの UI でリソースに移動して、Terraform によって作成または更新されたことを確認します。
Python
予測可能な予約を作成する
最大数のスロットで予約を作成する前に、まず予約ベースの公平性を有効にする必要があります。
予約ベースの公平性を有効にする
予約ベースの公平性を有効にするには、enable_reservation_based_fairness
フラグを true
に設定します。
プロジェクトで予約ベースの公平性を更新するには、予約の所有権を維持するプロジェクトに対する bigquery.config.update
権限が必要です。この権限は、BigQuery Admin
の事前定義ロールに含まれています。
プロジェクトのデフォルト構成の更新の詳細については、構成設定を管理するをご覧ください。
ALTER PROJECT `PROJECT_NAME` SET OPTIONS ( `region-LOCATION.enable_reservation_based_fairness`= true);
次のように置き換えます。
予測可能な予約を作成する
最大スロット数で予測可能な予約を作成するには、次のいずれかのオプションを選択します。
コンソール
Cloud de Confiance コンソールで、[BigQuery] ページに移動します。
ナビゲーション パネルで [容量管理] セクションに移動し、[予約を作成] をクリックします。
[予約名] フィールドに、予約の名前を入力します。
[場所] リストで、ロケーションを選択します。BigQuery Omni のロケーションを選択した場合、エディション オプションは Enterprise エディションに限定されます。
[エディション] リストでエディションを選択します。自動スケーリングはエディション内でのみ使用できます。詳細については、BigQuery のエディションについてをご覧ください。
[最大予約サイズ セレクタ] リストで、最大予約サイズを選択します。
省略可: [ベースライン スロット] フィールドに、予約用のベースライン スロット数を入力します。
使用可能な自動スケーリング スロットの数は、[最大予約サイズ] から [ベースライン スロット] の値を引いた値になります。たとえば、ベースライン スロットを 100 個、最大予約サイズを 400 個として予約を作成した場合、その予約には 300 個の自動スケーリング スロットがあります。ベースライン スロットの詳細については、ベースライン スロットと自動スケーリング スロットを使用した予約の使用をご覧ください。
アイドル スロットの共有を無効にして、指定したスロット容量のみを使用するには、[アイドル スロットを無視する] トグルをクリックします。
[詳細設定] セクションを開くには、
展開矢印をクリックします。- [アイドル スロットの使用方法] リストで、構成オプションを選択します。
スロットの内訳は、[費用見積もり] テーブルに表示されます。予約の概要が [容量の概要] テーブルに表示されます。
[保存] をクリックします。
新しい予約が [スロットの予約] タブに表示されます。
bq
予測可能な予約を作成するには、--reservation
フラグを指定して bq mk
コマンドを使用し、max_slots
と scaling_mode
の値を設定します。
bq mk \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation \ --slots=NUMBER_OF_BASELINE_SLOTS \ --ignore_idle_slots=false \ --edition=EDITION \ --max_slots=MAXIMUM_NUMBER_OF_SLOTS \ --scaling_mode=SCALING_MODE RESERVATION_NAME
次のように置き換えます。
ADMIN_PROJECT_ID
: プロジェクト IDLOCATION
: 予約のロケーション。BigQuery Omni のロケーションを選択した場合、エディション オプションは Enterprise エディションに限定されます。NUMBER_OF_BASELINE_SLOTS
: 予約に割り当てるベースラインのスロット数。RESERVATION_NAME
: 予約の名前EDITION
: 予約のエディション。予約をエディションに割り当てると、機能と料金が変更されます。詳細については、BigQuery エディションの概要をご覧ください。MAXIMUM_NUMBER_OF_SLOTS
: 予約で使用できるスロットの最大数。この値は、--scaling_mode
フラグで構成する必要があります。SCALING_MODE
: 予約のスケーリング モード。SCALING_MODE
選択肢はALL_SLOTS
、IDLE_SLOTS_ONLY
、AUTOSCALE_ONLY
です。この値は、max_slots
フラグで構成する必要があります。この値はignore_idle_slots
フラグと一致している必要があります。詳細については、予約の予測可能性をご覧ください。
--ignore_idle_slots
フラグの詳細については、アイドル スロットをご覧ください。デフォルト値は false
です。
SQL
予測可能な予約を作成するには、CREATE RESERVATION
DDL ステートメントを使用します。
Cloud de Confiance コンソールで、[BigQuery] ページに移動します。
クエリエディタで次のステートメントを入力します。
CREATE RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, edition = EDITION, ignore_idle_slots=IGNORE_IDLE_SLOTS max_slots = MAX_NUMBER_OF_SLOTS, scaling_mode = SCALING_MODE);
次のように置き換えます。
ADMIN_PROJECT_ID
: 予約リソースを所有する管理プロジェクトのプロジェクト ID。LOCATION
: 予約のロケーション。BigQuery Omni のロケーションを選択した場合、エディション オプションは Enterprise エディションに限定されます。RESERVATION_NAME
: 予約の名前。名前に使用できるのは、小文字の英数字またはダッシュのみです。先頭は英字にする必要があり、末尾にダッシュは使用できません。最大長は 64 文字です。NUMBER_OF_BASELINE_SLOTS
: 予約に割り当てるスロットの数(ベースライン)。slot_capacity
オプションとedition
オプションを同じ予約内で設定することはできません。EDITION
: 予約のエディション。予約をエディションに割り当てると、機能と料金が変更されます。詳細については、BigQuery エディションの概要をご覧ください。IGNORE_IDLE_SLOTS
: 予約でアイドル スロットを使用するかどうか。デフォルト値はfalse
です。MAX_NUMBER_OF_SLOTS
: 予約で使用できるスロットの最大数。この値はscaling_mode
オプションで構成する必要があります。SCALING_MODE
: 予約のスケーリング モード。選択肢はALL_SLOTS
、IDLE_SLOTS_ONLY
、AUTOSCALE_ONLY
です。この値は、max_slots
オプションで構成する必要があります。この値はignore_idle_slots
オプションと一致している必要があります。詳細については、予約の予測可能性をご覧ください。
[
実行] をクリックします。
クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。
予測可能な予約の詳細については、予測可能な予約をご覧ください。
予約を更新する
予約に対して以下の更新を行うことができます。
- 予約サイズを変更するには、スロットを追加または削除します。
- この予約のクエリがアイドル スロットを使用するかどうかを構成します。
- 予約に割り当てるベースライン スロットまたは自動スケーリング スロットの数を変更する。
- ターゲット ジョブ同時実行を設定する。
予約のエディションを変更するには、まず予約を削除し、続いて更新されたエディションで予約を作成します。
必要な権限
予約を更新するには、次の Identity and Access Management(IAM)権限が必要です。
- コミットメントの所有権を持つ管理プロジェクトに対する、
bigquery.reservations.update
。
この権限は、次の各 IAM 事前定義ロールに含まれています。
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
BigQuery での IAM のロールの詳細については、事前定義ロールと権限をご覧ください。
予約のサイズを変更する
既存の予約に対して、スロットを追加または削除できます。
コンソール
Cloud de Confiance コンソールで、[BigQuery] ページに移動します。
ナビゲーション メニューで、[容量管理] をクリックします。
[スロットの予約] タブをクリックします。
更新する予約を見つけます。
[アクション] オプションを開きます。
[編集] をクリックします。
[最大予約サイズ セレクタ] ダイアログで、最大予約サイズを入力します。
[ベースライン スロット数] フィールドに、ベースライン スロット数を入力します。
[詳細設定] セクションを開くには、
展開矢印をクリックします。省略可: ターゲット ジョブの同時実行を設定するには、[自動のターゲット ジョブ同時実行をオーバーライドする] トグルをオンに切り替えて、ターゲット ジョブの同時実行を入力します。
[保存] をクリックします。
SQL
予約のサイズを変更するには、データ定義言語(DDL)ステートメント ALTER RESERVATION SET OPTIONS
を使用します。
Cloud de Confiance コンソールで、[BigQuery] ページに移動します。
クエリエディタで次のステートメントを入力します。
ALTER RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME` SET OPTIONS ( slot_capacity = NUMBER_OF_BASELINE_SLOTS, autoscale_max_slots = NUMBER_OF_AUTOSCALING_SLOTS);
次のように置き換えます。
ADMIN_PROJECT_ID
: 予約リソースを所有する管理プロジェクトのプロジェクト IDLOCATION
: 予約のロケーション(例:europe-west9
)。RESERVATION_NAME
: 予約の名前。名前に使用できるのは、小文字の英数字またはダッシュのみです。先頭は英字にする必要があり、末尾にダッシュは使用できません。最大長は 64 文字です。NUMBER_OF_BASELINE_SLOTS
: 予約に割り当てるベースライン スロットの数。NUMBER_OF_AUTOSCALING_SLOTS
: 予約に割り当てられている自動スケーリング スロットの数。これは、最大予約サイズの値からベースラインのスロット数を差し引いた値に等しくなります。
[
実行] をクリックします。
クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。
bq
予約のサイズを更新するには、--reservation
フラグを指定して bq update
コマンドを使用します。
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --slots=NUMBER_OF_BASELINE_SLOTS \ --autoscale_max_slots=NUMBER_OF_AUTOSCALING_SLOTS \ --reservation RESERVATION_NAME
次のように置き換えます。
ADMIN_PROJECT_ID
: プロジェクト IDLOCATION
: 予約のロケーションNUMBER_OF_BASELINE_SLOTS
: 予約に割り当てるベースライン スロットの数。RESERVATION_NAME
: 予約の名前。名前に使用できるのは、小文字の英数字またはダッシュのみです。先頭は英字にする必要があり、末尾にダッシュは使用できません。最大長は 64 文字です。NUMBER_OF_AUTOSCALING_SLOTS
: 予約に割り当てられている自動スケーリング スロットの数。これは、最大予約サイズの値からベースラインのスロット数を差し引いた値に等しくなります。
Python
クエリでアイドル スロットを使用するかどうかを構成する
--ignore_idle_slots
フラグは、予約で実行中のクエリから他の予約のアイドル スロットを使用できるかどうかを制御します。詳細については、アイドル スロットをご覧ください。この構成は既存の予約で更新できます。
予約を更新するには、--reservation
フラグを指定して bq update
コマンドを使用します。次の例では、--ignore_idle_slots
を true
に設定しています。つまり、予約は、その予約に割り当てられたスロットのみを使用します。
bq update \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --ignore_idle_slots=true \ --reservation RESERVATION_NAME
次のように置き換えます。
ADMIN_PROJECT_ID
: プロジェクト IDLOCATION
: 予約のロケーションRESERVATION_NAME
: 予約の名前。名前に使用できるのは、小文字の英数字またはダッシュのみです。先頭は英字にする必要があり、末尾にダッシュは使用できません。最大長は 64 文字です。
アイドル スロット構成を一覧表示する
予約のアイドル スロットの設定を一覧表示するには、次のようにします。
SQL
INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT
ビューの ignore_idle_slots
列のクエリを実行します。
Cloud de Confiance コンソールで、[BigQuery] ページに移動します。
クエリエディタで次のステートメントを入力します。
SELECT reservation_name, ignore_idle_slots FROM `ADMIN_PROJECT_ID.region-LOCATION`.INFORMATION_SCHEMA.RESERVATIONS_BY_PROJECT;
次のように置き換えます。
[
実行] をクリックします。
クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。
bq
--reservation
フラグを指定して bq ls
コマンドを使用します。
bq ls --reservation \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION
次のように置き換えます。
ignoreIdleSlots
フィールドには、構成設定が含まれています。
予約の削除
予約を削除すると、その予約のスロットを使用している実行中のジョブは失敗します。エラーが発生しないようにするには、実行中のジョブを完了させてから予約を削除してください。
必要な権限
予約を削除するには、次の Identity and Access Management(IAM)権限が必要です。
- コミットメントの所有権を持つ管理プロジェクトに対する、
bigquery.reservations.delete
。
この権限は、次の各 IAM 事前定義ロールに含まれています。
BigQuery Admin
BigQuery Resource Admin
BigQuery Resource Editor
BigQuery での IAM のロールの詳細については、事前定義ロールと権限をご覧ください。
予約の削除
コンソール
Cloud de Confiance コンソールで、[BigQuery] ページに移動します。
ナビゲーション メニューで、[容量管理] をクリックします。
[予約] タブをクリックします。
削除する予約を見つけます。
[アクション] オプションを開きます。
[削除] をクリックします。
[予約の削除] ダイアログで、[削除] をクリックします。
SQL
予約を削除するには、DDL ステートメント DROP RESERVATION
を使用します。
Cloud de Confiance コンソールで、[BigQuery] ページに移動します。
クエリエディタで次のステートメントを入力します。
DROP RESERVATION `ADMIN_PROJECT_ID.region-LOCATION.RESERVATION_NAME`;
次のように置き換えます。
[
実行] をクリックします。
クエリの実行方法については、インタラクティブ クエリを実行するをご覧ください。
bq
予約を削除するには、--reservation
フラグを指定して bq rm
コマンドを使用します。
bq rm \ --project_id=ADMIN_PROJECT_ID \ --location=LOCATION \ --reservation RESERVATION_NAME
次のように置き換えます。
Python
予約へのアクセスを制御する
特定の予約にアクセスできるユーザーを管理できます。ユーザーがクエリで予約をオーバーライドするには、その予約に対する reservations.use
権限が必要です。
必要な権限
ジョブに特定の予約を指定するために必要な権限を取得するには、予約リソースに対するリソース編集者 (roles/bigquery.resourceEditor
)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
この事前定義ロールには、ジョブに特定の予約を指定するために必要な reservations.use
権限が含まれています。
カスタムロールや他の事前定義ロールを使用して、この権限を取得することもできます。
予約へのアクセスを制御する
特定のリソースへのアクセスを管理するには、bq
set-iam-policy
コマンドを使用します。
複数の予約リソースへのアクセスを管理するには、 Cloud de Confiance コンソールを使用して、プロジェクト、フォルダ、または組織に対する BigQuery リソース編集者ロールを付与します。ロールを付与するときに、IAM の条件を使用して、指定された条件が満たされた場合に予約リソースへのアクセスを許可します。
予約へのアクセスを制御するには、次のいずれかを行います。
コンソール
Cloud de Confiance コンソールでは、条件を使用して複数の予約リソースへのアクセスを許可できます。
Cloud de Confiance コンソールで、[IAM] ページに移動します。
プロジェクト、フォルダ、または組織を選択します。
予約リソースに対するロールを持つプリンシパルに
bigquery.resourceEditor
ロールを付与するには:[プリンシパル別に表示] タブで、該当するプリンシパルに移動するか、[フィルタ] オプションを使用してプリンシパルを見つけます。
[
プリンシパルを編集します] をクリックします。[ロールを割り当てる] ページで、
[ロールを追加] をクリックします。[ロールを検索] フィールドに「
bigquery.resourceEditor
」と入力します。検索結果で [BigQuery リソース エディタ] オプションをオンにして、[適用] をクリックします。
[保存] をクリックします。
または、予約リソースにロールがないプリンシパルに
bigquery.resourceEditor
ロールを付与するには:[
アクセス権を付与] をクリックします。[プリンシパルの追加] ページの [新しいプリンシパル] フィールドに、プリンシパルの ID(例:
//iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com
)を入力します。[
ロールを追加] をクリックします。[ロールを検索] フィールドに「
bigquery.resourceEditor
」と入力します。検索結果で [BigQuery リソース エディタ] オプションをオンにして、[適用] をクリックします。
[BigQuery リソース エディタ] ボックスで、[条件を追加] をクリックします。
[条件を追加] ページで次の操作を行います。
[タイトル] フィールドと [説明] フィールドに値を入力します。
[条件作成ツール] で、条件を追加します。たとえば、
/reservation1
で終わるすべての予約名にロールを付与する条件を追加するには、[条件タイプ] で [名前] を選択し、[演算子] で [次で終わる] を選択し、[値] に/reservation1
と入力します。[保存] をクリックします。
[保存] をクリックします。
bq
bq コマンドライン ツールでは、個々の予約リソースへのアクセス権を付与できます。
予約へのアクセス権を付与するには、bq
set-iam-policy
コマンドを使用します。
bq set-iam-policy RESOURCE FILE_NAME
次のように置き換えます。
RESOURCE
: 予約リソースの名前。例:projects/project1/locations/US/reservations/reservation1
FILE_NAME
: JSON 形式のポリシーを含むファイル。形式は、許可ポリシーの IAM ポリシー構造に従う必要があります。次に例を示します。{ "bindings": [ { "members": [ "user:my-user@example.com" ], "role": "roles/bigquery.resourceEditor" } ], "etag": "BwUjMhCsNvY=", "version": 1 }
IAM の詳細については、他のリソースへのアクセスを管理するをご覧ください。