рекомендации по Microsoft Entra PowerShell

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

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

Регистрация приложения вместо использования корпоративного приложения

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

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

Connect-Entra -ClientId <your-custom-app-id> -TenantId <your-tenant-id>

Можно также использовать псевдонимы AppId или ApplicationId вместо ClientId.

Security

Примените следующие рекомендации по согласию и авторизации в приложении для повышения безопасности:

  • Примените наименьшие привилегии: предоставьте пользователям и приложениям только наименьшие привилегированные разрешения, которым они требуются для вызова ресурса Microsoft Entra. Выберите наименее привилегированные разрешения. Например, если приложение читает только профиль пользователя, вошедшего в систему, предоставьте User.Read вместо User.ReadBasic.All. Полный список разрешений см. в справочнике по разрешениям.

  • Используйте disconnect-Entra: всегда запустите disconnect-Entra , чтобы удалить все учетные данные и контексты, связанные с учетной записью. Этот командлет корректно освобождает ресурсы и закрывает соединения, когда они больше не нужны. Это снижает риск несанкционированного доступа, если сеанс остается открытым или кто-то другой обращается к вашей среде PowerShell.

  • Используйте правильный тип разрешений на основе сценариев: избегайте использования как приложений, так и делегированных разрешений в одном приложении. Если вы создаете интерактивное приложение, в котором присутствует пользователь, вошедшего в систему, приложение должно использовать делегированные разрешения. Однако если приложение работает без вошедшего пользователя, например фоновой службы или управляющей программы, приложение должно использовать разрешения приложения.

  • Учитывайте разрешения приложения. Избегайте использования разрешений приложений для интерактивных сценариев, чтобы предотвратить риски безопасности и соответствия требованиям, так как это может непреднамеренно повысить привилегии пользователя и обойти политики администратора.

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

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

  • Используйте параметры безопасности по умолчанию и условный доступ — защищайте пользователей с помощью многофакторной аутентификации Microsoft Entra, используя условный доступ (для лицензированных организаций) и параметры безопасности по умолчанию (для нелицензированных организаций).

  • Используйте рекомендации Microsoft Entra - Рекомендации Microsoft Entra — эта функция тщательно отслеживает состояние вашего арендатора, обеспечивая его безопасность и работоспособность. У вас есть представление об используемых приложениях, истечении срока действия учетных данных, чрезмерно привилегированных приложениях среди других.

  • Ограничить вход в приложение только для назначенных удостоверений личности — свойство Assignment Required помогает управлять доступом к приложениям, гарантируя, что входить могут только назначенные пользователи.

Connect-Entra -Scopes 'Application.ReadWrite.All'
Get-EntraServicePrincipal -Filter "DisplayName eq 'Contoso Demo App'" | Set-EntraServicePrincipal -AppRoleAssignmentRequired $true

Оптимизация производительности

Следующие методики помогут оптимизировать производительность при работе с Microsoft Entra PowerShell.

Использование фильтра

Фильтрация выполняется на стороне сервера путём ограничения выборки для получения подмножества коллекции, что помогает сократить ненужный сетевой трафик и объём обрабатываемых данных.

Get-EntraUser -Filter "startsWith(DisplayName,'Ada')"

Выбор только обязательных свойств

Выбор необходимых свойств с помощью -Property параметра для получения только необходимых свойств.

Определение размера страницы

Для запросов, возвращающих множество объектов, увеличьте размер страницы до максимального значения 999 с помощью -top параметра.

Get-EntraUser -All -Top 999

Maintenance

Примените следующие рекомендации по обслуживанию, чтобы обеспечить актуальность и оптимальное функционирование модуля и скриптов PowerShell Microsoft Entra:

Поддерживайте модуль PowerShell Microsoft Entra в актуальном состоянии

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

Tip

Если вы используете Microsoft Entra PowerShell с Cлужба автоматизации Azure, обновите модули PowerShell в учетных записях Cлужба автоматизации Azure.

Update-Module -Name Microsoft.Entra

После обновления модуля удалите старые версии.

Используйте Get-Help

Get-Help предоставляет исчерпывающую документацию непосредственно в командной строке. В нем содержатся подробные сведения о командлетах, функциях, сценариях и концепциях PowerShell Microsoft Entra, включая примеры использования, принятые параметры и выходные данные. Get-Help способствует эффективному скрипту и помогает избежать распространенных ошибок.

Get-Help Get-EntraUser -Detailed

Использование параметра отладки

-Debugпомогает устранять неполадки, предоставляя подробные диагностические сведения при взаимодействии с Microsoft Entra PowerShell. Это поможет вам точно понять, как работают скрипты и где могут возникнуть проблемы во время разработки и тестирования.

Get-EntraUser -Top 1 -Debug

Чтобы отправить поток выходных данных отладки в файл журнала, используйте следующее:

Get-EntraUser -Top 1 -Debug 5>> <your-log-filepath>
  • 5 — представляет номер потока, Debug Stream. Дополнительные сведения о потоках см. в разделе "Выходные потоки".
  • >> — представляет оператор перенаправления. Дополнительные сведения о операторах перенаправления см. в разделе "Операторы перенаправления".