Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье вы узнаете, как реализовать 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. Дополнительные сведения о потоках см. в разделе "Выходные потоки". -
>>— представляет оператор перенаправления. Дополнительные сведения о операторах перенаправления см. в разделе "Операторы перенаправления".