SAML 보안 토큰을 사용하여 인증 구성(SharePoint Server 2010)

 

적용 대상: SharePoint Foundation 2010, SharePoint Server 2010

마지막으로 수정된 항목: 2016-11-30

이 문서의 절차에서는 SAML(Security Assertion Markup Language) 보안 토큰을 사용하여 Microsoft SharePoint Server 2010 클레임 기반 웹 응용 프로그램에 대한 인증을 구성하는 방법을 설명합니다.

일반적으로 SAML 로그인은 비즈니스 파트너에게 액세스를 제공해야 하는 등의 엔터프라이즈 연결 시나리오에서 사용됩니다. 또한 SAML 로그인은 SharePoint Server 2010을 포함하는 포리스트의 일부가 아닌 도메인에 계정이 있는 내부 사용자에게 액세스를 제공하기 위해 배포되기도 합니다.

SAML 보안 토큰을 사용하여 SharePoint Server 2010 클레임 기반 웹 응용 프로그램에 대한 인증을 구성하려면 먼저 AD FS(Active Directory Federation Services) 2.0을 실행하는 서버를 구성해야 합니다. AD FS 2.0을 실행하도록 서버를 구성하는 방법에 대한 자세한 내용은 AD FS 2.0 Deployment Guide를 참조하십시오.

이 문서의 내용

  • Windows PowerShell을 사용하여 IP-STS(Identity Provider STS) 웹 응용 프로그램 구성

  • RP-STS(Relying Party STS) 웹 응용 프로그램 구성

  • Windows PowerShell을 사용하여 IP-STS와 RP-STS 간 트러스트 관계 설정

  • Windows PowerShell을 사용하여 신뢰할 수 있는 IP-STS 인증서 내보내기

  • Windows PowerShell을 사용하여 클레임 매핑의 고유 식별자 정의

  • SharePoint 웹 응용 프로그램을 만들고 SAML 로그인을 사용하도록 웹 응용 프로그램 구성

Windows PowerShell을 사용하여 IP-STS(Identity Provider STS) 웹 응용 프로그램 구성

다음 절차에 따라 Windows PowerShell을 사용하여 SharePoint 클레임 기반 웹 응용 프로그램을 구성합니다.

Windows PowerShell을 사용하여 IP-STS(Identity Provider STS) 웹 응용 프로그램을 구성하려면

  1. 다음과 같은 최소 요구 사항을 충족하는지 확인합니다. Add-SPShellAdmin을 참조하십시오.

  2. 시작 메뉴에서 모든 프로그램을 클릭합니다.

  3. Microsoft SharePoint 2010 Products를 클릭합니다.

  4. SharePoint 2010 관리 셸을 클릭합니다.

  5. Windows PowerShell 명령 프롬프트에서 다음 예와 같이 x509Certificate2 개체를 만듭니다.

    $cert = New-Object
    System.Security.Cryptography.X509Certificates.X509Certificate2("path to cert file")
    
  6. 다음 예와 같이 신뢰할 수 있는 인증 공급자에서 사용할 클레임 유형 매핑을 만듭니다.

    New-SPClaimTypeMapping "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
    -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
    
  7. 다음 예와 같이 realm 매개 변수에 대한 값을 처음으로 만들어 신뢰할 수 있는 로그인 공급자를 만듭니다.

    $realm = "urn:" + $env:ComputerName + ":domain-int"
    
  8. 다음 예와 같이 Security Token Service 웹 응용 프로그램을 가리키는 signinurl 매개 변수의 값을 만듭니다.

    $signinurl = "https://test-2/FederationPassive/"
    
  9. 다음 예와 같이 클레임 매핑($map1.InputClaimType)에서와 동일한 IdentifierClaim 값을 사용하여 신뢰할 수 있는 로그인 공급자를 만듭니다.

    $ap = New-SPTrustedIdentityTokenIssuer -Name
    "WIF" -Description "Windows® Identity Foundation" -Realm
    $realm -ImportTrustCertificate $cert
    -ClaimsMappings $map1[,$map2..] -SignInUrl
    $signinurl -IdentifierClaim $map1.InputClaimType
    
  10. 다음 예와 같이 웹 응용 프로그램 풀 계정(현재 사용자용)에 대한 값을 처음으로 만들어 웹 응용 프로그램을 만듭니다.

    $account = "DOMAIN\" + $env:UserName
    

    참고

    응용 프로그램 풀 계정은 관리되는 계정이어야 합니다. 관리되는 계정을 만들려면 New-SPManagedAccount를 사용합니다.

  11. 다음 예와 같이 웹 응용 프로그램 URL에 대한 값($webappurl = "https://" + $env:ComputerName)을 만듭니다.

    $wa = New-SPWebApplication -name "Claims WIF"
    -SecureSocketsLayer -ApplicationPool "SharePoint SSL"
    -ApplicationPoolAccount $account -Url $webappurl -Port 443
    -AuthenticationProvider $ap
    
  12. 다음 예와 같이 클레임 개체를 처음으로 만들어 사이트를 만듭니다.

    $claim = New-SPClaimsPrincipal
    -TrustedIdentityTokenIssuerr $ap -Identity
    $env:UserName
    
  13. 다음 예와 같이 사이트를 만듭니다.

    $site = New-SPSite $webappurl -OwnerAlias
    $claim.ToEncodedString() -template "STS#0"
    

