Postgres ロール

Important

Lakebase Provisioned は、手動でスケーリングするプロビジョニング済みコンピューティングを使用する元の Lakebase オファリングです。 サポートされているリージョンについては、「 リージョンの可用性」を参照してください。 自動スケール コンピューティング、ゼロへのスケール、分岐、インスタント リストアを使用した最新バージョンの Lakebase については、 Lakebase の自動スケールに関するドキュメントを参照してください。

2026 年 3 月 12 日以降、新しい Lakebase インスタンスが自動スケール プロジェクトとして作成されます。 既存のプロビジョニング済みインスタンスは、2026 年 6 月から自動スケールに自動的にアップグレードされます。 詳細については、「 Lakebase 自動スケールへのアップグレード」を参照してください。

このページでは、特権、目的、構成など、Azure Databricks Lakebase データベース インスタンスへのアクセスを管理するために使用できる Postgres ロールについて説明します。

事前に作成されたロール

データベース インスタンスが作成されると、Azure Databricks によって、インスタンスを作成したユーザーの Postgres ロールが自動的に作成されます。

Role Description 継承された特権
<instance_owner_role> インスタンス作成者の Azure Databricks ID (たとえば、 myuser@databricks.com)。 このロールは、インスタンスにログインして管理できます。 databricks_superuser のメンバー
databricks_superuser 内部管理役割。 インスタンス全体のアクセスを構成および管理するために使用されます。 このロールには広範な特権が付与されるため、自動化されたアプリケーションでは使用しないでください。 pg_read_all_datapg_write_all_data、およびpg_monitorから継承します。

ロールの権限

Role LOGIN データベースを作成するためのコマンド「CREATEDB」 CREATEROLE BYPASSRLS その他の特権
databricks_superuser ログインなし
  • すべてのデータベース、スキーマ、テーブル、シーケンスに対するすべての特権 (許可あり)
  • EXECUTEpg_stat_statements_reset()
<instance_owner_role>
  • 既定の databricks_postgres データベースの所有者

Azure Databricks によって作成されたシステム ロール

Azure Databricks では、 databricks_superuser ロールと管理者ロールに加えて、内部サービスに必要なシステム ロールが作成されます。 これらのロールには、機能に必要な最小限の特権が割り当てられます。 変更すると、インスタンスの動作に影響する可能性があります。

Role 目的
databricks_control_plane 内部 Databricks コンポーネントによって管理操作に使用されます
databricks_monitor 内部メトリック収集サービスによって使用されます
databricks_writer_<dbid> 同期されたテーブルの作成と管理に使用されるデータベースごとのロール
databricks_reader_<dbid> Unity カタログに登録されているテーブルの読み取りに使用されるデータベースごとのロール
databricks_gateway マネージド データ サービスの内部接続に使用されます

Postgres でロール、特権、ロール メンバーシップがどのように機能するかを確認するには、Postgres ドキュメントの次のリソースを使用します。

Azure Databricks ID の Postgres ロールを作成する

データベース インスタンス所有者のAzure Databricks ID の Postgres ロールが自動的に作成されます。 他のAzure Databricks ID のログインを許可するには、UI または PostgreSQL クエリを使用して追加のロールを作成します。

ロール管理アクションは、データベース インスタンスに付与されたアクセス許可によって制御されます。 ロールの管理を試みる前に、適切なレベルのアクセス権があることを確認します。

UI

CAN USEアクセス許可を持つユーザーは、既存のロールを表示したり、自分の ID のロールを追加したりできます。 CAN MANAGE を持つユーザーは、他のAzure Databricks ID のロールを作成し、任意のロールを削除できます。

  1. [アプリ] アイコンをクリックします。右上隅にあるアプリを選択し、Lakebase Postgres を選択します。
  2. [ プロビジョニング済み ] をクリックして、[ プロビジョニングされたインスタンス ] ページを開きます。
  3. データベース インスタンスを選択します。
  4. [Lakebase アプリ] サイドバーの [ ロール ] ページを選択します。
  5. [ ロールの追加] をクリックします。
  6. [ プリンシパル ] ドロップダウン メニューから、ユーザー、グループ、またはサービス プリンシパルを選択します。
  7. (省略可能) (すべてのデータへの読み取りおよび書き込みアクセス権) を付与するには、[databricks_superuser を選択します。
  8. (省略可能)CREATEDB、またはCREATEROLEを付与するBYPASSRLSを選択します。
  9. 追加をクリックします。

PostgreSQL

必要条件:

  • データベースに対する CREATE 権限と CREATE ROLE 権限が必要です。
  • Azure Databricks ID として認証する必要があります。 ネイティブ Postgres 認証セッションでは、Azure Databricks ロールを作成できません。
  • 認証トークンが有効である必要があります。

databricks_create_role拡張機能のdatabricks_auth関数を使用します。

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 コマンドを使用します。

Azure Databricks ID ロールを表示する

UI

[ ロール ] ページで、対応する Postgres ロールを持つユーザー、グループ、およびサービス プリンシパルを確認できます。

  1. [アプリ] アイコンをクリックします。右上隅にあるアプリを選択し、Lakebase Postgres を選択します。
  2. [ プロビジョニング済み ] をクリックして、[ プロビジョニングされたインスタンス ] ページを開きます。
  3. データベース インスタンスを選択します。
  4. [Lakebase アプリ] サイドバーの [ ロール ] ページを選択します。

PostgreSQL

databricks_list_roles 拡張機能の databricks_auth 関数を使用して、Postgres ロールとして認証するために追加されたすべてのAzure Databricks ID ロール (ユーザー、サービス プリンシパル、グループ) を一覧表示します。

CREATE EXTENSION IF NOT EXISTS databricks_auth;
SELECT * from databricks_list_roles;

Postgres ロールを削除する

UI

  1. [アプリ] アイコンをクリックします。右上隅にあるアプリを選択し、Lakebase Postgres を選択します。
  2. [ プロビジョニング済み ] をクリックして、[ プロビジョニングされたインスタンス ] ページを開きます。
  3. データベース インスタンスを選択します。
  4. [Lakebase アプリ] サイドバーの [ ロール ] ページを選択します。
  5. ドロップするロールの [ Kebab] メニュー アイコン をクリックし、[ ドロップ] をクリックします。
  6. (任意)削除する前に所有オブジェクトを再割り当てするには、所有オブジェクトを再割り当て をオンにします。
  7. [Confirm](確認) をクリックします。

PostgreSQL

任意の Postgres ロールと同じAzure Databricks ID ベースのロールを削除します。 ロールの削除については、PostgreSQL のドキュメントを参照してください。