최신 인증을 위한 향상된 인물 선택기

적용 대상:no-img-132013 no-img-162016 no-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint in Microsoft 365

SAML(Security Assertion Markup Language) 1.1 또는 OIDC(OpenID Connect) 1.0과 같은 최신("신뢰할 수 있는 ID 공급자") 인증을 사용하는 경우 피플 선택기 컨트롤은 사용자 및 그룹을 검색, 확인 및 유효성 검사할 수 없습니다. 대신 기본 동작은 유효한 클레임이 아니더라도 입력된 값을 확인하는 것입니다. 이전 버전의 SharePoint Server에서 유일한 솔루션은 사용자 지정 클레임 공급자를 사용하는 것이었습니다.

SPSE(SharePoint Server Subscription Edition)에서 사용자 프로필 애플리케이션(UPA, 일명 UPSA)의 프로필에 따라 사용자 및 그룹을 확인할 수 있도록 피플 선택기가 향상되었습니다. 신뢰할 수 있는 ID 공급자 멤버 자격 저장소에서 사용자 및 그룹을 동기화하도록 UPA를 구성해야 합니다. 이렇게 하면 사용자 선택기가 사용자 지정 클레임 공급자를 요구하지 않고도 유효한 사용자 및 그룹을 확인할 수 있습니다.

참고

SharePoint Server 구독 버전에서 사용자 지정 클레임 공급자를 사용하는 것은 여전히 피플 선택 문제에 대한 유효한 솔루션입니다. 이 문서에서 설명한 UPA 기반 클레임 공급자의 제한 사항이 조직에 너무 제한적인 경우 SharePoint에서 클레임 공급자 만들기를 참조하세요.

중요

SharePoint Server에 포함된 기본 사용자 프로필 가져오기 엔진인 "AD 가져오기(Active Directory Import)"는 온-프레미스 Active Directory 도메인 및 포리스트에서 사용자 프로필을 가져오는 데만 사용할 수 있습니다. Microsoft Entra ID에서 사용자 프로필을 가져오도록 구성할 수 없습니다. Entra ID로 지원되는 OIDC 인증을 사용하는 경우 사용자 지정 클레임 공급자를 사용하여 피플 선택기 기능을 제공하는 것이 좋습니다.

UPA 지원 피플 선택기가 작동하도록 하는 구성 단계는 다음과 같습니다.

1단계: SPTrustedIdentityTokenIssuer에 UPA-Backed 클레임 공급자 추가

참고

SAML 1.1 신뢰할 수 있는 ID 토큰 발급자의 경우 토큰 발급자를 만들 때 UPA 지원 클레임 공급자를 추가하거나 나중에 할당할 수 있습니다.
OIDC 1.0 신뢰할 수 있는 ID 토큰 발급자의 경우 먼저 토큰 발급자를 만든 다음 클레임 공급자를 할당할 수 있습니다. 기존 SPTrustedIdentityTokenIssuer에 UPA 백업 클레임 공급자 추가를 참조하세요.

새 SPTrustedIdentityTokenIssuer를 만들고 UPA 백업 클레임 공급자를 동시에 할당합니다.

참고

SAML 1.1 신뢰할 수 있는 ID 토큰 발급자에만 사용할 수 있습니다.

New-SPTrustedIdentityTokenIssuer PowerShell cmdlet을 사용하여 새 토큰 발급자를 만들고 UseUPABackedClaimProvider 스위치를 추가하여 클레임 공급자를 할당합니다.

New-SPTrustedIdentityTokenIssuer
    -ClaimsMappings <SPClaimMappingPipeBind[]> 
    -Description <String> 
    -IdentifierClaim <String> 
    -Name <String>
    -Realm <String> 
    -SignInUrl <String> 
    [-AssignmentCollection <SPAssignmentCollection>]
    -ImportTrustCertificate <X509Certificate2>
    [-UseWReply]
    [-Confirm] [-RegisteredIssuerName <String>]
    [-SignOutUrl <String>] 
    [-WhatIf] [<CommonParameters>]
    [-UseUPABackedClaimProvider]