RP-STS(Relying Party STS) 웹 응용 프로그램 구성

이 섹션의 절차에 따라 Relying Party STS 웹 응용 프로그램을 구성합니다.

RP-STS(Relying Party STS) 웹 응용 프로그램을 구성하려면

  1. AD FS(Active Directory Federation Services) 2.0 관리 콘솔을 엽니다.

  2. 왼쪽 창에서 정책을 확장하고 신뢰 당사자를 선택합니다.

  3. 오른쪽 창에서 신뢰 당사자 추가를 클릭합니다. 그러면 AD FS(Active Directory Federation Services) 2.0 구성 마법사가 열립니다.

  4. 마법사의 첫 번째 페이지에서 시작을 클릭합니다.

  5. 신뢰 당사자 구성 수동으로 입력을 선택하고 다음을 클릭합니다.

  6. 신뢰 당사자 이름을 입력하고 다음을 클릭합니다.

  7. AD FS(Active Directory Federation Services) 2.0 서버 프로필이 선택되었는지 확인하고 다음을 클릭합니다.

  8. 암호화 인증서를 사용하지 마십시오. 다음을 클릭합니다.

  9. 웹 브라우저 기반 ID 페더레이션 지원 사용을 선택합니다.

  10. 웹 응용 프로그램 URL의 이름을 입력하고 /_trust/ 를 추가합니다(예: https://서버 이름/_trust/). 다음을 클릭합니다.

  11. 식별자 이름(예: urn:COMPUTERNAME:Geneva)을 입력하고 추가를 클릭합니다. 다음을 클릭합니다.

  12. 요약 페이지에서 다음을 클릭하고 닫기를 클릭합니다. 그러면 규칙 편집기 관리 콘솔이 열립니다. 이 콘솔을 사용하여 LDAP 웹 응용 프로그램에서 SharePoint로 클레임 매핑을 구성합니다.

  13. 왼쪽 창에서 새 규칙을 확장하고 미리 정의된 규칙을 선택합니다.

  14. LDAP 특성 저장소에서 클레임 만들기를 선택합니다.

  15. 오른쪽 창의 특성 저장소 드롭다운 목록에서 엔터프라이즈 Active Directory 사용자 계정 저장소를 선택합니다.

  16. LDAP 특성에서 sAMAccountName을 선택합니다.

  17. 나가는 클레임 유형에서 전자 메일 주소를 선택합니다.

  18. 왼쪽 창에서 저장을 클릭합니다.

Windows PowerShell을 사용하여 IP-STS와 RP-STS 간 트러스트 관계 설정

이 섹션의 절차에 따라 IP-STS와의 트러스트 관계를 설정합니다.

Windows PowerShell을 사용하여 IP-STS와의 트러스트 관계를 설정하려면

  1. 다음과 같은 최소 요구 사항을 충족하는지 확인합니다. Add-SPShellAdmin을 참조하십시오.

  2. 시작 메뉴에서 모든 프로그램을 클릭합니다.

  3. Microsoft SharePoint 2010 Products를 클릭합니다.

  4. SharePoint 2010 관리 셸을 클릭합니다.

  5. Windows PowerShell 명령 프롬프트에서 다음 예와 같이 트러스트 관계를 설정합니다.

    $waurl = "https://" + $env:ComputerName
    $title = "SAML-Claims"
    

Windows PowerShell을 사용하여 신뢰할 수 있는 IP-STS 인증서 내보내기

이 섹션의 절차에 따라 트러스트 관계를 설정할 IP-STS의 인증서를 내보낸 다음, Microsoft SharePoint Server 2010에서 액세스할 수 있는 위치로 인증서를 복사합니다.

Windows PowerShell을 사용하여 신뢰할 수 있는 IP-STS 인증서를 내보내려면

  1. 다음과 같은 최소 요구 사항을 충족하는지 확인합니다. Add-SPShellAdmin을 참조하십시오.

  2. 시작 메뉴에서 모든 프로그램을 클릭합니다.

  3. Microsoft SharePoint 2010 Products를 클릭합니다.

  4. SharePoint 2010 관리 셸을 클릭합니다.

  5. Windows PowerShell 명령 프롬프트에서 다음 예와 같이 신뢰할 수 있는 IP-STS 인증서를 내보냅니다.

    $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("c:\geneva.cer")
    

Windows PowerShell을 사용하여 클레임 매핑의 고유 식별자 정의

이 섹션의 절차에 따라 클레임 매핑의 고유 식별자로 사용될 전자 메일 주소를 정의합니다. 토큰에 포함된 어떤 값이 사용자별로 항상 고유한지는 STS의 소유자만 알고 있기 때문에 일반적으로 신뢰할 수 있는 STS의 관리자가 이 정보를 제공해야 합니다. 신뢰할 수 있는 STS의 관리자는 해당 전자 메일 주소를 나타내는 URI를 만들 수 있습니다.

Windows PowerShell을 사용하여 클레임 매핑의 고유 식별자를 정의하려면

  1. 다음과 같은 최소 요구 사항을 충족하는지 확인합니다. Add-SPShellAdmin을 참조하십시오.

  2. 시작 메뉴에서 모든 프로그램을 클릭합니다.

  3. Microsoft SharePoint 2010 Products를 클릭합니다.

  4. SharePoint 2010 관리 셸을 클릭합니다.

  5. Windows PowerShell 명령 프롬프트에서 다음 예와 같이 매핑을 만듭니다.

    $map = New-SPClaimTypeMapping -IncomingClaimType "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" -IncomingClaimTypeDisplayName "EmailAddress" -SameAsIncoming
    

새 인증 공급자 만들기

이 섹션의 절차에 따라 웹 응용 프로그램에서 사용할 새 인증 공급자를 만듭니다.

Windows PowerShell을 사용하여 새 인증 공급자를 만들려면

  1. 다음과 같은 최소 요구 사항을 충족하는지 확인합니다. Add-SPShellAdmin을 참조하십시오.

  2. 시작 메뉴에서 모든 프로그램을 클릭합니다.

  3. Microsoft SharePoint 2010 Products를 클릭합니다.

  4. SharePoint 2010 관리 셸을 클릭합니다.

  5. Windows PowerShell 명령 프롬프트에서 다음 예와 같이 새 인증 공급자를 만듭니다. realm은 신뢰할 수 있는 STS에서 특정 SharePoint 팜을 식별하기 위해 사용되는 매개 변수입니다.

    $realm = "urn:" + $env:ComputerName + ":Geneva"
    $ap = New-SPTrustedIdentityTokenIssuer -Name "Geneva" -Description "Geneva" -Realm $realm -ImportTrustCertificate $cert -ClaimsMappings $map -SignInUrl "https:// test-2/FederationPassive/" -IdentifierClaim "https://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
    

SharePoint 웹 응용 프로그램을 만들고 SAML 로그인을 사용하도록 웹 응용 프로그램 구성

이 단계에서는 웹 응용 프로그램을 만들고 구성합니다.

Windows PowerShell을 사용하여 SharePoint 웹 응용 프로그램을 만들고 SAML 로그인을 사용하도록 웹 응용 프로그램 구성하려면

  1. 다음과 같은 최소 요구 사항을 충족하는지 확인합니다. Add-SPShellAdmin을 참조하십시오.

  2. 시작 메뉴에서 모든 프로그램을 클릭합니다.

  3. Microsoft SharePoint 2010 Products를 클릭합니다.

  4. SharePoint 2010 관리 셸을 클릭합니다.

  5. Windows PowerShell 명령 프롬프트에서 SharePoint 웹 응용 프로그램을 만들고 SAML 로그인을 사용하도록 웹 응용 프로그램을 구성합니다. "WebAppUrl""domain\admin" 을 유효한 값으로 바꿔야 합니다.

    $wa = New-SPWebApplication -Name "SAML Sign-In" -SecureSocketsLayer -ApplicationPool "SAML Sign-In" -ApplicationPoolAccount "domain\admin" -
    Url "WebAppUrl" -Port 443 -AuthenticationProvider $ap
    

    참고

    SAML 로그인에서 쿠키는 사용자에 대한 Single Sign-on 티켓으로 사용되기 때문에 SSL을 사용하도록 설정합니다. 따라서 관리자는 토큰의 유효 기간 동안에는 사용자를 다시 인증할 필요 없이 SharePoint 리소스에 대한 액세스를 부여할 수 있습니다. SSL을 사용하지 않을 경우 이러한 쿠키는 악의적인 사용자에 의해 쉽게 무단 사용되어 원래 사용자로 가장하는 데 악용될 수 있습니다.

이러한 절차를 완료한 후에는 SharePoint 사이트를 만들고 소유자를 지정합니다. SharePoint 사이트 만들기에 대한 자세한 내용은 사이트 모음 만들기(SharePoint Server 2010)를 참조하십시오.