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


Разработка стратегии разрешений приложения

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

Если пользователь не участвует, у вас нет эффективной модели разрешений , так как приложение всегда получает свои предназначленные разрешения.

  • Приложение подтверждает, что это приложение, запрашивающее разрешение. Приложение аутентифицируется одним из следующих методов:

  • Приложению всегда требуется предварительное согласие администратора. Ваше приложение запрашивает данное разрешение в области .default. Он запрашивает разрешения, которые администратор назначает приложению.

  • Функции транс-пользователей. По умолчанию User.ReadWrite.All позволяет приложению обновлять профиль каждого пользователя. В качестве разрешения приложения приложение позволяет приложению читать и обновлять профиль каждого пользователя в клиенте.

  • Разрешения, предоставленные приложению, всегда именно те, которые используются. В отличие от делегированного разрешения, разрешения приложения не ограничены тем, что может сделать любой конкретный пользователь.

Ограничение разрешений приложения

Существует три способа ограничить приложение менее чем глобальным доступом.

  • Приложения Microsoft Teams имеют согласие на использование определенных ресурсов (RSC), которое позволяет приложению получать доступ к определенной команде, а не получать доступ ко всем командам в организации. RSC — это интеграция API Microsoft Teams и Microsoft Graph, которая позволяет приложению использовать конечные точки API и управлять определенными ресурсами. Ее модель разрешений позволяет владельцам Teams и чата предоставлять согласие для вашего приложения на доступ к данным Teams и чата и изменять их.

  • Чтобы ограничить доступ приложения к определенным почтовым ящикам с помощью скрипта PowerShell, администраторы Microsoft Exchange могут создавать политики приложений Exchange. Они могут ограничить конкретное приложение определенными почтовыми ящиками с доступом Calendar.Read или Mail.Read. Это позволяет, например, создавать автоматизацию, которая может читать только один почтовый ящик или отправлять только почту из одного почтового ящика, а не от всех пользователей в организации.

  • Чтобы разрешить детализированные разрешения для доступа к SharePoint с приложением, SharePoint имеет Sites.Selected в качестве определенной области. Выберите Sites.Selected для вашего приложения, а не один из других результатов разрешений, что по умолчанию приводит к отсутствию доступа приложений к коллекциям сайтов SharePoint. Администратор использует конечную точку разрешений сайта для предоставления разрешений на чтение, запись или запись в приложение.

Управление учетными данными приложений

Гигиена учетных данных позволяет приложению быстро восстановиться после потенциального нарушения. В следующих рекомендациях описано, как разрабатывать приложения, которые выполняют обнаружение и исправление, избегая простоя и влияя на допустимых пользователей. Эти рекомендации поддерживают принцип нулевого доверия, предполагающий нарушение при подготовке вас к реагированию на инцидент безопасности.

  • Удалите все секреты из кода и конфигурации. При использовании платформы Azure поместите секреты в хранилище ключей и получите доступ к ним с помощью управляемых удостоверений для ресурсов Azure. Сделайте код устойчивым для управления ротацией секретов в случае нарушения безопасности. ИТ-администраторы могут удалять и менять секреты и сертификаты, не затрагивая приложение или влияя на законных пользователей.

  • Используйте сертификаты вместо секретов клиента, если не используется безопасный процесс для управления секретами. Злоумышленники знают, что секреты клиентов, как правило, менее безопасно обрабатываются и утечка секретов трудно отслеживать. Сертификаты можно лучше управлять и отзывать при компрометации. При использовании секретов создайте или используйте безопасный процесс развертывания и обновления без вмешательства. Используйте секреты с заданным сроком действия (например, один год, два года) и избегайте никогда не истекает.

  • Регулярно перекатывайте сертификаты и секреты для создания устойчивости в вашем приложении, чтобы избежать сбоев из-за аварийного отката.

Дальнейшие шаги