Служба Azure Key Vault для хранения учетных данных

Моя служба Azure PaaS поддерживает аутентификацию напрямую с помощью OAUTH (Event Hub).

Как вы безопасно передаете учетные данные для этого конфиденциальным клиентам?

Извините, я новичок в облачной разработке.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
329
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как вы упомянули, вы можете использовать хранилище ключей Azure для хранения секрета клиента вашей регистрации приложения Azure AD.

Просто добавьте клиентское приложение/учетную запись пользователя в Политику доступа к хранилищу ключей Azure с правильным разрешением, и только они смогут получить доступ к вашему хранилищу ключей Azure для получения секрета клиента.

Обновлять:

Вам нужно создать новую Регистрация приложения Azure AD , используемую для доступа к хранилищу ключей (это приложение AD предназначено только для доступа к хранилищу ключей, а не для доступа к концентратору событий), сохранить его идентификатор клиента и секрет в качестве переменных среды, а затем использовать SDK , чтобы узнать секрет. После этого используйте ClientSecretCredential для доступа к eventhub.

TokenCredential credential = new ClientSecretCredential("<tenantId>", "<clientId>", "<clientSecret>");

var fullyQualifiedNamespace = "<< FULLY-QUALIFIED EVENT HUBS NAMESPACE (like something.servicebus.windows.net) >>";
var eventHubName = "<< NAME OF THE EVENT HUB >>";

await using (var producer = new EventHubProducerClient(fullyQualifiedNamespace, eventHubName, credential))
{
    using EventDataBatch eventBatch = await producer.CreateBatchAsync();
    eventBatch.TryAdd(new EventData(new BinaryData("First")));
    eventBatch.TryAdd(new EventData(new BinaryData("Second")));

    await producer.SendAsync(eventBatch);
}

Справочник — Использование субъекта Active Directory с клиентами Event Hub

Примечание. На самом деле, если ваш код будет развернут в службе Azure, которая поддерживает Managed Identity (MSI), например. Служба приложений Azure, виртуальная машина и т. д. Лучше всего использовать MSI для аутентификации в концентраторе событий, не нужно создавать приложения AD и использовать их секреты клиента, а также хранилище ключей.

Справочник — Аутентификация управляемого удостоверения с помощью Azure Active Directory для доступа к ресурсам концентраторов событий

Спасибо, Джой (снова). Таким образом, целевой ресурс — это концентратор событий. Что вам нужно будет разработать в клиенте, чтобы получить идентификатор/секрет клиента хранилища и применить его к коду, имеющему отношение к доступу к концентратору?

Dazure 14.12.2020 20:01

Другие вопросы по теме