본문 바로가기
프로그래밍

Azure AD PowerShell을 이용해 토큰 만료 시간 정책 설정 하기

by 도장깨기 2021. 7. 9.
728x90
반응형

 

먼저, 저는 Auth2.0 Bearer Token 생성시 expires_in(토큰 만료 시간)을 변경하고 싶었는데요.

 

Azure AD PowerShell을 이용해 토큰 만료 시간 정책을 설정해보겠습니다.

 

시작에 앞서, 아래 PowerShell Script를 진행 하기 위해서는 Azure AD 정책을 관리할 수 있는 정도의 권한이 있어야합니다. 

 

저 같은 경우는 전역관리자 역할의 계정으로 테스트를 진행하였습니다.

 

 

 

PowerShell Script


 

가장 먼저, 

Azure PowerShell 혹은

Windows PowerShell ISE , Windows PowerShell 실행 후 

 

PS>

Install-Module -Name AzureADPreview

AzureADPreview 모듈을 설치 ( 이미 설치되어 있는 경우는 아래로 진행 )

 

PS>

Connect-AzureAD

Windows PowerShell ISE 나 Windows PowerShell 을 이용한경우

Azure AD 계정 로그인하여 연결


PS>

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

$policy 변수에 TokenLifetimepolicy가 정의된 AzureADPolicy 생성 스크립트 작성

예시) 시간은 15분으로 설정 

 

PS>

# Get ID of the service principal
$sp = Get-AzureADServicePrincipal -Filter "DisplayName eq 'AzureAD APP Name'"

위에 policy를 적용할 Azure AD App 이름 넣기

 

PS>

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

정책 적용 실행

 

토큰 만료시간 확인

(아래 예시는 Postman을 활용)

 

- ex) 아래 Postman Token 발급시 expires_in 시간 899(약15분)으로 변경 확인

+ 초반에 적용되는데 시간이 걸려서 간헐적으로 원래시간으로 토큰이 발급되는 경우가 있으나

시간이 지나면 정책을 적용한 시간으로 표시되는 것으로 확인되고 있음

 

 

- PowerShell 화면

 

 

만약 되돌리고 싶다면 정책을 삭제해 줘야하는데

아래와 같은 방법으로 진행하면 됩니다.

 

정책 해제(삭제) 방법

PS>

Get-AzureADPolicy -All $true

삭제할 정책 확인 후 

 

PS> 

Remove-AzureADPolicy -Id 'Id'

해당 id를 입력하여 삭제

 

- PowerShell 화면

 

 

 

참고 문서: 

- 토큰 수명 정책 구성

https://docs.microsoft.com/ko-kr/azure/active-directory/develop/configure-token-lifetimes

 

토큰 수명 설정 - Microsoft identity platform

Microsoft ID 플랫폼에서 발급된 토큰의 수명을 설명하는 방법을 알아봅니다. 조직의 기본 정책을 관리하고, 웹 로그인에 관한 정책을 만들고, 웹 API를 호출하는 네이티브 앱에 관한 정책을 만들고,

docs.microsoft.com

 

- Add-AzureADServicePrincipalPolicy 

https://docs.microsoft.com/en-us/powershell/module/azuread/add-azureadserviceprincipalpolicy?view=azureadps-2.0-preview

 

Add-AzureADServicePrincipalPolicy (AzureADPreview)

The Add-AzureADServicePrincipalPolicy cmdlet adds a service principal policy.

docs.microsoft.com

 

728x90
반응형

댓글