다음 세 가지 매개 변수에는 특별한 주의가 필요합니다.

  • ClaimsMappings
    ClaimsMappings 는 원래 토큰에서 SharePoint 토큰으로의 클레임 매핑을 지정합니다. 이 매개 변수를 사용하여 SharePoint는 사용자 프로필 서비스 애플리케이션 속성에서 특정 토큰이 제공되면 SharePoint 토큰을 생성하는 방법을 이해합니다.
    New-SPClaimTypeMapping cmdlet에서 만든 개체 목록을 ClaimTypeMapping 허용합니다. 다음은 다양한 유형의 토큰 개체의 예 ClaimTypeMapping 이며 이러한 개체를 매개 변수에 ClaimsMappings 제공할 수 있습니다.
$emailClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
$upnClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn" -IncomingClaimTypeDisplayName "UPN" -SameAsIncoming
$roleClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/role" -IncomingClaimTypeDisplayName "Role" -SameAsIncoming
$sidClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid" -IncomingClaimTypeDisplayName "SID" -SameAsIncoming
  • IdentifierClaim
    매개 변수는 IdentifierClaim 식별자 클레임(일반적으로 이메일 또는 UPN)으로 사용할 클레임 유형을 지정합니다. New-SPClaimTypeMapping cmdlet에서 만든 개체의 ClaimTypeMapping 로 설정할 InputClaimType 수 있습니다.
-IdentifierClaim $emailClaimMap.InputClaimType
  • UseUPABackedClaimProvider
    이 switch 매개 변수를 사용하면 사용자 선택기가 사용자 프로필 애플리케이션 서비스에서 사용자 및 그룹을 검색하고 선택할 수 있습니다. 또한 와 이름이 같은 SPTrustedIdentityTokenIssuer를 만듭니다SPClaimProvider.

참고

"UseUPABackedClaimProvider" 매개 변수는 OIDC SPTrustedIdentityTokenIssuer를 만드는 데 사용할 수 없습니다. SAML SPTrustedIdentityTokenIssuer를 만드는 데만 사용할 수 있습니다.

예제:

# Create a new trusted identity token issuer, and assign a UPA-backed claim provider at the same time
New-SPTrustedIdentityTokenIssuer -Name "UPATest" -Description "Contoso.local" -ClaimsMappings $emailClaimMap -IdentifierClaim $emailClaimMap.InputClaimType -UseUPABackedClaimProvider

기존 SPTrustedIdentityTokenIssuer에 UPA 백업 클레임 공급자 추가

위의 예제에서는 신뢰할 수 있는 ID 토큰 발급자 생성 시 UPA 지원 클레임 공급자를 할당하는 방법을 보여 줍니다(SAML 공급자만 해당). 기존 신뢰할 수 있는 ID 토큰 발급자(SAML 또는 OIDC)가 있고 UPA 지원 클레임 공급자를 추가하려는 경우 다음 예제를 사용합니다.

참고

다음 PowerShell 스크립트 샘플은 SAML 1.1과 OIDC 1.0 인증 공급자 간에 약간 다릅니다. 올바른 샘플을 선택하세요.

SAML 예제

# Get the existing trusted identity token issuer named "SAML"
$stsidp = Get-SPTrustedIdentityTokenIssuer "SAML"

# Create the new UPA-backed claim provider 
$claimprovider = New-SPClaimProvider -AssemblyName "Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, publicKeyToken=71e9bce111e9429c"  -Description "UPA-Backed" -DisplayName "UPA-Backed Claim Provider" -Type "Microsoft.SharePoint.Administration.Claims.SPTrustedBackedByUPAClaimProvider" -TrustedTokenIssuer $stsidp

# Set the trusted identity token issuer to use the new claim provider
Set-SPTrustedIdentityTokenIssuer $stsidp -ClaimProvider $claimprovider

