アクセス policy でデータへのアクセスを付与する
アクセス policy により、Lakehouse 内のデータにクエリできるようになります。少なくとも 1 つのアクセス policy に含まれるまでは、Data Explorer に Catalog が表示されず、すべてのクエリが失敗します。
前提条件
- role に
governance:permissions:grantが含まれていること。portal_adminrole とpolicy_managerrole に含まれています。Portal の role と権限を参照してください。 - 対象のユーザーとグループが Access management に、Service Account が Service Accounts にすでに存在していること。選択できるのは有効な Service Account のみです。
アクセス policy を作成する
- 左サイドバーで Data Security → Security policies を選択します。
- Access タブを開き、Create policy を選択します。
- Policy Name を入力します。必要に応じて、policy の対象者を示す Description も入力します。
- Users、Groups、Service Accounts に、policy を適用する対象を追加します。1 件以上追加してください。
- Resource type で Catalog、Schema、Table、Function のいずれかを選択します。
- リソースを選択します。各フィールドに数文字入力すると検索できます。
- Catalog: Catalog を選択します。
- Schema: Catalog と Schema を選択します。
- Table: Catalog、Schema、1 つ以上の Tables を選択します。
- Function: Catalog と Schema を選択します。policy は、その Schema 内のすべての関数を対象にします。
- 権限テーブルで、付与する権限を選択します。初期状態では何も選択されていません。
- policy をすぐに適用するには、Active を選択したままにします。
- Create を選択します。

policy が Access 一覧にステータス Active で表示されます。新しいクエリには約 1 分後に適用されます。
警告
Catalog または Schema に対する DELETE や ALL では、その配下のすべてのテーブルで行を削除できます。Catalog や Schema 自体は削除されません。データのロードやクリーニングを担当するユーザーにのみ付与してください。
各権限が許可する内容は、アクセス policy の権限を参照してください。
適切なスコープを選ぶ
| やりたいこと | Resource type | 権限 |
|---|---|---|
| アナリストが 1 つの Schema のすべてのテーブルを読み取れるようにする。 | schema | SELECT |
| 1 人のユーザーが 1 つのテーブルだけを読み取れるようにする。 | table | SELECT |
| データエンジニアが Catalog 内のテーブルをロード・変更できるようにする。 | catalog | SELECT、INSERT + UPDATE、ALTER |
| チームが自分たちの Schema 内でテーブルを作成・削除できるようにする。 | schema | Schema の CREATE、DROP、SELECT、INSERT + UPDATE |
| Schema 内の関数を実行できるようにする。 | function | EXECUTE |
最小のスコープと最小限の権限から始めてください。権限は後から追加できます。
動作を確認する
policy に含まれるユーザーに、約 1 分待ってから Data Explorer を開いてもらいます。ツリーに Catalog が表示されます。1 つのテーブルへのアクセス権のみの場合は、その Catalog と Schema の下にそのテーブルだけが表示されます。
policy を探す
- Search by policy name ... に入力すると、名前で policy を探せます。
- All user、All group、All service account を使うと、特定のユーザー、グループ、Service Account の policy だけを表示できます。
Access 一覧には、policy 名、権限、グループ、ユーザー、Service Account、ステータスが表示されます。セルに収まらない項目がある場合は、+N と表示されます。
操作に失敗した場合
| メッセージ | 意味 | 対処 |
|---|---|---|
This permission already exists. | 同じ対象者に、このリソースへの同じ権限を付与する policy がすでにあります。 | 既存の policy を編集してください。 |
The selected data object does not exist or is not accessible. | Catalog、Schema、テーブルが削除または名前変更されました。 | リソースを選択し直してください。 |
The selected user, group, or service account does not exist. | 追加した対象が Access management で削除されました。 | policy から該当の対象を外し、もう一度 Create を選択してください。 |
The change could not be applied. No permission was updated. | 何も保存されていません。入力内容は保持されています。 | もう一度 Create を選択してください。繰り返し失敗する場合は、サポートにお問い合わせください。 |
Governance service is temporarily unavailable. | policy は表示できますが、変更できません。 | 数分待ってから、もう一度お試しください。 |
You do not have permission to manage governance settings. | role に governance:permissions:grant が含まれていません。 | Admin に policy_manager role を依頼してください。 |
Your session has expired. Please sign in again. | サインアウトされました。 | もう一度サインインしてください。保存していない入力内容は失われます。 |