Поделиться через


Рекомендации по работе с проверкой подлинности

Самым важным свойством приложения является его безопасность. Каким бы хорошим ни был пользовательский интерфейс, если ваше приложение не защищено, хакер может его взломать.

Ниже приведены несколько советов по обеспечению безопасности приложения Azure Maps. При использовании Azure следует обязательно ознакомиться с имеющимися инструментами безопасности. Дополнительные сведения приведены в статье Общие сведения о безопасности Azure.

Общие сведения об угрозах безопасности

Хакеры, получившие доступ к вашей учетной записи, могут потенциально совершать неограниченные транзакции с выставлением счетов, что приводит к непредвиденным затратам и снижению производительности из-за ограничений на количество запросов в секунду (QPS).

При рассмотрении рекомендаций по защите приложений Azure Maps необходимо понимать различные доступные варианты проверки подлинности.

Рекомендации по проверке подлинности в Azure Maps

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

Проверка подлинности на основе ключей подписки (общий ключ) может использоваться в клиентских приложениях или веб-службах, однако это самый безопасный подход к защите приложения или веб-службы. Причина заключается в том, что ключ легко извлекается из HTTP-запроса и обеспечивает доступ ко всем REST API Azure Maps, доступным в ценовой категории SKU (ценовая категория). Если вы используете ключи подписки, обязательно регулярно поворачивайте их и помните, что общий ключ не позволяет настраивать время существования, это нужно делать вручную. Кроме того, следует использовать проверку подлинности с общим ключом в Azure Key Vault, что позволяет безопасно хранить учетные цифровые идентификационные данные в Azure.

При использовании проверки подлинности Microsoft Entra или проверки подлинности токена SAS (Shared Access Signature) доступ к REST API Azure Maps разрешен с помощью управления доступом на основе ролей (RBAC). Управление доступом на основе ролей (RBAC) позволяет контролировать, какой доступ предоставляется к выданным токенам. Следует рассмотреть, на какой срок следует предоставлять доступ для токенов. В отличие от проверки подлинности с общим ключом, время существования этих маркеров можно настроить.

Совет

Дополнительные сведения о настройке времени существования токенов см. в следующем разделе:

Общедоступные и конфиденциальные клиентские приложения

Существуют различные проблемы безопасности между общедоступными и конфиденциальными клиентскими приложениями. Для получения дополнительной информации о том, что считается общедоступным и конфиденциальным клиентским приложением, см. раздел "Общедоступные клиентские и конфиденциальные клиентские приложения" в документации платформы удостоверений Microsoft.

Общедоступные клиентские приложения

Для приложений, работающих на устройствах или настольных компьютерах или в веб-браузере, следует определить, какие домены имеют доступ к учетной записи Azure Map с помощью общего доступа к ресурсам независимо от источника (CORS). CORS инструктирует браузер клиентов, в котором источники, такие как https://microsoft.com" разрешено запрашивать ресурсы для учетной записи Azure Map.

Примечание.

Если вы разрабатываете веб-сервер или службу, учетную запись Azure Maps не нужно настраивать с помощью CORS. Если в клиентском веб-приложении есть код JavaScript, применяется CORS.

Конфиденциальные клиентские приложения:

Для приложений, работающих на серверах (таких как веб-службы и приложения-службы/управляющие программы), если вы предпочитаете избежать накладных расходов и сложностей управления учетными цифровыми идентификационными данными, рассмотрите возможность управляемых удостоверений. Управляемые удостоверения могут предоставить удостоверение веб-службы, используемое при подключении к Azure Maps с помощью проверки подлинности Microsoft Entra. В этом случае веб-служба использует эту идентичность для получения необходимых токенов Microsoft Entra. Чтобы настроить доступ к веб-службе, используйте Azure RBAC, применяя наименьшее количество привилегированных ролей .

Следующие шаги