PowerBi: шифрование потоковых данных (REST API) - PullRequest
0 голосов
/ 03 мая 2019

https://docs.microsoft.com/en-us/power-bi/service-real-time-streaming

Я использую REST API для отправки живых данных в PowerBi. (Из собственного приложения на Windows)

Как я могу обрабатывать аутентификацию, шифрование и другие функции безопасности при потоковой передаче данных в PowerBi?

Можно ли как-нибудь использовать шлюз powerBI?

В настоящее время я вижу следующие проблемы:

  • Если кто-то получает ссылку REST Api на набор данных, он может получить неверные данные.
  • Данные JSON, которые я передаю, не зашифрованы

Ответы [ 2 ]

0 голосов
/ 03 мая 2019

Как сказал @silent в своем ответе, сообщение полностью зашифровано. Отправка данных в потоковый набор данных выглядит следующим образом (пример кода в PowerShell):

$endpoint = "https://api.powerbi.com/beta/08bbc04c-a46d-4c45-b587-9dec9454fc2d/datasets/15e4b6c3-4697-442f-91f9-2ad056eef2a8/rows?key=QINNGFRYZnWHHFA51G6VCDeL%2FYyfh0oDZ0qsV1qwzIh18tNfs2POjWgFIJdnWxxA3bjqJqfMhWPOhzQ6bK3vgw%3D%3D"
$payload = @{
"datetime" ="2019-05-03T17:17:05.830Z"
"somevalue" =98.6
}
Invoke-RestMethod -Method Post -Uri "$endpoint" -Body (ConvertTo-Json @($payload))

Обратите внимание, что конечная точка использует протокол HTTPS, то есть он зашифрован. Однако разница между передачей данных в набор потоковых данных и передачей данных в «обычный» набор принудительных данных заключается в том, что при потоковой передаче вы не используете токен доступа, сгенерированный при аутентификации в Azure AD, а ключ URL-адреса конечной точки. Вы должны защищать этот ключ так же, как вы защищаете пароль своей учетной записи. Если кто-то получил к ним доступ, он может навредить вам. Так что в отношении аутентификации нет большой разницы. Кроме того, поскольку связь зашифрована, вам не следует беспокоиться о потоковых данных.

Вы не можете использовать шлюз, потому что он вам не нужен. Во-первых, он используется для обеспечения связи между Power BI Service и вашим помещением (хотя в вашем случае это происходит в другом направлении и может быть установлен напрямую), а во-вторых, даже если вы осуществляете связь через шлюз, данные будут зашифрованы одинаково. путь (так что в этом нет разницы).

0 голосов
/ 03 мая 2019

Не уверен, правильно ли я понимаю ваш вопрос, но все API REST доступны только через шифрование TLS, а аутентификация основана на Azure AD.

Все запросы к API REST защищены с помощью Azure AD.OAuth.

https://docs.microsoft.com/en-us/power-bi/service-real-time-streaming#using-power-bi-rest-apis-to-push-data

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