Нет, вы не можете.Существует функция предварительного просмотра , как упомянуто в комментарии, она использует роль RBAC Azure для авторизации доступа к Eventhub, но это просто другой способ, если кто-то знает вашу строку подключения, он также может отправлять события.
Мой обходной путь - использовать Azure Keyvault для сохранения строки соединения в качестве секрета.Затем вы можете установить Access policies
keyvault, добавить нужного пользователя / участника службы.Только секретные данные могут получить только пользователи / пользователи с правами доступа.
В упомянутом вами примере используется простой текст static string connectionString = "namespace connection string"
, я полагаю, вы думаете, что это небезопасно.После сохранения строки подключения в keyvault вы можете использовать keyVaultClient.GetSecretAsync
, чтобы получить секрет, чтобы избежать раскрытия строки подключения.
AzureServiceTokenProvider azureServiceTokenProvider = new AzureServiceTokenProvider();
KeyVaultClient keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(azureServiceTokenProvider.KeyVaultTokenCallback));
var secret = await keyVaultClient.GetSecretAsync("https://<YourKeyVaultName>.vault.azure.net/secrets/AppSecret")
.ConfigureAwait(false);
Message = secret.Value;
Для получения дополнительной информации вы можете обратиться к ссылкам ниже.