Postgresの役割
Lakebaseプロビジョニングは、手動でスケールするプロビジョニング コンピュートを使用するオリジナルのLakebaseオファリングです。 サポートされているリージョンについては、 「リージョンの提供状況」を参照してください。オートスケール コンピュート、ゼロへのスケール、分岐、インスタント復元を備えたLakebaseの最新バージョンについては、 Lakebaseオートスケール」を参照してください。
新しい Lakebase インスタンスはオートスケール プロジェクトとして作成されます。 ロールアウトは 2026 年 3 月 12 日に開始されます。詳しくはデフォルトAutoscalingをご覧ください。
このページでは、Databricks Lakebase データベース インスタンスへのアクセスを管理するために使用できる Postgres ロール (特権、目的、構成など) について説明します。
事前に作成されたロール
データベース インスタンスが作成されると、Databricks によって、インスタンスを作成したユーザーの Postgres ロールが自動的に作成されます。
ロール | 説明 | 継承された特権 |
|---|---|---|
| インスタンス作成者の Databricks ID (例: | のメンバー |
| 内部管理ロール。インスタンス全体のアクセスを構成および管理するために使用します。このロールには広範な権限が付与されており、自動化されたアプリケーションでは使用しないでください。 |
|
ロールの能力
ロール | LOGIN | CREATEDB | CREATEROLE | BYPASSRLS | その他の特典 |
|---|---|---|---|---|---|
| ノログイン | — | — | — |
|
| ✅ | ✅ | ✅ | ✅ |
|
Databricks によって作成されたシステム ロール
Databricks は、 databricks_superuser ロールと管理者ロールに加えて、内部サービスに必要なシステム ロールを作成します。これらのロールには、機能に必要な最小限の権限が割り当てられます。これらを変更すると、インスタンスの動作に影響を与える可能性があります。
ロール | 目的 |
|---|---|
| 管理操作のために内部 Databricks コンポーネントによって使用されます |
| 社内メトリクスコレクションサービスで利用 |
| 同期されたテーブルの作成と管理に使用されるデータベースごとのロール |
| Unity Catalog に登録されているテーブルの読み取りに使用されるデータベースごとのロール |
| マネージド データ サービング サービスの内部接続に使用されます |
Postgres でロール、権限、およびロール メンバーシップがどのように機能するかについては、Postgres ドキュメントの次のリソースを使用してください。
Databricks ID 用の Postgres ロールを作成する
データベースインスタンス所有者のDatabricks IDに対応するPostgresロールが自動的に作成されます。他のDatabricksユーザーによるログインを許可するには、UIまたはPostgreSQLクエリを使用して追加のロールを作成します。
ロール管理アクションは、データベースインスタンスに付与された権限によって制御されます。役割の管理を試みる前に、適切なアクセス権限が付与されていることを確認してください。
- UI
- PostgreSQL
CAN USE権限を持つユーザーは、既存の役割を表示したり、自身のIDに対して役割を追加したりできます。CAN MANAGE権限を持つユーザーは、他の Databricks ID に対してロールを作成したり、任意のロールを削除したりできます。
- クリック
右上隅の アプリ から Lakebase Postgres を選択します。
- 「プロビジョニング済み」 をクリックすると、 プロビジョニング済みインスタンスの ページが開きます。
- データベースインスタンスを選択してください。
- Lakebaseアプリのサイドバーにある 「役割」 ページを選択してください。
- 「役割を追加」 をクリックします。
- 「プリンシパル」 ドロップダウンメニューから、ユーザー、グループ、またはサービスプリンシパルを選択します。
- (オプション)
databricks_superuser(すべてのデータへの読み取りおよび書き込みアクセス)を付与する システムロール を選択します。 - (オプション)
CREATEDB、CREATEROLE、またはBYPASSRLSを付与する システム属性 を選択します。 - [ 追加 ] をクリックします。
要件:
- データベースに対して
CREATEとCREATE ROLE権限が必要です。 - DatabricksのIDで認証する必要があります。ネイティブのPostgres認証セッションでは、Databricksロールを作成できません。
- 認証トークンは有効である必要があります。
databricks_auth拡張機能のdatabricks_create_role関数を使用してください。
CREATE EXTENSION IF NOT EXISTS databricks_auth;
-- Databricks user
SELECT databricks_create_role('myuser@databricks.com', 'USER');
-- Service principal (use application ID)
SELECT databricks_create_role('8c01cfb1-62c9-4a09-88a8-e195f4b01b08', 'SERVICE_PRINCIPAL');
-- Group
SELECT databricks_create_role('My Group 123', 'GROUP');
新しいロールには、 PUBLICにのみ権限が付与されます。標準の Postgres GRANTおよびREVOKEコマンドを使用して権限を追加します。
DatabricksのIDロールを表示する
- UI
- PostgreSQL
「役割」 ページでは、どのユーザー、グループ、サービスプリンシパルに該当するPostgresロールが割り当てられているかを確認できます。
- クリック
右上隅の アプリ から Lakebase Postgres を選択します。
- 「プロビジョニング済み」 をクリックすると、 プロビジョニング済みインスタンスの ページが開きます。
- データベースインスタンスを選択してください。
- Lakebaseアプリのサイドバーにある 「役割」 ページを選択してください。
databricks_auth拡張機能のdatabricks_list_roles関数を使用して、Postgresロールとして認証するために追加されたすべてのDatabricks IDロール(ユーザー、サービスプリンシパル、グループ)を一覧表示します。
CREATE EXTENSION IF NOT EXISTS databricks_auth;
SELECT * from databricks_list_roles;
Postgresロールを削除する
- UI
- PostgreSQL
- クリック
右上隅の アプリ から Lakebase Postgres を選択します。
- 「プロビジョニング済み」 をクリックすると、 プロビジョニング済みインスタンスの ページが開きます。
- データベースインスタンスを選択してください。
- Lakebaseアプリのサイドバーにある 「役割」 ページを選択してください。
- 削除したい役割については、こちらをクリックしてください。
そして 「ドロップ」 をクリックします。
- (オプション) 所有オブジェクトの再割り当てを有効にする と、ドロップする前に所有オブジェクトを再割り当てします。
- 確認 をクリックします。
DatabricksのIDベースのロールを削除する方法は、Postgresのロールを削除する方法と同じです。ロールの削除については、PostgreSQLのドキュメントを参照してください。