먼저, 저는 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
Add-AzureADServicePrincipalPolicy (AzureADPreview)
The Add-AzureADServicePrincipalPolicy cmdlet adds a service principal policy.
docs.microsoft.com
'프로그래밍' 카테고리의 다른 글
Azure Portal에서 API Management 서비스 생성하는 방법 (0) | 2021.07.29 |
---|---|
Azure Portal에서 App Services 생성 및 소스 배포하는 방법 (0) | 2021.07.28 |
c# String.Substring 마지막 문자열 자르기 (0) | 2021.07.06 |
[c#] request Headers Host, RequestUri 변경 하기 (0) | 2021.07.04 |
[c#] Web Api System.Web.Http AuthorizeAttribute 이용시 Bearer Token CustomAuthorize 구현 (0) | 2021.07.02 |
댓글