トークンの有効期間ポリシーを構成する (プレビュー)

Microsoft ID プラットフォームによって発行されたアクセス トークン、SAML トークン、または ID トークンの有効期間を指定できます。 組織のすべてのアプリ、マルチテナント (複数の組織) アプリケーション、または組織の特定のサービス プリンシパルに対して、トークンの有効期間を設定できます。 詳細については、構成可能なトークンの有効期間に関する記事を参照してください。

このセクションでは、トークンの有効期間に新しいルールを適用する場合に役立つ、一般的なポリシー シナリオについて説明します。 この例では、Web アプリでユーザーによる頻繁な認証を必須とするポリシーを作成する方法を説明します。

はじめに

はじめに、最新版の Azure AD PowerShell モジュール パブリック プレビュー リリースをダウンロードします。

次に、Connect コマンドを実行して、Azure AD 管理者アカウントにサインインします。 新しいセッションを開始するたびにこのコマンドを実行します。

Connect-AzureAD -Confirm

Web サインインのポリシーを作成する

この例では、ユーザーが、Web アプリで頻繁に認証を必要とするポリシーを作成します。 このポリシーにより、Web アプリのサービス プリンシパルへのアクセス/ID トークンの有効期間が設定されます。

  1. トークンの有効期間ポリシーを作成します。

    このポリシーは、Web サインインの場合、アクセス/ID トークンの有効期間を 2 時間に設定します。

    ポリシーを作成するには、New-AzureADPolicy コマンドレットを実行します。

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

    新しいポリシーを表示して、そのポリシーの ObjectId を取得するには、Get-AzureADPolicy コマンドレットを実行します。

    Get-AzureADPolicy -Id $policy.Id
    
  2. サービス プリンシパルにポリシーを割り当てます。 サービス プリンシパルの ObjectId も取得する必要があります。

    Get-azureadserviceprincipal コマンドレットを使用して、組織のすべてのサービス プリンシパルまたは 1 つのサービス プリンシパルを表示します。

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

    サービス プリンシパルがある場合は、Add-AzureADServicePrincipalPolicy コマンドレットを実行します。

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

テナント内の既存のポリシーを表示する

組織で作成されたすべてのポリシーを表示するには、Get-AzureADPolicy コマンドレットを実行します。 上記の既定値と異なる定義されたプロパティ値が含まれる結果は、廃止の範囲内にあります。

Get-AzureADPolicy -All $true

特定のポリシーにリンクされているアプリとサービス プリンシパルを確認するには、1a37dad8-5da7-4cc8-87c7-efbc0326cf20 を独自のポリシー ID に置き換えて、次の Get-AzureADPolicyAppliedObject コマンドレットを実行します。 その後、条件付きアクセスのサインイン頻度を構成するか、Azure AD の既定値をそのまま使用するかを決定できます。

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

更新およびセッション トークン構成プロパティのカスタム値を定義するポリシーがテナントにある場合、Microsoft は、これらのポリシーを上記の既定値を反映する値に更新することをお勧めします。 変更が加えられていない場合、Azure AD によって自動的に既定値が使用されます。

トラブルシューティング

Get-AzureADPolicy コマンドレットの実行後に、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
Get-AzureADPolicy -All $true

次のステップ

Azure AD の条件付きアクセスにおける認証セッションの管理機能について学習する。