OIDC 예제

# Get the existing trusted identity token issuer named "OIDC"
$stsidp = Get-SPTrustedIdentityTokenIssuer "OIDC"

# Create the new UPA-backed claim provider 
$claimprovider = New-SPClaimProvider -AssemblyName "Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, publicKeyToken=71e9bce111e9429c"  -Description "UPA-Backed" -DisplayName "UPA-Backed Claim Provider" -Type "Microsoft.SharePoint.Administration.Claims.SPTrustedBackedByUPAClaimProvider" -TrustedTokenIssuer $stsidp

# Set the trusted identity token issuer to use the new claim provider
Set-SPTrustedIdentityTokenIssuer $stsidp -ClaimProvider $claimprovider -IsOpenIDConnect

2단계: UPSA에 프로필 동기화

이제 새로 만든 클레임 공급자가 올바른 데이터 집합에서 작업할 수 있도록 조직에서 사용되는 ID 공급자에서 UPSA(SharePoint 사용자 프로필 서비스 애플리케이션)에 사용자 프로필을 동기화할 수 있습니다.

다음은 SharePoint 사용자 프로필 서비스 애플리케이션에 사용자 프로필을 동기화하는 두 가지 방법입니다.

  • 동기화 연결 설정에서 신뢰할 수 있는 클레임 공급자 인증 과 함께 SharePoint AD 가져오기(AD 가져오기)를 인증 공급자 유형 으로 사용합니다. AD 가져오기를 사용하려면 SharePoint Server에서 사용자 프로필 동기화 관리를 참조하세요.

    새 동기화 연결을 추가합니다.

    중요

    AD 가져오기는 온-프레미스 Active Directory 도메인 및 포리스트에서 사용자 프로필을 가져오는 데만 사용할 수 있습니다. Entra ID에서 프로필을 가져오도록 구성할 수 없습니다. Entra ID로 지원되는 OIDC 인증을 사용하는 경우 사용자 지정 클레임 공급자를 사용하여 피플 선택기 기능을 제공하는 것이 좋습니다.

  • MIM(Microsoft Identity Manager)을 사용합니다. MIM을 사용하려면 SharePoint Servers 2016 및 2019의 Microsoft Identity Manager를 참조하세요.

  • MIM이 설정된 후 MIM 동기화 관리자 UX 내에 두 개의 에이전트가 있어야 합니다. 하나의 에이전트는 원본 IDP에서 MIM 데이터베이스로 사용자 프로필을 가져오는 데 사용됩니다. 또 다른 에이전트는 MIM 데이터베이스에서 SharePoint 사용자 프로필 서비스 애플리케이션으로 사용자 프로필을 내보내는 데 사용됩니다.

동기화하는 동안 사용자 프로필 서비스 애플리케이션에 다음 속성을 제공합니다.

a. SPS-ClaimID

  • 원본에서 사용자 프로필 서비스 애플리케이션(기본 메일 또는 사용자 계정 이름)의 SPS-ClaimID 속성에 매핑되는 고유 ID 속성을 선택합니다.
  • New-SPTrustedIdentityTokenIssuer cmdlet을 사용하여 신뢰할 수 있는 ID 토큰 발급자를 만들 때 해당 IdentifierClaim 매개 변수의 값이어야 합니다.

AD 가져오기 동기화의 경우 중앙 관리 -> 애플리케이션 관리 -> 서비스 애플리케이션 관리 -> 사용자 프로필 서비스 애플리케이션 -> 사용자 속성 관리 UX를 사용하면 관리자가 SPS-ClaimID 속성을 편집하여 원본 ID 공급자에서 SPS-ClaimID와 동기화해야 하는 특성을 나타낼 수 있습니다. 신뢰할 수 있는 ID 토큰 발급자의 식별자 클레임으로 사용되는 속성이어야 합니다. 예를 들어 식별자 클레임이 이메일이고 사용자 이메일 주소가 Active Directory의 "메일" 특성에 저장된 경우 클레임 사용자 식별자를 이 UX에서 "메일" 로 설정합니다.

