Azure Active Directory中的可配置令牌生存期

时间:2017-05-26 15:42:53

标签: powershell azure azure-active-directory azure-ad-b2c azure-ad-graph-api

我无法从PowerShell分配TokenLifetimePolicy Azure AD应用程序策略。我收到了错误BadRequestMessage: Open navigation properties are not supported on OpenTypes.Property name: 'policies

我正在尝试从Configurable token lifetimes in Azure Active Directory

实施令牌到期时间

请参阅下面的屏幕截图,欢迎使用AzureAD cmdlet Add-AzureADApplicationPolicy上的所有有用链接和解决方案

enter image description here

3 个答案:

答案 0 :(得分:1)

我仅使用New-AzureADPolicy cmdlet并设置-IsOrganizationDefault $true而不是$false才能使其正常工作。效果需要一段时间才能看到它。所以等待大约30分钟到一个小时(我不知道多久)。之后,您的新政策将被创建和应用。还要记住这是PowerShell,因此cmdlet中没有空格。

示例:

New-AzureADPolicy -Definition @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"02:00:00","MaxInactiveTime":"02:00:00","MaxAgeSessionSingleFactor":"02:00:00"}}') -DisplayName "PolicyScenario" -IsOrganizationDefault $true -Type "TokenLifetimePolicy"

多行版本:

New-AzureADPolicy -Definition @(
    '
        {
            "TokenLifetimePolicy":
                {
                    "Version": 1,
                    "AccessTokenLifetime": "02:00:00",
                    "MaxInactiveTime": "02:00:00",
                    "MaxAgeSessionSingleFactor": "02:00:00"
                }
        }
    '
    ) -DisplayName "PolicyScenario" -IsOrganizationDefault $true -Type "TokenLifetimePolicy"

Microsoft可能会使用IsOrganizationDefault $true解决此问题。请在问题中详细了解:Azure AD Configurable Token Lifetimes not being Applied

答案 1 :(得分:1)

我为我的客户测试了这一点。由于没有最新版本的PowerShell,我偶尔会遇到类似这样的问题。

get-module

目前AzureADPreview(V2)的最新版本2.0.0.114 Instructions to download here

Seth指出-IsOrganizationDefault $是一个问题。

我发现的另一个问题是在您的系统上安装了多个版本的PowerShell,而且它加载了一个没有更新位的错误版本。我上周五打了这个 - 我不得不擦掉所有东西并重新安装 - 然后它就修好了。

另外 -

之间有区别:

Add-AzureADApplicationPolicy

Add-AzureADServicePrincipalPolicy

一个用于应用程序对象,另一个用于ServicePrincipal。如果您要应用它来说,基于SAML的应用程序,那么您应该将它应用于ServicePrincpal。

注意:应用程序对象和servicePrincipal对象有不同的ObjectID。不要混淆这些。对于实验,请针对您的应用程序运行两个cmd:

Get-AzureADServicePrincipal -SearchString <name of app>
Get-AzureADApplication -SearchString <name of app>

如果您使用了错误的ObjectID - 当您开始应用该政策

时,请不要这样做

这些政策的顺序是:ServicePrincipal - &gt;申请 - &gt;租户(组织)

答案 2 :(得分:0)

是否在B2C门户中创建了应用程序?

假设答案是肯定的,这种行为是预期的: Microsoft有2个授权端点,V1和V2。

B2C门户网站创建V2应用程序。来自powershell的令牌生存期设置可能仅适用于V1应用程序。

b2c刀片上有一些设置可以更改此设置。

另一个选项是从azure活动目录刀片(而不是b2c刀片)创建应用程序。然后,您可以使用powershell设置令牌生存时间。