
始める前に
- ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
- ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
- 画面左上の [ラボを開始] をクリックして開始します
Create the source dataset
/ 30
Create the analyst dataset
/ 30
Secure the datasets
/ 40
BigQuery を使用すると、データセット レベルで権限を構成できます。データ エンジニアリング チームは元データの大規模なテーブルを数多く含むデータセットを保持していますが、それらのテーブルのサブセットを特定のアナリストと共有したいことがよくあります。
たとえば、ユーザー固有の情報を含む列を除外したバージョンのテーブルにアナリストがアクセスできるようにしたり、指定された BigQuery テーブルまたはビューの限られた行のみを特定のユーザーが表示できるようにしたりといったケースです。
このラボでは、BigQuery で承認済みビューを作成して使用する方法について学びます。また、ログイン ユーザーに関する情報を使用して行単位でフィルタ処理する方法についても学びます。
ラボでは 2 人の Google Cloud ユーザーを使用して別のユーザーとしてログインし、BigQuery の承認済みビューの権限を確認します。
このラボでは、次のタスクの実行方法について学びます。
SESSION_USER()
関数を使用して、テーブルまたはビュー内の特定の行にアクセスを制限する各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
Qwiklabs にシークレット ウィンドウでログインします。
ラボのアクセス時間(例: 1:15:00
)に注意し、時間内に完了できるようにしてください。
一時停止機能はありません。必要な場合はやり直せますが、最初からになります。
準備ができたら、[ラボを開始] をクリックします。
ラボの認証情報(ユーザー名とパスワード)をメモしておきます。この情報は、Google Cloud Console にログインする際に使用します。
[Google Console を開く] をクリックします。
[別のアカウントを使用] をクリックし、このラボの認証情報をコピーしてプロンプトに貼り付けます。
他の認証情報を使用すると、エラーが発生したり、料金の請求が発生したりします。
利用規約に同意し、再設定用のリソースページをスキップします。
このタスクでは、このラボで使用するソース データセットを BigQuery に作成します。
source_data
」と入力し、[データセットを作成] をクリックします(その他のデフォルト値はそのまま使用します)。[Cloud Shell をアクティブにする] をクリックし、Cloud Shell を開きます。プロンプトが表示されたら、[続行]、[承認] の順にクリックします。
Cloud Shell に次のコードを入力して、ソースデータを BigQuery の新しいテーブルに読み込みます。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、アナリスト データセット、アナリスト用に編集されたビュー、ログイン ユーザー用の 2 つ目のビューを作成します。
analyst_views
」と入力し、[データセットを作成] をクリックします(その他のデフォルト値はそのまま使用します)。no_user_info
」と入力し、[保存] をクリックします。UI には宛先テーブルと表示されていますが、作成されるのはテーブルではなくビューのみです。*
を入力して次のような SQL クエリにします。続いて、次の情報を使用して 2 つ目のビューを作成します。
[実行] をクリックします。
[保存] > [ビューを保存] をクリックして、このクエリをビューとして保存します。
プロジェクトと analyst_views データセットを選択します。
宛先テーブルの名前に「row_filter_session_user
」と入力し、[保存] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、アナリスト データセットを Username 2 と共有し、Username 2 に閲覧者ロールを割り当ててデータセットを保護します。
画面の左側にあるデータセットのリストで、[analyst_views] データセットをクリックします。
次に、右側のペインで [共有] を選択し、[権限] をクリックします。
[プリンシパルを追加] をクリックします。[新しいプリンシパル] フィールドに、2 番目のラボアカウントのメールアドレス(
ロールに [BigQuery データ閲覧者] を選択し、[保存] をクリックします。
[閉じる] をクリックします。
このタスクでは、ソース データセットを保護します。ソース データセットで利用可能な元データにデータ エンジニアリング チーム以外のアナリストやその他のユーザーがアクセスできないようにするために、アクセスを制限します。
ただし、作成したビューを使用するユーザーは、ビューで生成されるデータを表示できるようにします。これには、ユーザーではなくビューを承認する必要があります。
画面の左側にあるデータセットのリストで、source_data データセットをクリックします。
次に、右側のペインで [共有] を選択し、[権限] をクリックします。
権限リストで [BigQuery データ閲覧者] プリンシパルを開き、その横にあるごみ箱アイコンをクリックし、[削除] をクリックして確定します。[閉じる] をクリックします。
[共有] で、[ビューを承認] をクリックします。
[承認済みビュー] で次の設定を選択します。
承認済みビュー |
|
[承認を追加] をクリックします。
次の設定を使用して別のビューを追加し、既存のビューを置き換えます。
承認済みビュー |
|
[承認を追加] をクリックします。
[閉じる] をクリックします。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
このタスクでは、これまでのタスクで適用したセキュリティ設定をテストします。
テーブル内のすべてのユーザー登録イベントを含む結果セットが表示されます。
row_filter_session_user
ビューに対してアカウントに関連付けられている行のみを表示するクエリを実行できることを確認します。2 番目の Qwiklabs ユーザーに関する 68 行の結果セットが表示されます。
権限がないことを示す [アクセスが拒否されました] エラー メッセージが表示されます。
このラボでは、以下の操作について学習しました。
SESSION_USER()
関数を使用して、テーブルまたはビュー内の特定の行にアクセスを制限するラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Cloud Skills Boost から削除され、アカウントの情報も消去されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。
このコンテンツは現在ご利用いただけません
利用可能になりましたら、メールでお知らせいたします
ありがとうございます。
利用可能になりましたら、メールでご連絡いたします
1 回に 1 つのラボ
既存のラボをすべて終了して、このラボを開始することを確認してください