참고

SPS-ClaimID의 표시 이름은 UX의 클레임 사용자 식별자이며 관리자는 표시 이름을 사용자 지정할 수 있습니다.

식별자 클레임에 대해 잘 모르는 경우 다음 PowerShell을 실행하여 확인할 수 있습니다. $trust = Get-SPTrustedIdentityTokenIssuer$trust.IdentityClaimTypeInformation

클레임 사용자 식별자입니다.

속성 설정.

동기화에 대한 속성 매핑입니다.

MIM 동기화의 경우 식별자 클레임(일반적으로 이메일 또는 사용자 계정 이름)을 MIM 데이터베이스의 SPS-ClaimID 에 SharePoint 사용자 프로필 서비스 애플리케이션 에이전트에 매핑합니다.

  • MIM 동기화 서비스 관리자에서 에이전트를 선택하고 특성 흐름 구성 UX를 엽니다. 메일SPS-ClaimID에 매핑할 수 있습니다.

    빌드 특성 흐름.

b. SPS-ClaimProviderID 및 SPS-ClaimProviderType

참고

AD 가져오기 동기화의 경우 "SPS-ClaimID(클레임 사용자 식별자)" 속성 매핑만 업데이트하면 됩니다. MIM 동기화와 달리 "클레임 공급자 식별자"(SPS-ClaimProviderID) 및 "클레임 공급자 유형"(SPS-ClaimProviderType)을 매핑할 필요가 없습니다.

MIM 동기화의 경우 MIM 데이터베이스에 대한 특성 흐름 구성 UX에서 다음 두 속성을 SharePoint 사용자 프로필 서비스 애플리케이션 에이전트로 설정합니다.

  • SPS-ClaimProviderType을 상수 형식으로 신뢰할 수 있는 형식으로 설정합니다.

  • New-SPTrustedIdentityTokenIssuer cmdlet을 사용하여 SPS-ClaimProviderID를 공급자 이름으로 설정합니다.

    특성 흐름을 구성합니다.

3단계: 그룹을 검색 가능으로 만들기

중요

UPA 지원 클레임 공급자를 사용하여 보안 그룹을 확인하는 것은 SID(보안 식별자) 그룹을 사용하고 그룹을 사용자 프로필 서비스 애플리케이션으로 가져오는 경우에만 작동합니다.
Entra ID로 지원되는 OIDC 인증을 사용하는 경우 클라우드 전용 그룹에는 SID가 없으며 AD 가져오기가 Entra ID와 동기화될 수 없습니다.
SharePoint 사이트 권한 내에서 클라우드 전용 사용자 또는 그룹을 사용해야 하는 경우 사용자 지정 클레임 공급자가 유일한 솔루션일 수 있습니다.

피플 선택 컨트롤이 보안 그룹과 작동하도록 설정하려면 다음 단계를 완료합니다.

  1. Group 개체에 ID 공급자에 groupsid 형식의 SID라는 속성이 있는지 확인합니다.
    "groupSID"에 대한 클레임 매핑이 아직 없는 경우 New-SPClaimTypeMapping을 사용하여 개체를 만든 ClaimTypeMapping 다음, 매개 변수를 사용하여 New-SPTrustedIdentityTokenIssuer cmdlet -ClaimsMappings 에 이 개체를 제공할 수 있습니다.

예제:

# Add Group SID as a claim type to an existing trusted provider named "SAML"
$Trust = Get-SPTrustedIdentityTokenIssuer -Identity "SAML"
$Trust.ClaimTypes.Add("http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid")
$Trust.Update()

