クイック スタート:Synapse で Azure Machine Learning のリンクされたサービスを新規作成する
重要。以下の制限事項に注意してください:
- Azure Machine Learning 統合は、現在、データ流出保護を使用した Synapse ワークスペースではサポートされていません。 データ侵入保護を使用していない場合に、プライベート エンドポイントを使用して Azure Machine Learning に接続する場合は、Synapse ワークスペースでマネージド Azure Machine Learning プライベート エンドポイントを設定できます。 マネージド プライベート エンドポイントの詳細を参照してください。
- AzureML のリンクされたサービスは、セルフホステッド統合ランタイムではサポートされていません。 これは、Data Exfiltration Protection の有無に関係なく Synapse ワークスペースに適用されます。
- Azure Synapse Spark 3.3 および 3.4 ランタイムでは、Azure Machine Learning のリンク サービスを使用して Azure Machine Learning MLFlow 追跡 URI に対して認証を行うことをサポートしていません。 これらのランタイムの制限の詳細については、Azure Synapse Runtime for Apache Spark 3.3 と Azure Synapse Runtime for Apache Spark 3.4 に関する記事を参照してください
このクイックスタートでは、Azure Synapse Analytics ワークスペースを Azure Machine Learning ワークスペースにリンクします。 これらのワークスペースをリンクすると、Synapse のさまざまなエクスペリエンスから Azure Machine Learning を利用できるようになります。
たとえば、Azure Machine Learning ワークスペースにリンクすると、次のようなエクスペリエンスが可能になります。
Azure Machine Learning パイプラインを Synapse パイプラインのステップとして実行する。 詳細については、Azure Machine Learning パイプラインの実行に関する記事を参照してください。
Azure Machine Learning モデル レジストリから機械学習モデルをコピーすることで、予測によってデータを強化し、Synapse SQL プールでモデルにスコアを付けます。 詳細については、「チュートリアル: Synapse SQL プール向けの機械学習モデル スコアリング ウィザード」を参照してください。
2 種類の認証
Azure Synapse で Azure Machine Learning リンク サービスを作成する際に使用できる ID には 2 種類あります。
- Synapse ワークスペースのマネージド ID
- サービス プリンシパル
次のセクションでは、これら 2 種類の認証を使用して Azure Machine Learning リンク サービスを作成する方法について説明します。
前提条件
- Azure サブスクリプションが必要です。 必要に応じて、無料の Azure アカウントを作成します。
- ADLS Gen2 ストレージ アカウントが既定のストレージとして構成されている Synapse Analytics ワークスペース。 使用する ADLS Gen2 ファイル システムのストレージ BLOB データ共同作成者である必要があります。
- Azure Machine Learning ワークスペース。
- サービス プリンシパルの使用を選択した場合、リンク サービスの作成に使用できるサービス プリンシパルとシークレットを作成するには、アクセス許可 (またはアクセス許可を持つユーザーからの要求) が必要です。 このサービス プリンシパルには Azure Machine Learning ワークスペースの共同作成者ロールが割り当てられている必要があることに注意してください。
- Azure ポータル
Synapse ワークスペース マネージド ID を使用してリンク サービスを作成する
このセクションでは、Azure Synapse ワークスペース マネージド ID を使用して、Azure Synapse で Azure Machine Learning リンク サービスを作成する方法について説明します
Azure Machine Learning ワークスペースに MSI アクセス許可を付与する
Azure portal で Azure Machine Learning ワークスペース リソースに移動し、 [アクセス制御] を選択します
ロールの割り当てを作成し、Synapse ワークスペース マネージド サービス ID (MSI) を Azure Machine Learning ワークスペースの "共同作成者" として追加します。 これは、Azure Machine Learning ワークスペースが属しているリソース グループの所有者である必要があることに注意してください。 Synapse ワークスペース MSI が見つからない場合は、Synapse ワークスペースの名前を検索してください。
Azure Machine Learning のリンク サービスを作成する
新しい Azure Machine Learning リンク サービスを作成する Synapse ワークスペースで、[管理]>[リンク サービス] に移動し、タイプを "Azure Machine Learning" として新しいリンク サービスを作成します。
以下をフォームに入力します。
リンク先の Azure Machine Learning ワークスペースの詳細を指定します。 たとえば、サブスクリプションとワークスペース名の詳細です。
[認証方法] として [マネージド ID] を選択します
[接続のテスト] をクリックして、構成が正しいかどうかを確認します。 接続テストが成功した場合は、 [保存] をクリックします。
接続テストに失敗した場合は、この Azure Machine Learning ワークスペースにアクセスするためのアクセス許可が Azure Synapse ワークスペース MSI にあることを確認して再試行します。
サービス プリンシパルを使用してリンク サービスを作成する
このセクションでは、サービス プリンシパルを使用して Azure Machine Learning リンク サービスを作成する方法について説明します。
サービス プリンシパルの作成
この手順では、新しいサービス プリンシパルを作成します。 既存のサービス プリンシパルを使用する場合は、次の手順をスキップできます。
Azure portal を開きます。
[Microsoft Entra ID] ->[アプリの登録] の順に移動します。
[新規登録] をクリックします。 次に、指示に従って、新しいアプリケーションを登録します。
アプリケーションが登録されたら、アプリケーションのシークレットを生成します。 [アプリケーション] ->[証明書 & シークレット] の順に移動します。 [クライアント シークレットを追加] をクリックして、シークレットを生成します。 シークレットは安全に保管してください。これは後で使用します。
アプリケーション用にサービス プリンシパルを作成します。 [アプリケーション] ->[概要] の順に移動し、[サービス プリンシパルの作成] をクリックします。 場合によっては、このサービス プリンシパルは自動的に作成されます。
サービス プリンシパルを Azure Machine Learning ワークスペースの "共同作成者" として追加します。 これは、Azure Machine Learning ワークスペースが属しているリソース グループの所有者である必要があることに注意してください。
Azure Machine Learning のリンク サービスを作成する
新しい Azure Machine Learning リンク サービスを作成する Synapse ワークスペースで、[管理] ->[リンク サービス] に移動し、タイプを "Azure Machine Learning" として新しいリンク サービスを作成します。
以下をフォームに入力します。
リンク先の Azure Machine Learning ワークスペースの詳細を指定します。 たとえば、サブスクリプションとワークスペース名の詳細です。
[認証方法] として [サービス プリンシパル] を選択します。
サービス プリンシパル ID: これはアプリケーションのアプリケーション (クライアント) ID です。
Note
この ID はアプリケーションの名前ではありません。 この ID は、アプリケーションの ID の概要ページで確認できます。 これは、"81707eac-ab38-406u-8f6c-10ce76a568d5" のような長い文字列になります。
- サービス プリンシパルのキー: 前のセクションで生成したシークレットです。
[接続のテスト] をクリックして、構成が正しいかどうかを確認します。 接続テストが成功した場合は、 [保存] をクリックします。
接続テストが失敗した場合は、サービス プリンシパル ID とシークレットが正しいことを確認してから、もう一度やり直してください。