Microsoft.Extensions.Configuration 用の Azure Key Vault Secrets 構成プロバイダー

このAzure.Extensions.AspNetCore.Configuration.Secretsパッケージでは、Azure Key Vault シークレットを使用して構成値を格納できます。

作業の開始

パッケージをインストールする

NuGet を使用してパッケージをインストールします。

dotnet add package Azure.Extensions.AspNetCore.Configuration.Secrets

前提条件

このパッケージを使用するには、Azure サブスクリプションAzure Key Vaultが必要です。

新しいKey Vaultを作成するには、Azure PortalAzure PowerShell、または Azure CLI を使用します。 Azure CLI を使う例を次に示します。

az keyvault create --name MyVault --resource-group MyResourceGroup --location westus
az keyvault secret set --vault-name MyVault --name MySecret --value "hVFkk965BuUv"

Azure ロールベースのアクセス制御

Azure ロールベースのアクセス制御を使用する場合、認証する ID には、"Key Vault 閲覧者" ロールと "Key Vault シークレット ユーザー" ロールが必要です。 "Key Vault 閲覧者" ロールを使用すると、拡張機能はシークレットを一覧表示できます。一方、"Key Vault シークレット ユーザー" は値の取得を許可します。

az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}
az role assignment create --role "Key Vault Secrets User" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}

主要な概念

スレッド セーフ

すべてのクライアント インスタンス メソッドがスレッド セーフであり、相互に独立していることを保証します (ガイドライン)。 これにより、クライアント インスタンスの再利用に関する推奨事項は、スレッド間でも常に安全になります。

その他の概念

クライアント オプション | 応答 | へのアクセス実行時間の長い操作 | エラーの | 処理診断 | あざける | クライアントの有効期間

Azure Key Vault シークレットから初期化構成を読み込むには、 で ConfigurationBuilderAddAzureKeyVault呼び出します。

ConfigurationBuilder builder = new ConfigurationBuilder();
builder.AddAzureKeyVault(new Uri("<Vault URI>"), new DefaultAzureCredential());

IConfiguration configuration = builder.Build();
Console.WriteLine(configuration["MySecret"]);

Azure Identity ライブラリは、認証に対する Azure Active Directory のサポートを簡単に提供します。

次のステップ

詳細については、ASP.NET Coreの構成に関するページを参照してください。

共同作成

このプロジェクトでは、共同作成と提案を歓迎しています。 ほとんどの共同作成では、共同作成者使用許諾契約書 (CLA) にご同意いただき、ご自身の共同作成内容を使用する権利を Microsoft に供与する権利をお持ちであり、かつ実際に供与することを宣言していただく必要があります。 詳細については、「 cla.microsoft.com」を参照してください。

このプロジェクトでは、Microsoft オープン ソースの倫理規定を採用しています。 詳しくは、「Code of Conduct FAQ (倫理規定についてよくある質問)」を参照するか、opencode@microsoft.com 宛てに質問またはコメントをお送りください。

インプレッション数