Как я могу прочитать защищенную строку в пользовательском действии в Data Factory v2? - PullRequest
0 голосов
/ 20 сентября 2018

В настоящее время у меня есть конвейер DFv2, который использует настраиваемое действие, и я пытаюсь выяснить, как прочитать защищенную строку, переданную в настраиваемое действие.

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

Вот упрощенная версия моего пользовательского действия:

{ "name": "CustomActivity", "type": "Custom", "policy": { "timeout": "7.00:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "typeProperties": { "command": "CustomCode.exe", "resourceLinkedService": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "folderPath": "foldercontainingcustomcode", "extendedProperties": { "url": "sampleUrl", "apiKey": { "type": "SecureString", "value": "**********" } }, "referenceObjects": { "linkedServices": [ { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" } ], "datasets": [ ] } }, "linkedServiceName": { "referenceName": "AzureBatchLinkedService", "type": "LinkedServiceReference" } }

Вотнекоторый пример пользовательского кода:

class Program
{
    static void Main(string[] args)
    {
        dynamic activity = JsonConvert.DeserializeObject(File.ReadAllText("activity.json"));
        dynamic apiKey = activity.typeProperties.extendedProperties.apiKey.value;
    }
}

Мой вопрос: как я могу добиться этого, поскольку непосредственное чтение apiKey будет просто читать строку «*****»?

1 Ответ

0 голосов
/ 21 сентября 2018

по соображениям безопасности, фабрика данных никогда не вернет защищенную строку в любом случае.

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

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