# Add a claim mapping for Group SID
$GroupSidClaimMap = New-SPClaimTypeMapping -IncomingClaimType "http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid" -IncomingClaimTypeDisplayName "Group SID" -SameAsIncoming
$Trust = Get-SPTrustedIdentityTokenIssuer "SAML"
Add-SPClaimTypeMapping –TrustedIdentityTokenIssuer $Trust -Identity $GroupSidClaimMaps
  1. ID 공급자에서 사용자 프로필 서비스 애플리케이션의 SID 속성으로 그룹의 SID 속성을 동기화합니다.

    • AD 가져오기 동기화의 경우 SID 속성은 원본 ID 공급자에서 SharePoint 사용자 프로필 서비스 애플리케이션으로 자동으로 동기화됩니다.

    • MIM 동기화의 경우 ID 공급자에서 MIM으로, MIM에서 SharePoint 사용자 프로필 서비스 애플리케이션으로 속성 매핑을 수행하여 MIM이 ID 공급자의 그룹 SID 를 SharePoint 사용자 프로필 서비스 애플리케이션으로 동기화할 수 있도록 합니다. 이 단계는 SPS-ClaimID 속성이 사용자 프로필에 매핑된 방식과 유사하며, 이 경우에만 "그룹" 개체 형식에 대한 매핑이 업데이트됩니다.

      참고

      MIM 동기화의 경우 MIM에서 SharePoint 사용자 프로필 서비스 애플리케이션으로 Group 개체의 accountNamesAMAccountName을 매핑합니다.

4단계: UPSA에서 속성을 검색 가능으로 설정

사용자 선택기가 작동하도록 하려면 최종 단계는 사용자 프로필 서비스 애플리케이션에서 검색할 수 있는 속성을 사용하도록 설정하는 것입니다.

관리자는 이 샘플 PowerShell 스크립트에 따라 People Picker에서 검색하는 속성을 설정할 수 있습니다.

# Get the UPA property list
$site = $(Get-SPWebApplication $WebApplicationName).Sites[0]
$context = Get-SPServiceContext $site
$psm = [Microsoft.Office.Server.UserProfiles.ProfileSubTypeManager]::Get($context)
$ps = $psm.GetProfileSubtype([Microsoft.Office.Server.UserProfiles.ProfileSubtypeManager]::GetDefaultProfileName([Microsoft.Office.Server.UserProfiles.ProfileType]::User))
$properties = $ps.Properties

# Set the proerties defined in $PropertyNames as searchable. 
# In this example, we set First Name, Last Name, claim ID, email address, and PreferredName as searchable for the People Picker.
$PropertyNames = 'FirstName', 'LastName', 'SPS-ClaimID', 'WorkEmail', 'PreferredName'
foreach ($p in $PropertyNames) {
    $property = $properties.GetPropertyByName($p)
    if ($property) {
        $property.CoreProperty.IsPeoplePickerSearchable = $true
        $property.CoreProperty.Commit()
        $property.Commit()
    }
}

피플 선택기 검색에 사용하도록 설정된 UPSA 속성을 확인하려면 다음 PowerShell 샘플을 사용할 수 있습니다.

# Get the UPA property list
$site = $(Get-SPWebApplication $WebApplicationName).Sites[0]
$context = Get-SPServiceContext $site
$psm = [Microsoft.Office.Server.UserProfiles.ProfileSubTypeManager]::Get($context)
$ps = $psm.GetProfileSubtype([Microsoft.Office.Server.UserProfiles.ProfileSubtypeManager]::GetDefaultProfileName([Microsoft.Office.Server.UserProfiles.ProfileType]::User))
$properties = $ps.Properties

# Set the proerties defined in $PropertyNames as searchable. 
# In this example, we set First Name, Last Name, claim ID, email address, and PreferredName as searchable for the People Picker.
$PropertyNames = 'FirstName', 'LastName', 'SPS-ClaimID', 'WorkEmail', 'PreferredName'
foreach ($p in $PropertyNames) {
    $property = $properties.GetPropertyByName($p)
    if ($property) {
        $property.CoreProperty.IsPeoplePickerSearchable = $true
        $property.CoreProperty.Commit()
        $property.Commit()
    }
}