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

データベースインスタンスへの認証

備考

プレビュー

この機能は、us-east-1us-west-2eu-west-1ap-southeast-1ap-southeast-2eu-central-1us-east-2ap-south-1の各地域でパブリック プレビュー段階です。

このページでは、Lakebaseデータベースインスタンスに対する認証方法について説明します。OAuth トークンを取得し、Databricks ID を使用して認証するか、パスワード付きのネイティブ Postgres ロールを使用して認証できます。

Databricks ID で認証する

Databricks ID として認証する場合は、OAuth トークンを生成し、Postgres に接続するときにパスワードとして使用する必要があります。

開始する前の考慮事項

  • OAuth トークンは 1 時間後に期限切れになりますが、有効期限はログイン時にのみ適用されます。開いている接続は、トークンの有効期限が切れてもアクティブなままです。ただし、トークンの有効期限が切れていると、認証を必要とする PostgreSQL コマンドは失敗します。

  • Postgres 認証に使用される OAuth トークンはワークスペース スコープであり、データベース インスタンスを所有するのと同じワークスペースに属している必要があります。クロスワークスペース トークン認証はサポートされていません。認証の詳細については、「 Databricks CLI の認証」を参照してください。

  • トークンベースの認証にはプレーンテキストのパスワードが必要なため、SSL接続のみが許可されます。トークンベースの認証で Postgres にアクセスするために使用するクライアント ライブラリが、SSL 接続を確立するように設定されていることを確認します。

ユーザーからマシンへのフローで OAuth トークンを取得する

データベースの所有者、管理者、または Databricks ID がデータベース インスタンスに対応する Postgres ロールを持っている場合は、UI、Databricks CLI、または Databricks SDK のいずれかから OAuth トークンを取得できます。Databricks CLI を使用して、トークンのスコープを適切に制限できます。

その他の Databricks ID ユーザーの場合は、OAuth トークンを取得するためのワークスペース レベルの承認手順については、「 OAuth を使用してユーザー アカウントで Databricks リソースへの対話型アクセスを承認 する」を参照してください。

データベース インスタンスの [ステータス][使用可能] の場合は、Databricks UI を使用して OAuth トークンを取得します。

  1. データベース・インスタンスの詳細 ページで、 OAuth トークンの取得 をクリックします。フラグは、トークンがいつ作成されたかを示します。
  2. OAuthToken のコピー 」をクリックして、トークンをクリップボードにコピーします。次の手順では、この値を指定された接続文字列に置き換える必要があります。
  3. 指定された 接続文字列 に続くコピーアイコンをクリックします。

マシン間フローで OAuth トークンを取得する

データベース・インスタンスへの安全で自動化された (マシン間) アクセスを有効にするには、OAuth サービスプリンシパルを使用して トークンを取得する必要があります。Databricksこのプロセスには、サービスプリンシパルの構成、資格情報の生成、および認証用の OAuth トークンのミントが含まれます。

  1. 無期限に有効な資格情報を持つサービスプリンシパルを構成します。 手順については、OAuthを用いて、サービスプリンシパルによるDatabricksリソースへのリソースへの無人アクセスを承認するを参照してください。
  2. 新しい OAuth トークンをサービスプリンシパルとして REST. 手順については、「 ワークスペース レベルのアクセス トークンを手動で生成する」を参照してください。
  3. 時間単位の有効期限前に OAuth トークンをローテーションします。
    • OAuth トークンの有効期限は、使用するたびに確認し、必要に応じて更新します。
    • または、バックグラウンド スレッドを設定して、現在の OAuth トークンを定期的に更新します。

Postgres のロールとパスワードで認証する

1 時間後に資格情報のローテーションをサポートしていないクライアントがある場合は、パスワードを使用してネイティブの Postgres ロールを作成できます。

  1. ワークスペースのサイドバーで「 コンピュート 」をクリックします。

  2. データベース・インスタンス タブをクリックします。

  3. 更新するデータベース・インスタンスを選択します。

  4. 右上の 「編集 」をクリックします。

  5. Postgres ネイティブ ロール ログインを有効にする をオンにします。

  6. 保存 をクリックします。

  7. Postgres にログインするか、SQL エディターを使用して、パスワード付きのロールを作成します。

    SQL
    CREATE ROLE new_role LOGIN PASSWORD 'your strong password';
  8. 新しいロールに追加の Postgres 権限を付与します。Postgres ロール権限の付与をご覧ください。

次のステップ

OAuth トークンを取得したら、データベース インスタンスに接続できます。