次の方法で共有


Service Connector を使用して Azure SQL Database を統合する

この記事では、Service Connector を使用してアプリを Azure SQL Database に接続するために使用できる、サポートされている認証方法とクライアントについて説明します。 サポートされている各メソッドについて、サンプル コードを提供し、サービス接続の作成時に取得した既定の環境変数の名前、値、および構成について説明します。

サポートされているコンピューティング サービス

サービス コネクタを使うと、次のコンピューティング サービスを Azure SQL Database に接続できます。

  • Azure App Service
  • Azure Container Apps
  • Azure Functions
  • Azure Kubernetes Service (AKS)
  • Azure Spring Apps

サポートされている認証の種類とクライアント

次の表は、Service Connector を使用してコンピューティング サービスを Azure SQL Database に接続するためにサポートされる認証方法とクライアントの組み合わせを示しています。 [はい] は組み合わせがサポートされていることを示し、No はサポートされていないことを示します。

クライアントの種類 システム割り当てマネージド ID ユーザー割り当てマネージド ID シークレット/接続文字列 サービス プリンシパル
.NET はい はい はい はい
Go いいえ いいえ はい いいえ
Java はい はい はい はい
Java - Spring Boot はい はい はい はい
Node.js はい はい はい はい
PHP いいえ いいえ はい いいえ
Python はい はい はい はい
Python - Django いいえ いいえ はい いいえ
Ruby いいえ いいえ はい いいえ
なし はい はい はい はい

Note

システム割り当てマネージド ID、ユーザー割り当てマネージド ID、サービス プリンシパル認証は、Azure CLI でのみサポートされます。

既定の環境変数名またはアプリケーション プロパティとサンプル コード

コンピューティング サービスを Azure SQL Database に接続するには、次の接続の詳細を使用します。 各例で、 <sql-server><sql-database><sql-username><sql-password> のプレースホルダー テキストを、独自のサーバー名、データベース名、ユーザー ID、パスワードに置き換えます。 名前付け規則の詳細については、「Service Connector の内部構造」を参照してください。

システム割り当てマネージド ID

既定の環境変数名 説明 値の例
AZURE_SQL_CONNECTIONSTRING Azure SQL Database の接続文字列 Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Authentication=ActiveDirectoryManagedIdentity

サンプル コード

システム割り当てマネージド ID を使用して Azure SQL Database に接続するには、次の手順とサンプル コードを参照してください。

  1. 依存関係をインストールします。

    dotnet add package Microsoft.Data.SqlClient
    
  2. Service Connector によって追加された環境変数から Azure SQL Database 接続文字列を取得します。

    using Microsoft.Data.SqlClient;
    
    string connectionString = 
        Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
    
    using var connection = new SqlConnection(connectionString);
    connection.Open();
    

    詳細については、「Active Directory Managed Identity 認証の使用」を参照してください。

詳細については、「Microsoft SQL Server に対するクライアント プログラミングのホーム ページ」を参照してください。

ユーザー割り当てマネージド ID

既定の環境変数名 説明 値の例
AZURE_SQL_CONNECTIONSTRING Azure SQL Database の接続文字列 Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<identity-client-ID>;Authentication=ActiveDirectoryManagedIdentity

サンプル コード

ユーザー割り当てマネージド ID を使用して Azure SQL Database に接続するには、次の手順とサンプル コードを参照してください。

  1. 依存関係をインストールします。

    dotnet add package Microsoft.Data.SqlClient
    
  2. Service Connector によって追加された環境変数から Azure SQL Database 接続文字列を取得します。

    using Microsoft.Data.SqlClient;
    
    string connectionString = 
        Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
    
    using var connection = new SqlConnection(connectionString);
    connection.Open();
    

    詳細については、「Active Directory Managed Identity 認証の使用」を参照してください。

詳細については、「Microsoft SQL Server に対するクライアント プログラミングのホーム ページ」を参照してください。

接続文字列

警告

Microsoft では、利用可能な最も安全な認証フローを使用することをお勧めします。 この手順で説明する認証フローでは、アプリケーションに対する高度な信頼が必要であり、他のフローに存在しないリスクが伴います。 このフローは、マネージド ID など、より安全な他のフローが利用できない場合にのみ使用してください。

既定の環境変数名 説明 値の例
AZURE_SQL_CONNECTIONSTRING Azure SQL Database の接続文字列 Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;Password=<sql-password>

サンプル コード

接続文字列を使用して Azure SQL Database に接続するには、次の手順とサンプル コードを参照してください。

  1. 依存関係をインストールします。

    dotnet add package Microsoft.Data.SqlClient
    
  2. Service Connector によって追加された環境変数から Azure SQL Database 接続文字列を取得します。

    using Microsoft.Data.SqlClient;
    
    string connectionString = 
        Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
    
    using var connection = new SqlConnection(connectionString);
    connection.Open();
    

詳細については、「Microsoft SQL Server に対するクライアント プログラミングのホーム ページ」を参照してください。

サービス プリンシパル

既定の環境変数名 説明 値の例
AZURE_SQL_CLIENTID クライアント ID <client-ID>
AZURE_SQL_CLIENTSECRET クライアント シークレット <client-secret>
AZURE_SQL_TENANTID テナント ID <tenant-ID>
AZURE_SQL_CONNECTIONSTRING Azure SQL Database の接続文字列 Data Source=<sql-server>.database.windows.net,1433;Initial Catalog=<sql-database>;User ID=<client-Id>;Password=<client-secret>;Authentication=ActiveDirectoryServicePrincipal

サンプル コード

サービス プリンシパルを使用して Azure SQL Database に接続するには、次の手順とサンプル コードを参照してください。

  1. 依存関係をインストールします。

    dotnet add package Microsoft.Data.SqlClient
    
  2. Service Connector によって追加された環境変数から Azure SQL Database 接続文字列を取得します。

    using Microsoft.Data.SqlClient;
    
    string connectionString = 
        Environment.GetEnvironmentVariable("AZURE_SQL_CONNECTIONSTRING")!;
    
    using var connection = new SqlConnection(connectionString);
    connection.Open();
    

    詳細については、「Active Directory Managed Identity 認証の使用」を参照してください。

詳細については、「Microsoft SQL Server に対するクライアント プログラミングのホーム ページ」を参照してください。

次のステップ

Service Connector の詳細については、次のチュートリアルを参照してください。