0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

BigQuery Authorized Viewでの権限設定ミスによる`Access Denied`エラー対処ガイド

Posted at

概要

承認済みデータセット(あるいは、承認済みビュー)として登録したと認識しているにもかかわらず、下記のエラーに遭遇した際の対応方法を共有します。

Access Denied: Table authorized-views:source_data.sample_01: User does not have permission to query table authorized-views:source_data.sample_01, or perhaps it does not exist.

image.png

承認済みデータセット(あるいは、承認済みビュー)を、ビューを保持しているデータセット(本記事ではanalyst_views)に対して、テーブルを保持しているデータセット(本記事ではsource_data)を登録するという間違いをしていたことが原因でした。対応策としては、テーブルを保持しているデータセット(本記事ではsource_data)に対して、ビューを保持しているデータセット(本記事ではanalyst_views)を登録する必要がありました。

image.png

image.png

私が誤っているということを、Creating a BigQuery Authorized Viewという cloud skills boost のコンテンツを実施することで気づけました。2024年9月17日にリリースされたとある機能に関するバグだよと思い込んでしまい、ごめんなさい。

image.png

引用元:Creating a BigQuery Authorized View | Google Cloud Skills Boost

上記のトレーニングを実施するために $29 を払いました。他にも同じ誤りをしてしまった方を助けれたら、本望です。

image.png

エラーの再現方法

1. テーブルを保持するデータセット(source_data)を作成

image.png

2. テーブルを作成

CREATE TABLE source_data.sample_01 (
  int_col int,
  string_col STRING,
  date_col date
);

TRUNCATE TABLE source_data.sample_01;
INSERT INTO source_data.sample_01
(
  int_col,
  string_col,
  date_col
)
SELECT 1, 'aaa', CAST('2024-01-01' AS date)
UNION ALL
SELECT 2, 'bbb', CAST('2024-02-02' AS date)
UNION ALL
SELECT 3, 'ccc', CAST('2024-03-03' AS date)
;

SELECT * FROM source_data.sample_01;

image.png

image.png

3. ビューを保持するデータセット(analyst_views)を作成

image.png

4. ビューを作成

CREATE VIEW analyst_view.v__sample_01
AS
SELECT
  *
  FROM source_data.sample_01
;

image.png

5. 参照検証を行うユーザーアカウントに対してビューを保持するデータセット(analyst_views)に対して BigQuery Data Viewer ロールを付与

image.png

6. 参照検証を行うユーザーにてビューを参照してエラーとなることを確認

Access Denied: Table authorized-views:source_data.sample_01: User does not have permission to query table authorized-views:source_data.sample_01, or perhaps it does not exist.

image.png

エラーへの対応方法

1. 承認済みビューとして設定する方法

1-1. テーブルを保持しているデータセット(source_data)を開き、SHARERING -> Authorize Datsetsを選択

image.png

1-2. Authorized datasetウィンドウにてビューをを保持するデータセット(analyst_views)を選択し、ADD AUTHORIZATIONを選択

image.png

1-3. Currently authorized datasetsに項目が追加されたことを確認

image.png

1-4. 参照検証を行うユーザーにてビューを参照できることを確認

SELECT
  *
  FROM
    authorized-views.analyst_view.v__sample_01
  LIMIT
    10

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?