次の方法で共有


SQL Server フェデレーション用に Microsoft Entra ID を構成する

このページでは、Microsoft Entra ID 認証を使用して Microsoft SQL Server でフェデレーション クエリを実行するように Databricks Lakehouse フェデレーションを構成する方法について説明します。 ユーザー間 (U2M) とマシン間 (M2M) OAuth フローの両方がサポートされています。

サポートされている OAuth フロー

  • U2M: Microsoft アカウントを使用して認証します。 ユーザーはリダイレクト URI を使用してサインインするように求められます。アクセス トークンはユーザーに対して発行されます。
  • M2M: サービス プリンシパルを使用して認証します。 アクセス トークンは、特定のユーザーではなく、アプリケーションに対して発行されます。

Databricks ワークスペースでは、 OAuth は U2M 認証を参照し、 OAuth Machine to Machine は M2M 認証を参照します。

開始する前に

Entra ID を使用して SQL Server でフェデレーション クエリを実行するには、次のものが必要です。

  • Azure サブスクリプションへのアクセスと、Microsoft Entra ID でアプリケーションを登録するためのアクセス許可。
  • Entra プリンシパルを作成するための SQL Server インスタンスへの管理者アクセス。

アプリケーションを Microsoft Entra ID に登録します

認証用のアプリケーション登録を作成するには、次の手順を実行します。

  1. Azure portal にサインインします。
  2. Microsoft Entra ID>App registrations>New registration に移動します。
  3. アプリの名前を入力します。
    • U2M (OAuth) の場合、リダイレクト URI を次のように設定します。https://<workspace-url>/login/oauth/azure.html
    • M2M (サービス プリンシパル) の場合、リダイレクト URI は空のままにします。
  4. [登録] をクリックします。
  5. アプリケーション (クライアント) IDディレクトリ (テナント) ID をコピーします
  6. [証明書とシークレット>新しいクライアント シークレット] に移動します。
  7. 生成されたシークレット値を保存します。

アプリケーションにアクセス許可を割り当てる

アプリケーションが SQL Server に対して認証できるようにするには、必要な API アクセス許可を割り当てます。

  1. API のアクセス許可に移動します>アクセス許可を追加します
  2. Azure SQL Database>user_impersonation (委任された権限) を選択します。
  3. M2M の場合は、アプリにサービス プリンシパル認証に必要なアクセス許可があることを確認します。
  4. Azure SQL Managed Instance での M2M 認証の場合は、 マネージド インスタンス ID が "ディレクトリ閲覧者" ロールに割り当てられていることを確認します。

SQL Server でサービス プリンシパルを作成する (M2M のみ)

  1. Entra ID ログイン資格情報を使用して SQL Server インスタンスに接続します。 新しいユーザーを作成するためのアクセス許可が必要です。

  2. Entra アプリの新しいログインとユーザーを作成します。

  3. ユーザーに読み取りアクセス許可を付与します。

    CREATE LOGIN [<app_name>] FROM EXTERNAL PROVIDER;
    CREATE USER [<app_name>] FROM LOGIN [<app_name>];
    ALTER ROLE db_datareader ADD MEMBER [<app_name>];
    

詳細と高度なシナリオについては、Microsoft ドキュメントの次のページを参照してください。

接続を作成する

Databricks ワークスペースで、次の操作を行います。

  1. サイドバーで[c0]カタログ[c1]をクリックし、[c2]追加[c3][c4]接続の追加[c3]をクリックします。
  2. [ 接続の種類] で、[ SQL Server] を選択します。
  3. 認証の種類として、OAuth (U2M) または OAuth Machine to Machine (M2M) を選択します。
  4. 次の接続プロパティを入力します。
    • ホスト: SQL Server ホスト名。
    • ポート: SQL Server ポート。
    • ユーザー: U2M の場合、Microsoft アカウント ユーザー。 M2M の場合、サービス プリンシパル名。
    • Entra アプリの登録から クライアント IDクライアント シークレット を入力します。
    • 承認エンドポイントを入力します。
      • U2M: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize
      • M2M: https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token
    • OAuth スコープに「https://database.windows.net/.default offline_access」と入力します (U2M のみ)。
  5. U2M の場合は、[ Azure Entra ID でサインイン ] をクリックし、認証フローを完了します。
  6. [ 接続の作成 ] をクリックし、カタログの作成に進みます。

次のステップ

SQL Server への接続が作成されたので、次のことができます。