В следующих шагах вы реализуете распространенный сценарий политики, который накладывает новые правила для времени существования токена. Можно указать время существования маркера доступа, SAML или идентификатора, выданного платформа удостоверений Майкрософт. Это можно задать для всех приложений в организации или для конкретного приложения или субъекта. Их также можно задать для нескольких организаций (мультитенантное приложение). Возможно, потребуется увеличить время существования маркера, чтобы скрипт выполнялся более часа. Многие библиотеки Майкрософт, такие как пакет SDK Microsoft Graph PowerShell, расширяют время существования маркера по мере необходимости, и вам не нужно вносить изменения в политику маркера доступа. Дополнительные сведения см. в разделе о времени существования настраиваемых маркеров.
Настройка политик времени существования токена (предварительная версия)
Необходимые компоненты
Чтобы приступить к работе, скачайте последний пакет SDK Для Microsoft Graph PowerShell.
Создание политики и назначение его приложению
На следующих шагах вы создадите политику, которая требует, чтобы пользователи выполняли проверку подлинности реже в веб-приложении. Назначьте политику приложению, которая задает время существования маркеров доступа и идентификатора в течение 4 часов для веб-приложения.
Install-Module Microsoft.Graph
Connect-MgGraph -Scopes "Policy.ReadWrite.ApplicationConfiguration","Policy.Read.All","Application.ReadWrite.All"
# Create a token lifetime policy
$params = @{
Definition = @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"4:00:00"}}')
DisplayName = "WebPolicyScenario"
IsOrganizationDefault = $false
}
$tokenLifetimePolicyId=(New-MgPolicyTokenLifetimePolicy -BodyParameter $params).Id
# Display the policy
Get-MgPolicyTokenLifetimePolicy -TokenLifetimePolicyId $tokenLifetimePolicyId
# Assign the token lifetime policy to an app
$params = @{
"@odata.id" = "https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/$tokenLifetimePolicyId"
}
$applicationObjectId="aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
New-MgApplicationTokenLifetimePolicyByRef -ApplicationId $applicationObjectId -BodyParameter $params
# List the token lifetime policy on the app
Get-MgApplicationTokenLifetimePolicy -ApplicationId $applicationObjectId
# Remove the policy from the app
Remove-MgApplicationTokenLifetimePolicyByRef -ApplicationId $applicationObjectId -TokenLifetimePolicyId $tokenLifetimePolicyId
# Delete the policy
Remove-MgPolicyTokenLifetimePolicy -TokenLifetimePolicyId $tokenLifetimePolicyId
Создайте политику и назначьте ее субъекту-службе
На следующих шагах вы создадите политику, которая требует, чтобы пользователи выполняли проверку подлинности реже в веб-приложении. Назначьте политику субъекту-службе, которая задает время существования маркеров доступа и идентификатора в 8 часов для веб-приложения.
Создайте политику времени жизни маркеров.
POST https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies Content-Type: application/json { "definition": [ "{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"8:00:00\"}}" ], "displayName": "Contoso token lifetime policy", "isOrganizationDefault": false }
Назначьте политику для субъекта-службы.
POST https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies/$ref Content-Type: application/json { "@odata.id":"https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/00aa00aa-bb11-cc22-dd33-44ee44ee44ee" }
Вывод списка политик в субъекте-службе.
GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies
Удалите политику из субъекта-службы.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies/00aa00aa-bb11-cc22-dd33-44ee44ee44ee/$ref
Просмотр существующих политик в клиенте
Чтобы просмотреть все политики, созданные в организации, выполните командлет Get-MgPolicyTokenLifetimePolicyPolicy . Результаты, в которых заданные значения свойств отличаются от указанных выше значений по умолчанию, находятся в области прекращения использования.
Запустите команду
Get-MgPolicyTokenLifetimePolicy
, чтобы просмотреть все политики, созданные в вашей организации.Get-MgPolicyTokenLifetimePolicy
Список запуска применяется к любому идентификатору политики, чтобы узнать, какие приложения связаны с определенной политикой, которую вы определили.
GET https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/4d2f137b-e8a9-46da-a5c3-cc85b2b840a4/appliesTo