Microsoft Fabric での SSIS と SQL データベースの統合

このチュートリアルでは、Microsoft OLE DB Driver for SQL Server を使用して、Microsoft Entra サービス プリンシパル認証を使用して、Microsoft Fabricで SSIS パッケージを SQL データベースに接続する方法について説明します。

Authentication

SSIS パッケージの実行には、通常エージェントによって非対話形式で行われるため、Microsoft Entra サービス プリンシパル認証を使用します。 この方法では、ユーザー プロンプトや多要素認証 (MFA) を使用せずに、セキュリティで保護されたアプリ専用アクセスが提供されます。 ワークスペースとアイテムのアクセス許可を通じて、最小特権アクセスを Fabric に適用できます。

サービス プリンシパル認証は、Microsoft OLE DB Driver for SQL Server バージョン 18.5.0 以降のバージョンの Authentication=ActiveDirectoryServicePrincipal のサポートに合わせて調整され、SSIS カタログ環境またはAzure Key Vaultにクライアント シークレットを格納するときの監査可能性とシークレットの検疫が向上します。

[前提条件]

  • SQL データベースを含むFabric ワークスペース。
  • サービス プリンシパルを登録する (アプリケーション登録)。
  • Fabric ワークスペースへのサービス プリンシパル アクセスを有効にします。
  • Microsoft OLE DB ドライバー for SQL Server バージョン 18.5.0 またはそれ以降のバージョン、MSOLEDBSQL19を含む。
  • Fabric SQL Database への送信ネットワーク アクセス (既定の接続ポリシー)。

SSIS OLE DB Connection Managerの構成

Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) を使用して、次の構成を行います。

  • 認証: ActiveDirectoryServicePrincipal

  • ユーザー名 (ユーザー ID): サービス プリンシパルのアプリケーション (クライアント) ID

  • パスワード: アプリ登録に関連付けられているクライアント シークレット

  • Initial Catalog: Fabric SQL データベース名([設定] → 接続文字列 より取得)

  • サーバー名 (データ ソース): FABRIC SQL ホスト (例: <server-unique-identifer>.database.fabric.microsoft.com)

    OLE DB コネクション マネージャー パート 1 のスクリーンショット

    OLE DB接続マネージャー第2部のスクリーンショット

SSIS パッケージの呼び出しアクティビティを使用してFabricで実行する

Invoke SSIS パッケージ アクティビティ を使用してFabricで実行する場合、パッケージで DontSaveSensitive 保護レベルが使用されている場合、資格情報はパッケージ ファイルに保持されません。 実行時に、SSIS パッケージの呼び出しアクティビティの [ 接続マネージャー ] タブから指定します。 または、パッケージ保護レベルを EncryptSensitiveWithPassword に設定して、パッケージ内の資格情報を暗号化することもできます。 その後、個々の接続マネージャー資格情報を指定する代わりに、実行時に SSIS パッケージの呼び出しアクティビティでパッケージ パスワードを指定します。

DontSaveSensitive の接続をオーバーライドする手順

  1. [SSIS パッケージの呼び出し] アクティビティで、[ 接続マネージャー ] タブを選択します。
  2. [+ 新規] を選択して、接続マネージャーのオーバーライド エントリを追加します。
  3. Name フィールドを、パッケージ内の OLE DB Connection Manager名と一致するように設定します。
  4. サービス プリンシパル認証の ユーザー名 (アプリケーション/クライアント ID) や パスワード (クライアント シークレット) など、接続プロパティを入力します。
  5. 資格情報を必要とする接続マネージャーごとに、この手順を繰り返します。

SSIS パッケージの呼び出しアクティビティの [接続マネージャー] タブのスクリーンショット。

EncryptSensitiveWithPassword のパッケージ パスワードを指定する手順

  1. SSIS パッケージで、 ProtectionLevel プロパティを EncryptSensitiveWithPassword に設定し、パッケージ パスワードを割り当てます。 これにより、パッケージ ファイル内のすべての機密データ (接続文字列、資格情報) が暗号化されます。
  2. [SSIS パッケージの呼び出し] アクティビティで、[ 設定] タブに移動します。
  3. [ 暗号化パスワード ] フィールドに、パッケージの暗号化に使用したのと同じパスワードを入力します。
  4. ランタイムは、埋め込まれた資格情報を自動的に復号化します。個々の接続マネージャーのオーバーライドは必要ありません。

SSIS パッケージの呼び出しアクティビティのパッケージ暗号化のスクリーンショット。

References