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

次の手順では、トークンの有効期間に新しい規則を適用する一般的なポリシー シナリオを実装します。 Microsoft ID プラットフォームによって発行されたアクセス トークン、SAML トークン、または ID トークンの有効期間を指定できます。 これは、組織内のすべてのアプリまたは特定のサービス プリンシパルに対して設定できます。 マルチ組織 (マルチテナント アプリケーション) に対して設定することもできます。

詳細については、構成可能なトークンの有効期間に関する記事を参照してください。

はじめに

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

次に、Connect-AzureAD コマンドを実行して、Azure Active Directory (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

# Install the AzureAD Preview Module adding the -AllowClobber
Install-Module AzureADPreview -AllowClobber
Note: You cannot install both the preview and the GA version on the same computer at the same time. 

Connect-AzureAD
Get-AzureADPolicy -All $true

次のステップ

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