次の方法で共有


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

このページでは、サポートされている認証方法とクライアント、およびサービス コネクタを使ってコンピューティング サービスを Azure SQL Database に接続するために使用できるサンプル コードを示します。 その場合でも、他の方法を使って Azure SQL Database に接続できることがあります。 このページには、サービス接続を作成するときに取得する既定の環境変数の名前と値も示されています。

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

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

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

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

次の表は、サービス コネクタを使った Azure SQL Database へのコンピューティング サービスの接続でサポートされている認証方法とクライアントの組み合わせを示したものです。 "はい" はその組み合わせがサポートされていることを示し、"いいえ" はサポートされていないことを示します。

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

この表では、シークレットと接続文字列の方法がすべてのクライアントの種類でサポートされていることが示されています。 システム割り当てマネージド ID、ユーザー割り当てマネージド ID、サービス プリンシパルの方法は、.NET、Java、Java - Spring Boot、Node.js、Python、なしの各クライアントの種類でサポートされています。 これらの方法は、Go、PHP、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. サービス コネクタによって追加された環境変数から 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. サービス コネクタによって追加された環境変数から 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 に対するクライアント プログラミングのホーム ページ」を参照してください。

Connection String

警告

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. サービス コネクタによって追加された環境変数から 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. サービス コネクタによって追加された環境変数から 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 の詳細については、以下のチュートリアルに従ってください。