토큰 수명 정책 구성(미리 보기)

다음 단계에서는 토큰 수명에 대한 새 규칙을 적용하는 일반적인 정책 시나리오를 구현합니다. Microsoft ID 플랫폼에서 발급된 액세스, SAML 또는 ID 토큰의 수명을 지정할 수 있습니다. 이는 조직의 모든 앱이나 특정 앱 또는 주체에 대해 설정할 수 있습니다. 다중 조직(다중 테넌트 애플리케이션)에 대해 설정할 수도 있습니다.

자세한 내용은 구성 가능한 토큰 수명을 참조하세요.

시작하기

시작하려면 최신 Microsoft Graph PowerShell ADK를 다운로드합니다.

정책을 만들고 앱에 할당

다음 단계에서는 사용자가 웹앱에서 덜 자주 인증하도록 요구하는 정책을 만듭니다. 웹앱에 대한 액세스/ID 토큰의 수명을 4시간으로 설정하는 정책을 앱에 할당합니다.

Install-Module Microsoft.Graph

Connect-MgGraph -Scopes  "Policy.ReadWrite.ApplicationConfiguration","Policy.Read.All","Application.ReadWrite.All"

# Create a token lifetime policy
$params = @{
	Definition = @('{"TokenLifetimePolicy":{"Version":1,"AccessTokenLifetime":"4:00:00"}}') 
    DisplayName = "WebPolicyScenario"
	IsOrganizationDefault = $false
}
$tokenLifetimePolicyId=(New-MgPolicyTokenLifetimePolicy -BodyParameter $params).Id

# Display the policy
Get-MgPolicyTokenLifetimePolicy -TokenLifetimePolicyId $tokenLifetimePolicyId

# Assign the token lifetime policy to an app
$params = @{
	"@odata.id" = "https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/$tokenLifetimePolicyId"
}

$applicationObjectId="aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"

New-MgApplicationTokenLifetimePolicyByRef -ApplicationId $applicationObjectId -BodyParameter $params

# List the token lifetime policy on the app
Get-MgApplicationTokenLifetimePolicy -ApplicationId $applicationObjectId

# Remove the policy from the app
Remove-MgApplicationTokenLifetimePolicyByRef -ApplicationId $applicationObjectId -TokenLifetimePolicyId $tokenLifetimePolicyId

# Delete the policy
Remove-MgPolicyTokenLifetimePolicy -TokenLifetimePolicyId $tokenLifetimePolicyId

정책을 만들고 서비스 주체에 할당

다음 단계에서는 사용자가 웹앱에서 덜 자주 인증하도록 요구하는 정책을 만듭니다. 웹앱에 대한 액세스/ID 토큰의 수명을 8시간으로 설정하는 정책을 서비스 주체에 할당합니다.

토큰 수명 정책을 만듭니다.

POST https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies
Content-Type: application/json
{
    "definition": [
        "{\"TokenLifetimePolicy\":{\"Version\":1,\"AccessTokenLifetime\":\"8:00:00\"}}"
    ],
    "displayName": "Contoso token lifetime policy",
    "isOrganizationDefault": false
}

서비스 주체에게 정책을 할당합니다.

POST https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies/$ref
Content-Type: application/json
{
  "@odata.id":"https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/22222222-2222-2222-2222-222222222222"
}

서비스 주체에 대한 정책을 나열합니다.

GET https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies

서비스 주체에서 정책을 제거합니다.

DELETE https://graph.microsoft.com/v1.0/servicePrincipals/00001111-aaaa-2222-bbbb-3333cccc4444/tokenLifetimePolicies/22222222-2222-2222-2222-222222222222/$ref

테넌트에서 기존 정책 보기

조직에서 만든 모든 정책을 확인하려면 Get-MgPolicyTokenLifetimePolicy cmdlet을 실행합니다. 위에 나열된 기본값과 다른 정의된 속성 값이 있는 결과는 사용 중지 범위에 포함됩니다.

Get-MgPolicyTokenLifetimePolicy

사용자가 식별한 특정 정책에 어떤 앱이 연결되었는지 확인하려면 정책 ID로 List appliesTo를 실행합니다.

GET https://graph.microsoft.com/v1.0/policies/tokenLifetimePolicies/00aa00aa-bb11-cc22-dd33-44ee44ee44ee/appliesTo

다음 단계

Microsoft Entra 조건부 액세스의 인증 세션 관리 기능에 대해 알아봅니다.