チュートリアル: 初めてのテーブルを作成し、特権を付与する
この記事では、Unity Catalogのデータガバナンスモデルを使用して、Databricksでテーブルを作成し、特権を付与するステップごとの方法を簡単に説明します。2024年3月6日現在、新しいアカウントのワークスペースは自動的に Unity Catalogで有効になり、このチュートリアルを完了するにあたりすべてのユーザーに必要な権限が含まれています。
ワークスペースで Unity Catalog が有効になっているかどうかわからない場合は、「 Unity Catalog の設定と管理」を参照してください。 Unity Catalog データ オブジェクトについて理解を深めたい場合は、「 Unity Catalog とは」を参照してください。
この記事はユーザーを対象としていますが、ワークスペース管理を新たに担当する管理者にとっても興味深いかもしれません。
始める前に
この記事で説明されているタスクを実行するには、以下が必要です。
- Unity Catalogに対して自動的に有効になったDatabricksワークスペース。
- コンピュート リソースにアタッチする権限。 「All Purpose への接続」および「ジョブ コンピュート」を参照してください。
最初のテーブルを作成する
Unity Catalogには、データオブジェクト用の3つの階層から成る名前空間、 catalog.schema.table
が含まれています。この例では、ワークスペースカタログとdefault
スキーマ(データベース)にdepartment
という名前のテーブルを作成するノートブックを実行します。
ワークスペースカタログとは、ワークスペースで作成されるデフォルトのカタログで、すべてのユーザーがアクセスできます。ワークスペースカタログはワークスペースと共通の名前を持ちます。
SQLまたはDatabricks Explorer UIを使用して、テーブルへのアクセスを宣言的に定義できます。
-
サイドバーで、[ +新規 ]、[ ノートブック ] の順にクリックします。
-
ノートブックの言語として [
SQL
] を選択します。 -
[ 接続 ] をクリックし、ノートブックをコンピュートリソースにアタッチします。
-
ノートブックに以下のコマンドを追加して実行します(
<workspace-catalog>
をワークスペースカタログの名前に置き換えてください)。SQLUSE CATALOG <workspace-catalog>
SQLCREATE TABLE IF NOT EXISTS default.department
(
deptcode INT,
deptname STRING,
location STRING
);SQLINSERT INTO default.department VALUES
(10, 'FINANCE', 'EDINBURGH'),
(20, 'SOFTWARE', 'PADDINGTON'); -
サイドバーで
[ カタログ]
<workspace-name>
default
をクリックし、ワークスペース カタログ () と スキーマを検索すると、新しいdepartment
テーブルが見つかります。
テーブルのアクセス許可を管理する
元のテーブル作成者は、テーブル の所有者 であり、他のユーザーにテーブルの読み取りまたは書き込みのアクセス許可を付与できます。 所有権を譲渡することもできますが、ここでは行いません。 Unity Catalog権限と権限モデルの詳細については、「Unity Catalogでの権限の管理」を参照してください。
UI を使用した権限の付与
UIを使用してテーブルに関する権限をユーザーに付与する方法は次の通りです。
- カタログエクスプローラーでテーブル名をクリックしてテーブルの詳細ページを開き、[ 権限 ] タブに移動します。
- 付与 をクリックします。
- 「 に付与 」ダイアログで次を実行します。
- 権限を付与するユーザーとグループを選択します。
- 付与する特権を選択します。この例では、
SELECT
(読み取り)権限を割り当てて、[ 付与 ] をクリックします。
SQL ステートメントを使用したアクセス許可の付与
これらの権限は、Databricksノートブックまたは SQLクエリーエディタ内にある次のSQLステートメントを使用して付与することもできます。この例では、data-consumers
というグループにテーブルに関する権限を与えています。
GRANT SELECT ON default.department TO `data-consumers`;
次のステップ
各トピックの詳細をご覧ください。