У меня есть приложение .NET, которое подключается к локальной среде разработки конфигурации приложения Azure. он отлично работает со строкой подключения конфигурации приложения Azure. но когда я пытаюсь использовать идентификацию принципа обслуживания, это не удалось, выдает 403.
string tenantId = "mytenatID";
string clientId = "MyCLientID";
string clientSecret = "MySecreat";
#if DEBUG
Environment.SetEnvironmentVariable("AZURE_TENANT_ID", tenantId);
Environment.SetEnvironmentVariable("AZURE_CLIENT_ID", clientId);
Environment.SetEnvironmentVariable("AZURE_CLIENT_SECRET", clientSecret);
#endif
builder.Configuration.AddAzureAppConfiguration(options =>
options.Connect(
new Uri(builder.Configuration["AppConfig:Endpoint"]),
new ManagedIdentityCredential()));
}
catch (Exception ex)
{
throw;
}
Также я добавил свой идентификатор клиента tenantId и секреты в
Также я добавил правильное разрешение для разрешения AP Azure AD. а также добавлен принцип обслуживания в IM конфигурации приложения Azure с ролью участника.
я тоже попробовал
var credentialccc = new DefaultAzureCredential(new DefaultAzureCredentialOptions
{
// ExcludeEnvironmentCredential = true,
// ExcludeManagedIdentityCredential = true,
ExcludeVisualStudioCredential = true,
ExcludeAzureCliCredential = true,
ExcludeAzurePowerShellCredential = true,
ExcludeSharedTokenCacheCredential = true
});
и
builder.Configuration.AddAzureAppConfiguration(options =>
options.Connect(
new Uri(builder.Configuration["AppConfig:Endpoint"]),
new **DefaultAzureCredential**()));
Все попытки выдают мне ошибку 403 в локальной разработке. Дайте мне знать, кто-нибудь тоже сталкивается с подобной проблемой





Я создал одну конфигурацию приложения Azure с именем testappconfig01 со следующими ключами и значениями:

Первоначально я тоже получил ошибку 403, когда попытался подключить Azure App Config к субъекту-службе, имеющему роль участника, поскольку он не предоставляет прямой доступ к данным с использованием Microsoft Entra ID:

Чтобы устранить эту ошибку, вам необходимо назначить роли, такие как App Configuration Data Owner или App Configuration Data Reader, субъекту-службе в разделе «Конфигурация приложения» в зависимости от ваших требований:

В моем случае я использовал приведенный ниже код для подключения к Azure App Config и успешно получил ответ со значением ключа, например:
using Azure.Identity;
using Azure.Data.AppConfiguration;
using Azure;
try
{
string tenantId = "tenantId";
string clientId = "appId";
string clientSecret = "secret";
var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var client = new ConfigurationClient(
new Uri("https://testappconfig01.azconfig.io"),
credential);
var setting = client.GetConfigurationSetting("key_name");
Console.WriteLine(setting.Value);
}
catch (RequestFailedException ex)
{
Console.WriteLine($"Received a {ex.Status} status code with message: {ex.Message}");
}
catch (Exception ex)
{
Console.WriteLine($"An unexpected error occurred: {ex.Message}");
}
Ответ:

Ссылка: Авторизуйте доступ к конфигурации приложений Azure с помощью Microsoft Entra ID
я не вижу опции принятия, можете ли вы указать, где принять?
круто, роль, которую ты назначил, она работает