【问题标题】:Configuring Azure AD Access token lifetime policy for an app using powershell doesn't work使用 powershell 为应用配置 Azure AD 访问令牌生命周期策略不起作用
【发布时间】:2021-01-11 13:23:58
【问题描述】:

我们正在尝试使用以下 powershell cmdlet 将访问令牌到期时间配置为 8 小时,但它并未在应用程序上强制执行。它在 org 应用时有效。级别(即 -IsOrganizationDefault $true)。

New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"08:00:00"}}') -DisplayName $policyName -IsOrganizationDefault $false -Type "TokenLifetimePolicy"
 
$app = Get-AzureADApplication -Filter "DisplayName eq '$applicationName'"

Add-AzureADApplicationPolicy -Id $app.ObjectId -RefObjectId $policy.Id

参考:https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-configurable-token-lifetimes

*注意:2020 年 5 月 30 日之后,新租户将无法使用可配置令牌生命周期策略来配置会话和刷新令牌。但是,在弃用之后,您仍然可以配置访问令牌的生命周期

在将 Azure AD 中的 oAuth/OIDC 应用程序的访问令牌到期时间配置为 8 小时时需要帮助(默认为 1 小时)。

【问题讨论】:

    标签: azure-active-directory access-token


    【解决方案1】:

    根据我的测试,目前它只适用于-IsOrganizationDefault $true,无论使用Add-AzureADServicePrincipalPolicyAdd-AzureADApplicationPolicy,如果-IsOrganizationDefault $false,都不起作用。

    目前,配置令牌生命周期政策功能仍处于预览版。我认为这个功能可能还没有完全实现,这造成了问题。微软应该在未来实现它。

    【讨论】:

    • 感谢 Carl 澄清问题。同意该功能仍处于预览阶段。只是好奇是否有任何其他方法可以将在 Azure AD 中注册的 oAuth/OIDC 应用程序的访问令牌时间延长到 8 小时。
    • 你好@Rajat 这篇文章可能会对你有所帮助。如果您仍有任何问题,请告诉我们。 docs.microsoft.com/en-us/answers/questions/1463/…
    【解决方案2】:

    问题已解决。创建了 8 小时 AccessTokenLifetime 政策。在 Application ServicePrincipal 上应用了 TokenLifetimePolicy。在 Azure AD 中为应用程序设置 App ID URI,并在授权请求中将其作为范围(而不是 MS Graph 默认范围)传递,以生成 8 小时访问令牌。

    【讨论】:

    • 您能否添加一个包含更多详细信息的示例并更新帖子?我正在努力解决同样的问题。
    • 当然,PFB 步骤 - 先决条件:1. 具有桌面管理员访问权限的 Powershell 设置 2. 具有高级 P1 许可证或更高许可证的 Azure ADTenant 3. 具有全局管理员/应用程序管理员角色的用户AzureAD 安装 AzureAD Preview 模块并与 Azure AD 连接:1) Install-Module -Name AzureADPreview -AllowClobber -Force -ErrorAction Stop -Scope CurrentUser 2) Import-Module AzureADPreview 3) Connect-AzureAD
    • 示例:创建 8 小时的 Tokenlifetime 策略:New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"08:00:00"}}' ) DisplayName "" -IsOrganizationDefault $false -Type “TokenLifetimePolicy” **记下策略对象 ID
    • 向应用程序服务主体添加策略:Add-AzureADServicePrincipalPolicy -Id "" -RefObjectId "" 其中,Application ServicePrincipal 对象 ID = Azure Active Directory -> Enterprise应用程序 -> -> 概览刀片 -> 对象 ID 验证 ServicePrincipal 上的策略:Get-AzureADServicePrincipalPolicy -Id ""
    猜你喜欢
    • 2020-08-20
    • 2020-03-09
    • 2017-06-07
    • 2020-06-06
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 1970-01-01
    相关资源
    最近更新 更多