Как включить проверку подлинности для веб-службы ACI в службе машинного обучения Azure? - PullRequest
0 голосов
/ 24 апреля 2019

Я могу развернуть службу прогнозирования машинного обучения Azure в моей рабочей области ws, используя синтаксис

aciconfig = AciWebservice.deploy_configuration(cpu_cores=1, 
                                               memory_gb=8, 
                                               tags={"method" : "some method"}, 
                                               description='Predict something')

, а затем

service = Webservice.deploy_from_image(deployment_config = aciconfig,
                                       image = image,
                                       name = service_name,
                                       workspace = ws)

, как описано в документация .
Однако это публично раскрывает службу, и это не совсем оптимально.

Какой самый простой способ защитить службу ACI?Я понимаю, что передача параметра auth_enabled=True может сделать эту работу, но тогда как я могу проинструктировать клиента (скажем, используя curl или Почтальон) использовать сервис впоследствии?

Ответы [ 2 ]

2 голосов
/ 25 апреля 2019

См. здесь для примера (в C #).Когда вы включите аутентификацию, вам нужно будет отправить ключ API в заголовке «Авторизация» в HTTP-запросе:

client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authKey);

См. здесь Как получить ключ.

0 голосов
/ 27 апреля 2019

Сначала найдите первичный и вторичный ключи с синтаксисом, подобным

service.get_keys()

Если вы используете curl, синтаксис может выглядеть следующим образом:

curl -H "Content-Type:application/json" -H "Authorization: Bearer <authKey>" -X POST -d '{"data": [some data]}' http://<url>:<port>/<method>

где <authKey> является одним из ключей, найденных выше.

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