メインコンテンツまでスキップ

認証について

備考

ベータ版

Lakebase Postgres (オートスケール Beta) は、 Lakebase の次のバージョンであり、評価のみに利用できます。 本番運用ワークロードの場合は、 Lakebase Public Previewを使用します。 どのバージョンが適しているかを判断するには、バージョンの選択を参照してください。

Lakebase データベース プロジェクトでの認証の仕組みを学習します。詳細な接続手順については、 「接続の概要」を参照してください。

概要

Lakebase は、それぞれ異なるユースケース向けに設計された 2 つの認証方法をサポートしています。

OAuth仮想認証: 時間制限のあるOAuth仮想マシンを持つDatabricks ID を使用します。 最適な用途:

  • トークンを更新できるインタラクティブセッション
  • ワークスペース統合ワークフロー
  • Databricksで認証を管理したい場合

ネイティブ Postgres パスワード認証: パスワードを使用した従来の Postgres ロールを使用します。最適な用途:

  • 1時間ごとに認証情報を更新できないアプリケーション
  • 長時間実行されるプロセス
  • トークンローテーションをサポートしていないツール
注記

Databricks ID と Postgres ロールは別個のシステムであり、自動同期は行われません。Databricks ID が Postgres を介してデータベースにアクセスできるようにするには、対応する Postgres ロールを作成する必要があります。「Postgres ロールの作成と管理」を参照してください。

接続タイムアウト

認証方法に関係なく、すべてのデータベース接続には次の制限が適用されます。

  • 24 時間アイドル タイムアウト: 24 時間アクティビティがない接続は自動的に閉じられます。
  • 最大 3 日間の接続寿命: 3 日を超えて存続している接続は、アクティビティに関係なく閉じられる場合があります。

適切なタイムアウト設定を使用して接続再試行ロジックを実装し、接続タイムアウトを適切に処理するようにアプリケーションを設計します。

OAuth認証

OAuth トークン認証を使用すると、Databricks ID を使用して接続できます。Lakebase UI から時間制限のある OAuth トークンを生成し、Postgres に接続するときにパスワードとして使用します。

プロジェクトオーナーの OAuth ロールは自動的に作成されます。他の Databricks ID の OAuth 認証を有効にするには、 databricks_auth拡張機能と SQL を使用して Postgres ロールを作成する必要があります。「SQL を使用して DB ID の OAuth ロールを作成する」を参照してください。

OAuthバンクの仕組み

  • OAuth 有効期限: OAuth 1 時間後に期限切れになります。
  • 有効期限の適用: トークンの有効期限はログイン時にのみ適用されます。トークンの有効期限が切れた後も、開いている接続はアクティブなままになります。
  • 再認証: トークンの有効期限が切れると、すべての Postgres クエリまたはコマンドが失敗します。
  • 一回更新: インタラクティブなセッションの場合、必要に応じて UI から新しい一回を生成します。

要件と制限

  • 対応する Postgres ロールが必要です : Databricks ID には対応する Postgres ロールが必要です。プロジェクトオーナーのロールは自動的に作成されます。その他の Databricks ID の場合は、 databricks_auth拡張機能を使用してロールを作成します。
  • ワークスペースのスコープ : OAuthインストールはワークスペースのスコープであり、データベース プロジェクトを所有する同じワークスペースに属している必要があります。 ワークスペース間のトークン認証はサポートされていません。
  • SSL が必要 : トークンベースの認証には SSL 接続が必要です。すべてのクライアントは SSL (通常はsslmode=require ) を使用するように構成する必要があります。

OAuthローンの取得

OAuth トークンは Lakebase UI から取得できます。詳細な手順については、 「OAuth ロールを使用して接続する」を参照してください。

Postgresのパスワード認証

ネイティブ Postgres パスワード認証では、パスワードを使用した従来の Postgres ロールが使用されます。OAuth トークンとは異なり、これらのパスワードは 1 時間経過しても期限切れにならないため、頻繁な資格情報のローテーションを処理できないアプリケーションに適しています。

Postgresパスワードを使用する場合

次の場合に Postgres パスワード認証を使用します。

  • アプリケーションまたはツールは1時間ごとに認証情報を更新できません
  • 安定した資格情報を必要とする長時間実行されるプロセスがある
  • クライアント ライブラリは OAuth トークンのローテーションをサポートしていません
  • 互換性のために従来のデータベース認証が必要です

Postgresのパスワードの仕組み

  • パスワードの有効期間 : パスワードは自動的に期限切れにならない
  • ワークスペース統合なし : 認証は Databricks ワークスペース認証ではなく Postgres によって処理されます
  • 手動管理 : パスワードは手動でローテーションし、ユーザーに配布する必要があります。
  • 接続タイムアウトは引き続き適用されます : パスワードに有効期限はありませんが、接続には24時間のアイドルタイムアウトと最大7日間の接続寿命が適用されます。

セキュリティに関する考慮事項

  • パスワードの保存 : 環境変数または秘密管理システムを使用してパスワードを安全に保存します
  • SSL が必要です : すべての接続で SSL を使用する必要があります ( sslmode=require )
  • パスワードの配布 : ロールを作成するときにパスワードを 1 回だけ受け取ります。安全に保管してください

次のステップ

  • 接続の概要- OAuth トークンまたは Postgres パスワードを使用して接続するための手順
  • Postgres ロールの管理- データベース アクセス用の Postgres ロールを作成および管理します
  • 権限の管理- Postgres ロールにデータベース権限を付与する
  • データのクエリ- データベースをクエリするためのさまざまなオプションについて学習します