配置令牌生存期策略(预览版)

你可以指定由 Microsoft 标识平台颁发的访问、SAML 或 ID 令牌的生存期。 可以针对组织中的所有应用、多租户(多组织)应用程序或者组织中的特定服务主体设置生存期。

本部分逐步讲解常见的策略场景,帮助你针对令牌生存期实施新规则。 本示例介绍如何创建一个要求用户更频繁地在 Web 应用中进行身份验证的策略。

入门

若要开始使用,请下载最新的 Azure AD PowerShell 模块公共预览版

接下来,运行 Connect 命令登录到 Azure AD 管理员帐户。 每次启动新会话都需要运行此命令。

Connect-AzureAD -AzureEnvironmentName AzureChinaCloud -Confirm

为 Web 登录创建策略

本示例创建一个要求用户更频繁地在 Web 应用中进行身份验证的策略。 此策略会针对 Web 应用的服务主体设置访问/ID 令牌的生存期。

  1. 创建令牌生存期策略。

    这个用于 Web 登录的策略将访问/ID 令牌生存期设置为两小时。

    若要创建该策略,请运行 New-AzureADPolicy cmdlet:

    $policy = New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"02:00:00"}}') -DisplayName "WebPolicyScenario" -IsOrganizationDefault $false -Type "TokenLifetimePolicy"
    

    若要查看新策略并获取策略 ObjectId,请运行 Get-AzureADPolicy cmdlet:

    Get-AzureADPolicy -Id $policy.Id
    
  2. 将策略分配到服务主体。 还需要获取服务主体的 ObjectId。

    请使用 Get-AzureADServicePrincipal cmdlet 来查看组织的所有服务主体或某一个服务主体。

    # Get ID of the service principal
    $sp = Get-AzureADServicePrincipal -Filter "DisplayName eq '<service principal display name>'"
    

    如果你有服务主体,请运行 Add-AzureADServicePrincipalPolicy cmdlet:

    # Assign policy to a service principal
    Add-AzureADServicePrincipalPolicy -Id $sp.ObjectId -RefObjectId $policy.Id
    

查看租户中的现有策略

若要查看组织中创建的所有策略,请运行 Get-AzureADPolicy cmdlet。 任何已定义的属性值不同于上面列出的默认值的结果都在停用范围内。

Get-AzureADPolicy -All $true

若要查看哪些应用和服务主体链接到你确定的特定策略,请使用任何策略 ID 替换 1a37dad8-5da7-4cc8-87c7-efbc0326cf20,以运行以下 Get-AzureADPolicyAppliedObject cmdlet。 然后,你可以决定是配置条件访问登录频率,还是保留 Azure AD 默认值。

Get-AzureADPolicyAppliedObject -id 1a37dad8-5da7-4cc8-87c7-efbc0326cf20

如果你的租户具有定义刷新和会话令牌配置属性的自定义值的策略,Microsoft 建议你将这些策略更新为反映上述默认值的值。 如果未进行更改,Azure AD 将自动接受默认值。

疑难解答

一些用户在运行 Get-AzureADPolicy cmdlet 之后报告了 Get-AzureADPolicy : The term 'Get-AzureADPolicy' is not recognized 错误。 作为解决方法,请运行以下命令卸载/重新安装 AzureAD 模块,然后安装 AzureADPreview 模块:

# Uninstall the AzureAD Module
UnInstall-Module AzureAD

# Re-install the AzureAD Module
Install-Module AzureAD

# Install the AzureAD Preview Module adding the -AllowClobber
Install-Module AzureADPreview -AllowClobber

Connect-AzureAD -AzureEnvironmentName AzureChinaCloud
Get-AzureADPolicy -All $true