サービスプリンシパルを使用した Azure 認証
この記事では、アプリケーションインスタンスのIDとしてAzure ADサービスプリンシパルを使用して認証する方法について説明します。
一般的な必要条件
Azure Active Directoryで利用可能なアカウント。
利用可能なAzure MS SQL Server。
Azure Active Directoryが、アイデンティティとAzure SQLデータベースへのアクセスを一元管理するように設定されていること。
SQL Server用のMS ODBCドライバーがインストールされていること。現在のバージョンは17です。
AzureマネージドIDが作成されていること。オブジェクト(プリンシパル) IDが格納されていること。
Azureサービスプリンシパル、appId (ユーザーIDとして使用)、パスワードが格納されていること。
サービスプリンシパルに対応するユーザーがSQLデータベースに作成され、適切なロールがユーザーに割り当てられていること。
詳細については、Microsoftドキュメントポータルの「 Azure CLIでAzureサービスプリンシパルを作成する 」を参照してください。
DSN接続
DNSには、 データ接続マネージャー (DCM)を使用しても使用しなくても接続できます。
必要条件 : ODBCデータソースマネージャーで、ユーザーDSNまたはシステムDSNが、Azureサービスプリンシパル認証を使用するように設定されている。
DCMを使用しないDSN接続
データ入力ツールをDesignerキャンバスに配置します。
[ ファイルまたはデータベースを接続 ] フィールドで下向き矢印を選択します。
[ データソース ] から、[ Microsoft Azure SQLデータベース - ODBC ] を選択します。
ドロップダウンから、前提条件で作成されたDSNを選択します。
ユーザーIDとパスワードを入力します。
クエリビルダ で、データベースから任意のテーブルを選択します。
OK を選択します。
DCMを使用したDSN接続
DCMが有効になっていることを確認します。
データ入力ツールをDesignerキャンバスに配置します。
[ ファイルまたはデータベースを接続 ] フィールドで、[ 接続を設定します ] を選択します。
[ データソース ] から [ Microsoft Azure SQLデータベース - ODBC ] を選択します。
[ データソースの追加 ] ボタンを選択します。
わかりやすいデータソース名を入力します。
ODBCデータソースマネージャーで作成したDSNの名前を入力し、[ 保存 ] を選択します。
[ 資格情報の接続 ] を選択します。
[ 認証方法 ] で [ ユーザー名とパスワード ] を選択します。
資格情報 として、[ 新しい資格情報の作成 ] を選択します。
資格情報としてわかりやすい名前を入力します。
ユーザー名 と パスワード を入力します。
[ 作成/リンク ] を選択します。
接続 を選択します。
クエリビルダ で、データベースから任意のテーブルを選択します。
OK を選択します。
DSNレス接続
データ接続マネージャー (DCM)を使用しても使用しなくても、DSNレス接続を確立できます。
DCMを使用しないDSNレス接続
データ入力ツールをDesignerキャンバスに配置します。
[ ファイルまたはデータベースを接続 ] フィールドに次の接続文字列を入力します。
odbc:Driver={ODBC Driver 17 for SQL Server};Server=tcp:<_your_server_>,1433;Database=<_your_db_>;UID=<_your_user_id_>;PWD=<_your_password_>;Authentication=ActiveDirectoryServicePrincipal
<と>の間のテキストを実際の値に置き換えます。
[ テーブルまたはクエリ ] オプションの横にある3ドットアイコンを選択します。
クエリビルダ で、データベースから任意のテーブルを選択します。
OK を選択します。
DCMを使用したDSNレス接続
DCMが有効になっていることを確認します。
データ入力ツールをDesignerキャンバスに配置します。
[ ファイルまたはデータベースを接続 ] フィールドで、[ 接続を設定します ] を選択します。
[ データソース ] から [ Microsoft SQL Server -クイック接続 ] を選択します。
[ データソースの追加 ] ボタンを選択します。
データソース名、実際のサーバー、データベース名にわかりやすい名前を指定します。
[ ドライバー ] が [ ODBC Driver 17 for SQL Server ] に設定されていることを確認します。
[ 保存 ] ボタンを選択します。
[ 資格情報の接続 ] を選択します。
認証方法 として [ Azure Active Directoryサービスプリンシパル ] を選択または入力し、[ リンク ] を選択します。
[ 新しい資格情報の作成 ] を選択します。
資格情報名 、 クライアントID 、 クライアントシークレット にわかりやすい名前を入力します。
[作成とリンク] ボタンを選択します。
接続 を選択します。
クエリビルダ で、データベースから任意のテーブルを選択します。
OK を選択します。