Application instance property lock защищает чувствительные свойства service principal приложения от изменения. Это полезно, когда владелец приложения не поддерживает произвольную замену ключей или параметров шифрования в отдельных экземплярах приложения. Функция дополняет контроль доступа, но не заменяет разрешения и проверку согласий.
Не путать регистрацию и экземпляр
App registration описывает объект application. Enterprise application представляет service principal в конкретном tenant. Настройка servicePrincipalLockConfiguration находится на application, хотя защищает выбранные свойства его service principals. Одинаковое отображаемое имя двух объектов не означает один и тот же object ID.
Перед изменением найдите именно принадлежащую вашей организации регистрацию приложения. Для стороннего приложения вы можете видеть корпоративный экземпляр, но не иметь прав менять исходную регистрацию издателя.
Что можно заблокировать
| Настройка | Назначение |
|---|---|
| isEnabled | Включает конфигурацию блокировки |
| allProperties | Блокирует все чувствительные свойства, а не абсолютно каждое поле приложения |
| credentialsWithUsageVerify | Параметры credentials с назначением Verify |
| credentialsWithUsageSign | Параметры credentials с назначением Sign |
| tokenEncryptionKeyId | Идентификатор ключа шифрования токена |
Согласно актуальной инструкции Microsoft, с июня 2026 года Enable property lock включён по умолчанию для новых приложений. Старые приложения нужно проверять отдельно: дата создания или наличие пункта интерфейса не доказывают нужную конфигурацию.
Начать с чтения
Connect-MgGraph -Scopes 'Application.Read.All' -NoWelcome
$applicationObjectId = '<object-id-of-app-registration>'
$app = Get-MgApplication -ApplicationId $applicationObjectId `
-Property Id,AppId,DisplayName,ServicePrincipalLockConfiguration
$app | Select-Object Id, AppId, DisplayName
$app.ServicePrincipalLockConfiguration | Format-ListПодставляется object ID app registration, а не client ID из поля AppId и не object ID enterprise application. Если SDK не показывает свойство, проверьте версию пакета и результат запроса Microsoft Graph с явным $select. Для чтения нужно соответствующее OAuth-согласие и разрешённая роль доступа.
Настроить через Entra admin center
- Выберите tenant, содержащий регистрацию.
- Откройте App registrations и нужное приложение.
- В Authentication найдите App instance property lock.
- Сверьте текущие значения с поддерживаемой схемой аутентификации приложения.
- Измените нужные переключатели и сохраните результат.
В документации указана роль не ниже Cloud Application Administrator для этого сценария. Область изменения нужно подтвердить по объекту, а не по похожему имени в списке.
Проверить ротацию и интеграции
До массового включения проверьте тестовое приложение, его вход, выпуск токенов и процедуру ротации credentials. Если служебная интеграция раньше меняла защищаемое свойство, блокировка может запретить это действие. Не снимайте защиту всей группы приложений ради одного неразобранного отказа.
Запишите исходную конфигурацию, владельца приложения и необходимые исключения. После изменения повторно прочитайте свойства через Graph и проверьте аудит. Для многоарендного приложения согласуйте модель с издателем: управление локальным экземпляром и изменение регистрации — разные полномочия.
Блокировка не отзывает уже выданные API permissions и не устраняет лишнее согласие приложения. Пересмотр разрешений, credentials, владельцев и журналов входа выполняется отдельно.
Документация: Настройка Application instance property lock.
Документация: Свойства servicePrincipalLockConfiguration.
Иллюстрации к инструкции

Материал подготовлен самостоятельно на русском языке. Исходная тема и иллюстрации: LazyAdmin. Технические сведения сверены с документацией, указанной выше, 11 октября 2026 года. Интерфейсы и версии модулей могут отличаться от показанных примеров.