Подключение к хранилищу ключей Azure с помощью DataProtectionProvider - PullRequest
0 голосов
/ 11 октября 2019

У меня очень много времени на настройку DataProtectionProvider .Net Core для хранения ключей в хранилище ключей Azure. Проблема в том, что я не могу создать правильный URI Blob, или, по крайней мере, я думаю, что это проблема, поскольку все остальное в порядке, и все же я все еще получаю Несанкционированный доступ.

В Azure Iзарегистрировали приложение и секрет клиента, создали хранилище и ключ, а также политику доступа, дающую практически все разрешения для приложения.

Вот соответствующая часть моих ConfigureServices:

        string uri = "https://{vault-name}.vault.azure.net/keys/{vault-name}/{key}" + "se=2020-01-01&sp=r&spr=https&sv=2018-11-09&sr=b&sig={sig}";
        string keyIdentifier = "https://{vault-name}.vault.azure.net/keys/{vault-name}";
        string clientId = "{application-id";
        string clientSecret = "{client-secret}";

        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_3_0);
        services.AddDataProtection()
            .PersistKeysToAzureBlobStorage(new Uri(uri)) // requires Microsoft.AspNetCore.DataProtection.AzureStorage
            .ProtectKeysWithAzureKeyVault(keyIdentifier, clientId, clientSecret); //requires Microsoft.AspNetCore.DataProtection.AzureKeyVault
        services.AddControllers();

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

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 13 октября 2019

Похоже, вы пытаетесь передать URI для Key Vault в .PeristKeysToAzureBlobStorage(). Вместо этого вам нужно передать URI для BLOB-объекта в хранилище, которое будет содержать кольцо для ключей. Это отмечено в документе для провайдера хранилища Azure .

. Вы можете создать ссылку SAS через портал, как показано на рисунке, или использовать CLI для созданияссылка.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...