RSA 공개 키를 사용하여 SharePoint Server에서 OIDC 인증 설정
적용 대상:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
OIDC는 JWT(JSON 웹 토큰)를 사용하여 사용자의 ID를 확인하고 보호된 리소스에 대한 액세스 권한을 부여하는 인증 프로토콜입니다. JWT는 대칭 키(발급자와 소비자 간에 공유됨) 또는 비대칭 키(퍼블릭/프라이빗 키 쌍)를 사용하여 디지털 서명됩니다.
SharePoint Server는 현재 공개 키 및 기타 메타데이터를 포함하는 인증서인 x5c 키를 사용하여 OIDC 인증 흐름을 지원합니다. 그러나 일부 OIDC 공급자는 x5c 키를 사용하지 않고 RSA 모듈러스 및 RSA 공용 지수로 직접 표현되는 RSA 공용 키를 대신 사용할 수 있습니다. 이러한 공급자를 지원하기 위해 SharePoint Server는 JWT에서 RSA 공개 키를 구문 분석하고 유효성을 검사하는 기능을 추가했습니다.
이 문서에서는 RSA 공개 키를 사용하여 SharePoint Server에서 OIDC 인증을 설정하는 데 도움이 되는 버전 24H2의 새로운 개선 사항을 설명합니다.
RSA 공개 키를 사용하는 OIDC 구성 개요
- 여기에 설명된 단계를 수행하여 전역 관리자 자격 증명을 사용하여 Microsoft Entra ID OIDC를 설정합니다.
- SharePoint Server 팜의 버전에 따라 SharePoint Server 팜 속성을 수정합니다. 자세한 내용은 SharePoint 팜 속성 변경을 참조하세요.
-
이 문서에 설명된 단계를 사용하여 RSA 공개 키를 사용하여 만들어
SPTrustedIdentityTokenIssuer
ID 공급자를 신뢰하도록 SharePoint를 구성합니다. - 이전 단계에서 만든 를 사용하여
SPTrustedIdentityTokenIssuer
sharePoint에서 Microsoft Entra OIDC와 페더레이션되도록 웹 애플리케이션을 구성합니다. 자세한 내용은 새 웹 애플리케이션 만들기를 참조하세요. - 웹 애플리케이션이 SSL 인증서로 구성되어 있는지 확인합니다. 웹 애플리케이션을 구성하려면 인증서를 설정하는 단계를 수행 합니다.
- Windows 관리자와 페더레이션된(Microsoft Entra ID) 관리자로 팀 사이트 모음을 만듭니다. 자세한 내용은 사이트 모음 만들기를 참조하세요.
- 사용자 지정 클레임 공급자 또는 SharePoint Server 구독 버전 포함된 새 UPA 백업 클레임 공급자를 사용하여 사람 선택기를 설정합니다. 사람 선택 설정을 참조하세요.
3단계: RSA 공개 키를 사용하여 ID 공급자를 신뢰하도록 SharePoint 구성
RSA 공개 키의 경우 SharePoint가 OIDC 공급자로 신뢰해야 하는 구성을 저장하기 위해 을 만들거나 설정합니다 SPTrustedTokenIssuer
. 수동으로 또는 메타데이터 엔드포인트를 사용하여 ID 공급자를 신뢰하도록 SharePoint를 구성할 수 있습니다.
메타데이터 엔드포인트를 사용하여 RSA 공개 키로 SharePoint OIDC 구성
관리자는 RSA 공개 키에 메타데이터 엔드포인트를 사용할 때 x5c 키에 사용되는 것과 동일한 PowerShell 명령을 따를 수 있습니다. SharePoint는 메타데이터 엔드포인트 응답에서 사용되는 키 종류를 파악하고 적절하게 만듭니다 SPTrustedIdentityTokenIssuer
. 자세한 내용은 예제에 대한 메타데이터 엔드포인트를 사용하여 Microsoft Entra ID 신뢰하도록 SharePoint 구성을 참조하세요.
RSA 공개 키를 사용하여 수동으로 SharePoint OIDC 구성
RSA 공개 키에 대해 를 수동으로 만들거나 설정할 SPTrustedIdentityTokenIssuer
때 RSA 공개 키 모듈러스 및 지수를 정의하기 위해 또는 Set-SPTrustedIdentityTokenIssuer
cmdlet을 실행하는 New-SPTrustedIdentityTokenIssuer
동안 새 -PublicKey
매개 변수를 지정해야 합니다.
New-SPTrustedIdentityTokenIssuer
매개 변수를 사용하여 다음 PowerShell cmdlet을 -PublicKey
실행할 수 있습니다.
New-SPTrustedIdentityTokenIssuer -Name "RSA-Manual" -Description "RSA Manually Created" -PublicKey $publicKeyXML -ClaimsMappings $emailClaimMap -IdentifierClaim $emailClaimMap.InputClaimType -DefaultClientIdentifier $clientIdentifier -RegisteredIssuerName $registeredissuernameurl -AuthorizationEndPointUri $authendpointurl -SignOutUrl $signouturl -Scope "openid profile"
PowerShell cmdlet은 New-SPTrustedIdentityTokenIssuer
다음 매개 변수를 사용합니다.
매개 변수 | 설명 |
---|---|
이름 | 새 토큰 발급자에게 이름을 지정합니다. |
설명 | 새 토큰 발급자에게 설명을 제공합니다. |
PublicKey | 값이 RSA 공개 키 모듈러스 및 지수를 정의하는 XML 문자열이어야 한다고 지정합니다. 값의 $publicKeyXML 예: |
ClaimsMappings |
SPClaimTypeMapping 에서 SharePoint의 식별자로 간주되는 클레임을 id_token 식별하는 데 사용되는 개체입니다. |
IdentifierClaim | 식별자 유형을 지정합니다. |
DefaultClientIdentifier | OIDC ID 공급자가 할당하는 SharePoint 서버의 를 지정 client_id 합니다. 의 aud 클레임에 대해 유효성이 검사됩니다 id_token . |
RegisteredIssuerName | 를 발급하는 발급자 식별자를 지정합니다 id_token . 의 유효성을 검사 id_token 하는 데 사용됩니다. |
AuthorizationEndPointUrl | OIDC ID 공급자의 권한 부여 엔드포인트를 지정합니다. |
SignoutUrl | OIDC ID 공급자의 로그아웃 엔드포인트를 지정합니다. |
x509 인증서에서 올바른 $publicKeyXML
값을 추출하려면 다음 PowerShell 명령을 실행할 수 있습니다.
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
$cert.Import("c:\certs\YourSigningCertificateHere.cer")
$publicKeyXml = $cert.PublicKey.Key.ToXmlString($false)
Set-SPTrustedIdentityTokenIssuer
cmdlet은 Set-SPTrustedIdentityTokenIssuer
RSA 공개 키에 대한 새 -PublicKey
매개 변수를 지원하고 사용하는 것과 동일한 <RSAKeyValue><Modulus>modulus</Modulus><Exponent>exponent</Exponent></RSAKeyValue>
XML 문자열을 New-SPTrustedIdentityTokenIssuer
사용합니다. 예:
Set-SPTrustedIdentityTokenIssuer -Identity "RSA-Manual" -PublicKey $publicKeyXml -IsOpenIDConnect
OIDC 구성 개선 사항
버전 24H2를 사용하면 관리자는 ID 공급자를 신뢰하도록 SharePoint Server를 구성할 때 다음과 같은 개선 사항을 기대할 수 있습니다.
OIDC에서 여러 클라이언트 식별자를 구성할 수 있습니다.
이제 OIDC SPTrustedIdentityTokenIssuer
에서 -ScopedClientIdentifier 스위치를 사용하여 여러 클라이언트 식별자를 구성할 수 있습니다. 다음 명령을 실행합니다.
Set-SPTrustedIdentityTokenIssuer -Identity <name> -ScopedClientIdentifier Dictionary<Uri,string> -IsOpenIDConnect
Set-SPTrustedIdentityTokenIssuer ClaimsMappings 편집 기능 사용
이전 SharePoint Server 릴리스에서 를 만들 SPTrustedIdentityTokenIssuer
때 IdP 토큰에서 SharePoint 발급 토큰으로 클레임을 매핑하는 데 사용되는 클레임 매핑 목록을 제공해야 합니다. 만든 후에 SPTrustedIdentityTokenIssuer
는 기존 클레임 매핑만 제거하거나 제거한 클레임 매핑을 다시 추가할 수 있습니다. 이 매핑은 제거한 것과 동일합니다. 그러나 원래 목록에 없는 새 클레임 매핑을 추가하거나 기존 클레임 매핑을 변경할 수 없습니다.
버전 24H2 빌드의 새 업데이트를 통해 사용자는 클레임 매핑 목록을 변경할 수 있도록 에 새 매개 변수 Set-SPTrustedIdentityTokenIssuer
를 추가할 수 있습니다. 이 새로운 다음 매개 변수를 사용하면 토큰 발급자의 클레임 매핑 목록을 수정할 수도 있습니다.
새 매개 변수: -ClaimsMappings <SPClaimMappingPipeBind[]>
리디렉션 URL에서 와일드카드 문자로 작업할 수 없는 OIDC IDP 지원
Azure Active Directory B2C와 같은 일부 OIDC IdP는 리디렉션 URL에서 와일드카드 문자로 작업할 수 없습니다. 이렇게 하면 SharePoint가 인증 후에 요청되는 원래 리소스로 다시 리디렉션할 수 없습니다. 이 릴리스에서는 SharePoint가 리디렉션할 URL을 알 수 있도록 리디렉션 URL을 유지하기 위해 응답 헤더에 상태 속성을 추가했습니다.
다음 PowerShell cmdlet을 사용하여 만든 tokenissuer에서 사용하도록 설정할 수 있습니다.
Set-SPTrustedIdentityTokenIssuer -Identity <name> -UseStateToRedirect:$True -IsOpenIDConnect
타이머 작업별 인증서 새로 고침
매일 구성된 OIDC 메타데이터 엔드포인트에서 최신 구성 설정을 자동으로 가져오고 그에 따라 OIDC 신뢰할 수 있는 토큰 발급자를 업데이트하는 새 타이머 작업(RefreshMetadataFeed)이 만들어집니다. 여기에는 토큰 암호화 및 서명, 토큰 발급자, 권한 부여 엔드포인트 및 SignoutUrl에 사용되는 인증서가 포함됩니다. 타이머 작업 일정을 변경하여 새로 고침 빈도를 변경할 수 있습니다. 예를 들어 PowerShell을 사용하여 타이머 작업 일정을 "매주 토요일 5:00"으로 변경할 수 있습니다.
Get-SPTimerJob refreshmetadafeed | Set-SPTimerJob -Schedule "weekly at sat 5:00"
이 타이머 작업은 메타데이터 엔드포인트를 사용하여 OIDC 신뢰할 수 있는 토큰 발급자를 설정할 때 사용하도록 설정됩니다. 이 업데이트를 적용하기 전에 OIDC 신뢰할 수 있는 토큰 발급자 설정이 있는 경우 이 토큰 발급자에서 타이머 작업을 사용하도록 설정할 수 있도록 이 토큰 발급자를 다시 설정해야 합니다. PowerShell을 사용하여 토큰 발급자를 다시 설정할 수 있습니다.
Set-SPTrustedIdentityTokenIssuer -Identity <OIDCtokenissuer> -MetadataEndPoint <URL>