サービス コネクタを使用して Azure App Configuration を統合する

このページでは、サポートされている認証方法とクライアントを示し、Service Connector を使用して Azure App Configuration を他のクラウド サービスに接続するために使用できるサンプル コードを示します。 引き続き他のメソッドを使用して App Configuration に接続できる場合があります。 このページには、サービス接続を作成するときに取得する既定の環境変数の名前と値も示されています。

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

Service Connector を使用して、次のコンピューティング サービスを Azure アプリ Configuration に接続できます。

  • Azure App Service
  • Azure Functions
  • Azure Container Apps
  • Azure Spring Apps

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

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

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

この表は、表内のクライアント・タイプと認証方法のすべての組み合わせがサポートされていることを示しています。 すべてのクライアントの種類では、任意の認証方法を使用して、Service Connector を使用して Azure アプリ Configuration に接続できます。

デフォルトの環境変数の名前またはアプリケーションのプロパティとサンプル コード

下の接続の詳細を使用して、コンピューティング サービスを Azure App Configuration ストア に接続します。 名前付け規則の詳細については、Service Connector の内部の記事を参照してください。

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

既定の環境変数名 説明 サンプルの値
AZURE_APPCONFIGURATION_ENDPOINT App Configuration のエンドポイント https://<App-Configuration-name>.azconfig.io

サンプル コード

次のステップとコードへ参照して、システム割り当てマネージド ID を使用してAzure App Configurationに接続します。

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

    dotnet add package Microsoft.Extensions.Configuration.AzureAppConfiguration
    dotnet add package Azure.Identity
    
  2. Azure.Identity を使用して認証し、Service Connector によって追加された環境変数から Azure App Configuration エンドポイントを取得します。 次のコードを使用する場合は、使用する認証型のコード スニペットの一部をコメント解除します。

    using Azure.Identity;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_ENDPOINT");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    var client = new ConfigurationClient(new Uri(endpoint), credential);
    

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

既定の環境変数名 説明 サンプルの値
AZURE_APPCONFIGURATION_ENDPOINT App Configuration のエンドポイント https://App-Configuration-name>.azconfig.io
AZURE_APPCONFIGURATION_CLIENTID クライアント ID <client-ID>

サンプル コード

次のステップとコードへ参照して、ユーザー割り当てマネージド ID を使用してAzure App Configurationに接続します。

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

    dotnet add package Microsoft.Extensions.Configuration.AzureAppConfiguration
    dotnet add package Azure.Identity
    
  2. Azure.Identity を使用して認証し、Service Connector によって追加された環境変数から Azure App Configuration エンドポイントを取得します。 次のコードを使用する場合は、使用する認証型のコード スニペットの一部をコメント解除します。

    using Azure.Identity;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_ENDPOINT");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    var client = new ConfigurationClient(new Uri(endpoint), credential);
    

接続文字列

既定の環境変数名 説明 サンプルの値
AZURE_APPCONFIGURATION_CONNECTIONSTRING App Configuration の接続文字列 Endpoint=https://<App-Configuration-name>.azconfig.io;Id=<ID>;Secret=<secret>

サンプル コード

次のステップとコードへ参照して、接続文字列 を使用してAzure App Configurationに接続します。

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

    dotnet add package Microsoft.Extensions.Configuration.AzureAppConfiguration
    
  2. Service Connector によって追加された環境変数から そのApp Configuration接続文字列を取得します。

    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    
    var connectionString = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_CONNECTIONSTRING");
    var builder = new ConfigurationBuilder();
    builder.AddAzureAppConfiguration(connectionString);
    
    var config = builder.Build();
    

サービス プリンシパル

既定の環境変数名 説明 サンプルの値
AZURE_APPCONFIGURATION_ENDPOINT App Configuration のエンドポイント https://<AppConfigurationName>.azconfig.io
AZURE_APPCONFIGURATION_CLIENTID クライアント ID <client-ID>
AZURE_APPCONFIGURATION_CLIENTSECRET クライアント シークレット <client-secret>
AZURE_APPCONFIGURATION_TENANTID テナント ID <tenant-ID>

サンプル コード

次のステップとコードへ参照して、サービス プリンシパル を使用してAzure App Configurationに接続します。

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

    dotnet add package Microsoft.Extensions.Configuration.AzureAppConfiguration
    dotnet add package Azure.Identity
    
  2. Azure.Identity を使用して認証し、Service Connector によって追加された環境変数から Azure App Configuration エンドポイントを取得します。 次のコードを使用する場合は、使用する認証型のコード スニペットの一部をコメント解除します。

    using Azure.Identity;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Configuration.AzureAppConfiguration;
    
    string endpoint = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_ENDPOINT");
    
    // Uncomment the following lines corresponding to the authentication type you want to use.
    // system-assigned managed identity
    // var credential = new DefaultAzureCredential();
    
    // user-assigned managed identity
    // var credential = new DefaultAzureCredential(
    //     new DefaultAzureCredentialOptions
    //     {
    //         ManagedIdentityClientId = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_CLIENTID");
    //     });
    
    // service principal 
    // var tenantId = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_TENANTID");
    // var clientId = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_CLIENTID");
    // var clientSecret = Environment.GetEnvironmentVariable("AZURE_APPCONFIGURATION_CLIENTSECRET");
    // var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
    
    var client = new ConfigurationClient(new Uri(endpoint), credential);
    

次のステップ

Service Connector の詳細については、以下のチュートリアルに従ってください。