Skip to main content

サービスプリンシパルを使用した 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サービスプリンシパル認証を使用するように設定されている。

DNS Settings

DCMを使用しないDSN接続

  1. データ入力ツールをDesignerキャンバスに配置します。

  2. [ ファイルまたはデータベースを接続 ] フィールドで下向き矢印を選択します。

  3. [ データソース ] から、[ Microsoft Azure SQLデータベース - ODBC ] を選択します。

  4. ドロップダウンから、前提条件で作成されたDSNを選択します。

  5. ユーザーIDとパスワードを入力します。

    Provide User ID and Password
  6. クエリビルダ で、データベースから任意のテーブルを選択します。

  7. OK を選択します。

DCMを使用したDSN接続

  1. DCMが有効になっていることを確認します。

  2. データ入力ツールをDesignerキャンバスに配置します。

  3. [ ファイルまたはデータベースを接続 ] フィールドで、[ 接続を設定します ] を選択します。

  4. [ データソース ] から [ Microsoft Azure SQLデータベース - ODBC ] を選択します。

  5. [ データソースの追加 ] ボタンを選択します。

  6. わかりやすいデータソース名を入力します。

  7. ODBCデータソースマネージャーで作成したDSNの名前を入力し、[ 保存 ] を選択します。

    Enter DNS name
  8. [ 資格情報の接続 ] を選択します。

    Click Connect Credentials
  9. [ 認証方法 ] で [ ユーザー名とパスワード ] を選択します。

  10. 資格情報 として、[ 新しい資格情報の作成 ] を選択します。

  11. 資格情報としてわかりやすい名前を入力します。

  12. ユーザー名 パスワード を入力します。

  13. [ 作成/リンク ] を選択します。

    Click Create and Link
  14. 接続 を選択します。

    Click Connect
  15. クエリビルダ で、データベースから任意のテーブルを選択します。

  16. OK を選択します。

DSNレス接続

データ接続マネージャー (DCM)を使用しても使用しなくても、DSNレス接続を確立できます。

DCMを使用しないDSNレス接続

  1. データ入力ツールをDesignerキャンバスに配置します。

  2. [ ファイルまたはデータベースを接続 ] フィールドに次の接続文字列を入力します。

    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. [ テーブルまたはクエリ ] オプションの横にある3ドットアイコンを選択します。

  4. クエリビルダ で、データベースから任意のテーブルを選択します。

  5. OK を選択します。

DCMを使用したDSNレス接続

  1. DCMが有効になっていることを確認します。

  2. データ入力ツールをDesignerキャンバスに配置します。

  3. [ ファイルまたはデータベースを接続 ] フィールドで、[ 接続を設定します ] を選択します。

  4. [ データソース ] から [ Microsoft SQL Server -クイック接続 ] を選択します。

  5. [ データソースの追加 ] ボタンを選択します。

  6. データソース名、実際のサーバー、データベース名にわかりやすい名前を指定します。

  7. [ ドライバー ] が [ ODBC Driver 17 for SQL Server ] に設定されていることを確認します。

  8. [ 保存 ] ボタンを選択します。

    Click Save
  9. [ 資格情報の接続 ] を選択します。

  10. 認証方法 として [ Azure Active Directoryサービスプリンシパル ] を選択または入力し、[ リンク ] を選択します。

  11. [ 新しい資格情報の作成 ] を選択します。

  12. 資格情報名 クライアントID クライアントシークレット にわかりやすい名前を入力します。

  13. [作成とリンク] ボタンを選択します。

    Click Create and Link
  14. 接続 を選択します。

    Click Connect
  15. クエリビルダ で、データベースから任意のテーブルを選択します。

  16. OK を選択します。