REST API, PowerShell 및 SCCLI를 사용하여 MFA(Multi-Factor Authentication)를 관리합니다
MFA 로그인은 브라우저, REST API, PowerShell 및 SCCLI에서 지원됩니다. MFA는 AD FS ID 관리자를 통해 지원됩니다. GUI, REST API, PowerShell 및 SCCLI에서 MFA를 사용하도록 설정하고 MFA를 사용하지 않도록 설정하고 MFA를 구성할 수 있습니다.
AD FS를 OAuth/OIDC로 설정합니다
-
Windows GUI 마법사를 사용하여 AD FS 구성 *
-
서버 관리자 대시보드 * > * 도구 * > * ADFS 관리 * 로 이동합니다.
-
ADFS * > * 응용 프로그램 그룹 * 으로 이동합니다.
-
응용 프로그램 그룹 * 을 마우스 오른쪽 단추로 클릭합니다.
-
응용 프로그램 그룹 추가 * 를 선택하고 * 응용 프로그램 이름 * 을 입력합니다.
-
서버 응용 프로그램 * 을 선택합니다.
-
다음 * 을 클릭합니다.
-
-
복사 * 클라이언트 식별자 *.
클라이언트 ID입니다. … 리디렉션 URL에 콜백 URL(SnapCenter 서버 URL)을 추가합니다. … 다음 * 을 클릭합니다.
-
공유 암호 생성 * 을 선택합니다.
암호 값을 복사합니다. 클라이언트의 비밀입니다. … 다음 * 을 클릭합니다.
-
요약 * 페이지에서 * 다음 * 을 클릭합니다.
-
완료 * 페이지에서 * 닫기 * 를 클릭합니다.
-
-
새로 추가된 * 응용 프로그램 그룹 * 을 마우스 오른쪽 단추로 클릭하고 * 속성 * 을 선택합니다.
-
앱 속성에서 * 응용 프로그램 추가 * 를 선택합니다.
-
응용 프로그램 추가 * 를 클릭합니다.
웹 API를 선택하고 * 다음 * 을 클릭합니다.
-
웹 API 구성 페이지에서 이전 단계에서 만든 SnapCenter 서버 URL 및 클라이언트 식별자를 식별자 섹션에 입력합니다.
-
추가 * 를 클릭합니다.
-
다음 * 을 클릭합니다.
-
-
액세스 제어 정책 선택 * 페이지에서 요구 사항에 따라 제어 정책(예: 모든 사용자 허용 및 MFA 필요)을 선택하고 * 다음 * 을 클릭합니다.
-
응용 프로그램 권한 구성 * 페이지에서 기본적으로 OpenID가 범위로 선택되어 있으면 * 다음 * 을 클릭합니다.
-
요약 * 페이지에서 * 다음 * 을 클릭합니다.
완료 * 페이지에서 * 닫기 * 를 클릭합니다.
-
샘플 응용 프로그램 속성 * 페이지에서 * 확인 * 을 클릭합니다.
-
인증 서버(AD FS)에서 발급하고 리소스에서 사용하도록 의도된 JWT 토큰입니다.
이 토큰의 'AUD' 또는 청중의 주장은 리소스 또는 웹 API의 식별자와 일치해야 합니다.
-
선택한 WebAPI를 편집하고 콜백 URL(SnapCenter 서버 URL)과 클라이언트 식별자가 올바르게 추가되었는지 확인합니다.
OpenID Connect를 구성하여 사용자 이름을 클레임으로 제공합니다.
-
서버 관리자 오른쪽 상단의 * 도구 * 메뉴 아래에 있는 * AD FS 관리 * 도구를 엽니다.
-
왼쪽 사이드바에서 * Application Groups * 폴더를 선택합니다.
-
웹 API를 선택하고 * edit * 를 클릭합니다.
-
발행 변환 규칙 탭으로 이동합니다
-
-
규칙 추가 * 를 클릭합니다.
-
클레임 규칙 템플릿 드롭다운에서 * 청구로 LDAP 속성 보내기 * 를 선택합니다.
-
다음 * 을 클릭합니다.
-
-
청구 규칙 * 이름을 입력합니다.
-
특성 저장소 드롭다운에서 * Active Directory * 를 선택합니다.
-
LDAP 속성 * 드롭다운에서 * 사용자 - 기본 - 이름 * 을 선택하고 O * uting Claim Type * 드롭다운에서 * UPN * 을 선택합니다.
-
마침 * 을 클릭합니다.
-
-
PowerShell 명령을 사용하여 애플리케이션 그룹을 생성합니다
PowerShell 명령을 사용하여 애플리케이션 그룹인 웹 API를 생성하고 범위와 청구서를 추가할 수 있습니다. 이러한 명령은 자동화된 스크립트 형식으로 사용할 수 있습니다. 자세한 내용은 <link to KB article> 를 참조하십시오.
-
다음 comamnd를 사용하여 AD FS에서 새 애플리케이션 그룹을 생성합니다.
New-AdfsApplicationGroup -Name $ClientRoleIdentifier -ApplicationGroupIdentifier $ClientRoleIdentifier
ClientRoleIdentifier
애플리케이션 그룹의 이름입니다redirectURL
인증 후 리디렉션에 대한 유효한 URL입니다 -
AD FS 서버 응용 프로그램을 생성하고 클라이언트 암호를 생성합니다.
Add-AdfsServerApplication -Name "$ClientRoleIdentifier - Server app" -ApplicationGroupIdentifier
$ClientRoleIdentifier -RedirectUri $redirectURL -Identifier $identifier -GenerateClientSecret
-
ADFS 웹 API 응용 프로그램을 만들고 사용할 정책 이름을 구성합니다.
$identifier = (New-Guid).Guid
Add-AdfsWebApiApplication -ApplicationGroupIdentifier $ClientRoleIdentifier -Name "App Web API"
-Identifier $identifier -AccessControlPolicyName "Permit everyone"
-
클라이언트 ID와 클라이언트 암호는 한 번만 표시되므로 다음 명령의 출력에서 가져옵니다.
"client_id = $identifier"
"client_secret: "$($ADFSApp.ClientSecret)
-
AD FS 응용 프로그램에 allat클레임 및 OpenID 권한을 부여합니다.
Grant-AdfsApplicationPermission -ClientRoleIdentifier $identifier -ServerRoleIdentifier $identifier -ScopeNames @('openid')
$transformrule = @"
@RuleTemplate = "LdapClaims"
@RuleName = "AD User properties and Groups"
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer ==
"AD AUTHORITY"]
⇒ issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"), query = ";userPrincipalName;{0}", param = c.Value);
"@
-
변환 규칙 파일을 작성합니다.
$transformrule |Out-File -FilePath .\issueancetransformrules.tmp -force -Encoding ascii
$relativePath = Get-Item .\issueancetransformrules.tmp
-
웹 API 응용 프로그램의 이름을 지정하고 외부 파일을 사용하여 발급 변환 규칙을 정의합니다.
Set-AdfsWebApiApplication -Name "$ClientRoleIdentifier - Web API" -TargetIdentifier
$identifier -Identifier $identifier,$redirectURL -IssuanceTransformRulesFile
$relativePath
액세스 토큰 만료 시간을 업데이트합니다
PowerShell 명령을 사용하여 액세스 토큰 만료 시간을 업데이트할 수 있습니다.
-
이 작업에 대한 정보 *
-
액세스 토큰은 사용자, 클라이언트 및 리소스의 특정 조합에 대해서만 사용할 수 있습니다. 액세스 토큰은 해지할 수 없으며 만료까지 유효합니다.
-
기본적으로 액세스 토큰의 만료 시간은 60분입니다. 이 최소 만료 시간은 충분하고 크기가 조정됩니다. 지속적으로 발생하는 비즈니스 크리티컬 작업을 방지할 수 있는 충분한 가치를 제공해야 합니다.
-
단계 *
애플리케이션 그룹 WebAPI에 대한 액세스 토큰 만료 시간을 업데이트하려면 AD FS 서버에서 다음 명령을 사용하십시오.
를 누릅니다
Set-AdfsWebApiApplication -TokenLifetime 3600 -TargetName "<Web API>"
AD FS에서 베어러 토큰을 가져옵니다
REST 클라이언트(예: Postman)에서 아래에 언급된 매개 변수를 입력해야 하며 사용자 자격 증명을 입력하라는 메시지가 표시됩니다. 또한, 베어러 토큰을 얻으려면 2차 인증 요소(보유 중인 인증 및 대상 인증)를 입력해야 합니다.
를 누릅니다 베어러 토큰의 유효성은 애플리케이션당 AD FS 서버에서 구성할 수 있으며, 기본 유효 기간은 60분입니다.
필드에 입력합니다 |
값 |
허가 유형 |
인증 코드 |
콜백 URL |
콜백 URL이 없는 경우 응용 프로그램의 기본 URL을 입력합니다. |
인증 URL |
[ADFS-DOMAIN-NAME]/ADFS/OAuth2/authorize |
액세스 토큰 URL |
[ADFS-DOMAIN-NAME]/ADFS/OAuth2/TOKEN |
클라이언트 ID입니다 |
AD FS 클라이언트 ID를 입력합니다 |
클라이언트 암호 |
AD FS 클라이언트 암호를 입력합니다 |
범위 |
OpenID를 선택합니다 |
클라이언트 인증 |
기본 AUTH 헤더로 보냅니다 |
리소스 |
고급 옵션* 탭에서 JWT 토큰에 "AUD" 값으로 제공되는 콜백 URL과 동일한 값을 가진 자원 필드를 추가합니다. |