テーマ切替
確認問題|Associate ⑤ ガバナンス(Unity Catalog)
教材 05-governance.md の内容に基づく確認問題です(全10問)。 まず問題を解き、下の「解答・解説」で答え合わせをしてください。
問題
Q1. Unity Catalog の 3 階層ネームスペース catalog.schema.object について、各レイヤーの対応として正しいものはどれか。
- A. 第 1 レイヤー = スキーマ、第 2 レイヤー = カタログ、第 3 レイヤー = テーブル
- B. 第 1 レイヤー = カタログ、第 2 レイヤー = スキーマ、第 3 レイヤー = テーブル/ビュー/ボリューム等
- C. 第 1 レイヤー = メタストア、第 2 レイヤー = カタログ、第 3 レイヤー = スキーマ
- D. 第 1 レイヤー = データベース、第 2 レイヤー = テーブル、第 3 レイヤー = カラム
Q2. Unity Catalog のセキュリティ保護可能オブジェクトの階層を、最上位から正しい順に並べたものはどれか。
- A. カタログ > メタストア > スキーマ > テーブル
- B. メタストア > スキーマ > カタログ > テーブル
- C. メタストア > カタログ > スキーマ > テーブル/ビュー/ボリューム/関数/モデル
- D. スキーマ > カタログ > メタストア > テーブル
Q3. アナリストが GRANT SELECT ON TABLE main.default.orders TO ... を付与されたにもかかわらず、SELECT * FROM main.default.orders; を実行すると権限エラーになる。原因として最も適切なものはどれか。
- A. テーブル所有者が
SELECTを付与する権限を持っていなかったため、GRANT は実際には無効 - B. 親スキーマへの
USE SCHEMAと親カタログへのUSE CATALOG(使用特権)を持っていないため - C.
SELECTではなくMODIFYを付与しないとテーブルは読み取れないため - D. マネージド テーブルは
SELECTではアクセスできず、直接ストレージ アクセスが必要なため
Q4. データ プラットフォーム管理者が GRANT CREATE CATALOG ON METASTORE TO ... を実行した。このユーザーが得る権限として正しいものはどれか。
- A. メタストア内のすべてのカタログのテーブルを自動的に
SELECTできるようになる - B. メタストアにカタログを作成できるが、カタログ内のデータへのアクセスは付与されない(メタストア レベルの特権は子に継承されない)
- C. メタストア内の全オブジェクトの所有権を自動的に取得する
- D. カタログ作成に加えて、その配下スキーマ・テーブルへの
ALL PRIVILEGESも継承される
Q5. チームが main.sales.events テーブルを DROP TABLE で削除した。このテーブルが「マネージド テーブル」だった場合と「外部テーブル」だった場合の、基盤データファイルの挙動として正しいものはどれか。
- A. マネージド: 保持期間後にデータファイルも削除される/外部: データファイルはそのまま残る
- B. マネージド: データファイルは残る/外部: データファイルも即座に削除される
- C. どちらもメタデータのみ削除され、データファイルは常に残る
- D. どちらも保持期間なしでデータファイルが即座に完全削除される
Q6. Unity Catalog の「ボリューム(Volume)」に関する説明として正しいものはどれか。
- A. ボリュームは表形式データを行と列で管理し、
SELECTで SQL クエリできる - B. ボリューム内のファイルは Unity Catalog のテーブルとして登録でき、表形式アクセスに変換される
- C. ボリュームは表形式でない(非構造化/半構造化)データを管理し、パスベースのファイルアクセスを提供する。ボリューム内ファイルをテーブルとして登録することはできない
- D. ボリュームはメタストア直下に配置され、3 階層ネームスペースには含まれない
Q7. 「ストレージ資格情報(Storage credential)」と「外部ロケーション(External location)」の関係として正しいものはどれか。
- A. 外部ロケーションは認証情報そのものであり、ストレージ資格情報はそのパスを指す
- B. ストレージ資格情報はクラウド ストレージへの認証情報を表し、外部ロケーションは「クラウド ストレージ パス + ストレージ資格情報」を組み合わせたオブジェクトである
- C. 両者は同一のオブジェクトであり、呼び名が違うだけである
- D. 外部ロケーションは 3 階層ネームスペース
catalog.schema.locationに配置される
Q8. テーブルへのデータの挿入・更新・削除(書き込み)を許可するために付与すべき特権はどれか。
- A.
SELECT - B.
USE SCHEMA - C.
MODIFY - D.
READ VOLUME
Q9. Unity Catalog の「メタストア(Metastore)」に関する説明として正しいものはどれか。
- A. メタストアはワークスペースごとに 1 つ作成され、他のワークスペースとは共有できない
- B. メタストアはリージョンごとに 1 つで、同一リージョン内の複数ワークスペースにアタッチでき、メタストアで付与した権限はアタッチされた全ワークスペースに適用される
- C. メタストアは 3 階層ネームスペースの第 3 レイヤーであり、テーブルと同列に扱われる
- D. メタストアはアカウントごとに 1 つだけ存在し、全リージョンで共有される
Q10. ML エンジニアが、Unity Catalog に登録済みのモデル prod.ml_team.iris_model を別チームが推論に使えるようにしたい。適切な GRANT 文はどれか。(モデルは実装上「関数の一種」として扱われる)
- A. ```sql GRANT SELECT ON MODEL prod.ml_team.iris_model TO
ml-team-acme;
- B. ```sql
GRANT READ VOLUME ON VOLUME prod.ml_team.iris_model TO `ml-team-acme`;- C. ```sql GRANT EXECUTE ON FUNCTION prod.ml_team.iris_model TO
ml-team-acme;
- D. ```sql
GRANT MODIFY ON TABLE prod.ml_team.iris_model TO `ml-team-acme`;解答・解説
Q1. 正解: B 3 階層ネームスペース catalog.schema.object は、第 1 レイヤー = カタログ、第 2 レイヤー = スキーマ、第 3 レイヤー = テーブル/ビュー/ボリューム/関数/モデル等のオブジェクトで構成される。メタストアは階層の最上位だが 3 階層ネームスペースには含まれない(C は誤り)。レガシ Hive の 2 階層 schema.table との対比がポイント。
Q2. 正解: C Unity Catalog のオブジェクト階層は、最上位から「メタストア > カタログ > スキーマ > テーブル/ビュー/ボリューム/関数/モデル」。メタストアはリージョンごとに 1 つの最上位オブジェクト、カタログが 3 階層ネームスペースの第 1 レイヤーとなる。この順序がアクセス制御の基礎になる。
Q3. 正解: B テーブルを読むには「テーブルへの SELECT」+「親スキーマへの USE SCHEMA」+「親カタログへの USE CATALOG」の 3 点セットが必要。USE CATALOG/USE SCHEMA は使用特権(入り口)で、単独ではデータにアクセスできないが、これらが無いと SELECT を持っていてもアクセスできない。アクセス制御の境界として機能する。
Q4. 正解: B メタストア レベルで付与した特権は子オブジェクトに継承されない(重要な例外)。CREATE CATALOG はメタストアにカタログを作成する操作を許可するだけで、カタログ内データへのアクセスは付与しない。カタログ/スキーマ レベルの特権は継承されるが、メタストア レベルは継承されない点を区別する。
Q5. 正解: A マネージド テーブルはドロップすると保持期間後にデータファイルも完全削除される。外部テーブルはドロップしてもメタデータのみ削除され、データファイルはクラウド ストレージにそのまま残る。マネージド/外部の「ドロップ時の挙動」の違いは頻出。なおマネージド/外部の区別はテーブルとボリュームにのみ適用される。
Q6. 正解: C ボリュームは表形式でない(非構造化/半構造化)データを管理する Unity Catalog オブジェクトで、READ VOLUME/WRITE VOLUME によるパスベースのファイルアクセスを提供する(SQL クエリ操作は不可)。ボリューム内ファイルをテーブルとして登録することはできない。ボリュームは 3 階層ネームスペースの第 3 レベル(catalog.schema.volume)に位置する(D は誤り)。
Q7. 正解: B ストレージ資格情報はクラウド ストレージへの認証・承認メカニズム(Azure マネージド ID やサービスプリンシパル等)を表す。外部ロケーションは「クラウド ストレージ パス + そのパスにアクセスするストレージ資格情報」を組み合わせたオブジェクトで、複数の外部ロケーションが同じ資格情報を参照できる。どちらもメタストア直下に配置される。
Q8. 正解: CMODIFY はテーブルのデータを挿入・更新・削除(書き込み)する特権。SELECT は読み取り、USE SCHEMA は使用特権(入り口)、READ VOLUME はボリューム内ファイルの読み取り。読み取り = SELECT、書き込み = MODIFY の対比を押さえる。
Q9. 正解: B メタストアはリージョンごとに 1 つで、同一リージョン内の複数ワークスペースにアタッチできる。メタストアで付与した権限は、アタッチされたすべてのワークスペースに適用される。ワークスペースごとに 1 つではなく(A は誤り)、階層の最上位オブジェクトである(C は誤り)。
Q10. 正解: C Unity Catalog に登録されたモデルは実装上「関数の一種」として扱われるため、GRANT EXECUTE ON FUNCTION ... を使う。EXECUTE は関数の呼び出しや登録済みモデルを推論用にロードする権限。ON MODEL という構文は使わず、ON FUNCTION に対して EXECUTE を付与する点がポイント。