You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If your secrets are kept in Azure Key Vault, then this config builder is for you. There are three additional attributes for this config builder. The `vaultName` is
191
-
required. The other attributes allow you some manual control about which vault to connect to, but are only necessary if the application is not running in an
192
-
environment that works magically with `Microsoft.Azure.Services.AppAuthentication`. The Azure Services Authentication library is used to automatically pick
193
-
up connection information from the execution environment if possible, but you can override that feature by providing a connection string instead.
194
-
*`vaultName` - This is a required attribute. It specifies the name of the vault in your Azure subscription from which to read key/value pairs.
195
-
*`connectionString` - A connection string usable by [AzureServiceTokenProvider](https://docs.microsoft.com/en-us/azure/key-vault/service-to-service-authentication#connection-string-support)
196
-
*`uri` - Connect to other Key Vault providers with this attribute. If not specified, Azure is the assumed Vault provider. If the uri _is_specified, then `vaultName` is no longer a required parameter.
197
-
*`version` - Azure Key Vault provides a versioning feature for secrets. If this is specified, the builder will only retrieve secrets matching this version.
198
-
*`preloadSecretNames` - By default, this builder will query __all__ the key names in the key vault when it is initialized. If this is a concern, set
199
-
this attribute to 'false', and secrets will be retrieved one at a time. This could also be useful if the vault allows "Get" access but not
200
-
"List" access. (NOTE: Disabling preload is incompatible with Greedy mode.)
201
-
Tip: Azure Key Vault uses random per-secret Guid assignments for versioning, which makes specifying a secret `version` tag on this builder rather
202
-
limiting, as it will only ever update one config value. To make version handling more useful, V2 of this builder takes advantage of the new key-updating
203
-
feature to allow users to specify version tags in key names rather than on the config builder declaration. That way, the same builder can handle multiple
204
-
keys with specific versions instead of needing to redefine multiple builders.
205
-
When requesting a specific version for a particular key, the key name in the original config file should look like __`keyName/versionId`__. The
206
-
AzureKeyVaultConfigBuilder will only substitue values for 'keyName' if the specified 'versionId' exists in the vault. When that happens, the
207
-
AzureKeyVaultConfigBuilder will remove the `/versionId` from the original key, and the resulting config section will only contain `keyName`.
208
-
For example:
209
-
```xml
210
-
<appSettingsconfigBuilders="AzureKeyVault">
211
-
<addkey="item1"value="Replaced with latest value from the key vault." />
212
-
<addkey="item2/0123456789abcdefdeadbeefbadf00d"value="Replaced with specific version only." />
Assuming both of these items exist in the vault, and the version tag for `item2` is valid, this would result in an collection of appSettings with two
216
-
entries: `item1` and `item2`.
185
+
[AppConfiguration](https://docs.microsoft.com/en-us/azure/azure-app-configuration/overview) is a new offering from Azure, currently in preview. If you
186
+
wish to use this new service for managing your configuration, then use this AzureAppConfigurationBuilder. Either `endpoint` or `connectionString` are
187
+
required, but all other attributes are optional. If both `endpoint` and `connectionString` are used, then preference is given to the connection string.
188
+
It is however, __strongly__ encouraged to use `endpoint` with a managed service identity in Azure.
189
+
*`endpoint` - This specifies the AppConfiguration store to connect to.
190
+
*`connectionString` - This specifies the AppConfiguration store to connect to, along with the Id and Secret necessary to access the service.
191
+
*`keyFilter` - Use this to select a set of configuration values matching a certain key pattern.
192
+
*`labelFilter` - Only retrieve configuration values that match a certain label.
193
+
*`preferredDateTime` - Instead of versioning ala Azure Key Vault, AppConfiguration uses timestamps. Use this attribute to go back in time
194
+
to retrieve configuration values from a past state.
217
195
218
196
### AzureKeyVaultConfigBuilder
219
197
```xml
@@ -314,7 +292,8 @@ will allow any `KeyValueConfigBuilder` to operate specifically on a section of t
0 commit comments