Deli putem


Konfigurisanje potvrde identiteta zasnovane na serveru pomoću usluge SharePoint lokalno

Integracija zasnovana SharePoint na serveru za upravljanje dokumentima koristi se za povezivanje aplikacija za angažovanje kupaca (Dinamics KSNUMKS Sales, Dinamics KSNUMKS Customer Service Dynamics 365 Field Service, Dinamics KSNUMKS Marketing i Dynamics 365 Project Service Automation) sa lokalnim SharePoint . Kada koristite autentifikaciju zasnovanu na serveru, Microsoft Entra domenske usluge se koriste kao broker poverenja i korisnici ne moraju da se prijavljuju SharePoint.

Neophodne dozvole

Za omogućavanje upravljanja SharePoint dokumentima potrebna su sledeća članstva i privilegije.

  • Microsoft 365 Članstvo u globalnom administratoru je potrebno za:

    • Pristup Microsoft 365 pretplati na administrativnom nivou.
    • Pokretanje čarobnjaka za omogućavanje potvrde identiteta zasnovane na serveru.
    • Pokretanje AzurePowerShell cmdlet komandi.
  • Power Apps Pokreni SharePoint čarobnjak za integraciju privilegija omogućava Omogući autentifikaciju na serveru čarobnjaka.

    Podrazumevano, bezbednosna uloga administratora sistema ima ovu privilegiju.

  • Za SharePoint lokalnu integraciju, SharePoint članstvo u grupi Farm Administrators je potrebno za pokretanje većine PoverShell komandi na SharePoint serveru.

Konfigurisanje potvrde identiteta sa servera na server pomoću usluge SharePoint lokalno

Pratite korake, u predviđenom redosledu, da biste postavili aplikacije za angažovanje kupaca sa SharePoint 2016 on-premises.

Važno

Koraci koji su ovde opisani moraju da se obave navedenim redosledom. Ako zadatak nije završen, kao što je PoverShell komanda koja vraća poruku o grešci, problem mora biti rešen pre nego što nastavite na sledeću komandu, zadatak ili korak.

Proverite da li postoje preduslovi

Da biste mogli da konfigurišete aplikacije za angažovanje klijenata i lokalnu uslugu SharePoint za potvrdu identiteta zasnovanu na serveru, sledeći preduslovi moraju biti ispunjeni:

SharePoint preduslovi

Drugi preduslovi

  • Licenca za SharePoint Online. Aplikacije za angažovanje klijenata za SharePoint lokalnu autentifikaciju zasnovanu na serveru moraju imati glavno SharePoint ime usluge (SPN) registrovano u ID-u Microsoft Entra . Da bi se postigao pristup, potrebna je najmanje jedna SharePoint onlajn korisnička licenca. SharePoint Online licenca može da bude izvedena iz jedne korisničke licence i obično potiče od jedne od sledećih:

    • Pretplata na SharePoint Online. Svaki SharePoint Online plan je dovoljan čak i ako licenca nije dodeljena korisniku.

    • Microsoft 365 pretplata koja obuhvata SharePoint Online. Na primer, ako imate Microsoft 365 E3, imate odgovarajuće licenciranje čak i ako licenca nije dodeljena korisniku.

      Za više informacija o ovim planovima, idite na Pronalaženje pravog rešenja za vas i Uporedite SharePoint opcije.

  • Sledeće softverske funkcije su potrebne za pokretanje PoverShell cmdleta opisanih u ovom članku.

    Microsoft.Graph

    Da biste instalirali modul Microsoft.Graph, unesite sledeću komandu iz administratorske PoverShell sesije.

    $currentMaxFunctionCount =
        $ExecutionContext.SessionState.PSVariable.Get("MaximumFunctionCount").Value
    
    # Set execution policy to RemoteSigned for this session
    if ((Get-ExecutionPolicy -Scope Process) -ne "RemoteSigned") {
        Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned -Force
    }
    
    # Update MaximumFunctionCount if needed
    if ($currentMaxFunctionCount -lt 32768) {
        $ExecutionContext.SessionState.PSVariable.Set("MaximumFunctionCount", 32768)
    }
    
    # Install and import required modules
    if (-not (Get-Module -ListAvailable -Name "Microsoft.Graph")) {
        $Params = @{
            Name = "Microsoft.Graph"
            Scope = CurrentUser
        }
        Install-Module @Params -Force
    }
    
    $Params = @{
        Name = "Microsoft.Graph"
        Function = @("Connect-MgGraph", "Get-MgOrganization")
    }
    Import-Module @Params
    
    if (-not (Get-Module -ListAvailable -Name "Microsoft.Graph.Identity.DirectoryManagement")) {
        $Params = @{
            Name = "Microsoft.Graph.Identity.DirectoryManagement"
            Scope = CurrentUser
        }
        Install-Module @Params -Force
    }
    
    $Params = @{
        Name = "Microsoft.Graph.Identity.DirectoryManagement"
        Function = @("Get-MgServicePrincipal", "Update-MgServicePrincipal")
    }
    Import-Module @Params
    
  • Odgovarajući tip mapiranja prijavljivanja uz pomoć tokena koji treba da se koristi za mapiranje identiteta između aplikacija za angažovanje klijenata i lokalne aplikacije SharePoint. Podrazumevano se koristi e-adresa. Saznajte više u Odobrite aplikacijama za angažovanje kupaca dozvolu za pristup SharePoint i konfigurisanje mapiranja autentifikacije zasnovanog na zahtevima.

Ažurirajte SharePoint SPN servera u domenskim Microsoft Entra uslugama

Na lokalnom SharePoint serveru, u okviru SharePoint 2016 Management Shell, pokrenite ove PowerShell komande u datom redosledu.

  1. Povezivanje sa uslugom Microsoft 365.

    Kada pokrenete komandu Connect-MgGraph, morate obezbediti važeći Microsoft nalog koji ima globalno članstvo administratora za Online licencu SharePoint koja je potrebna.

    Za detaljne informacije o svakoj od Microsoft Entra IDPoverShell komandi navedenih ovde, idite na Upravljanje Microsoft Entra pomoću Vindovs PoverShell-a.

    Connect-MgGraph -Scopes "Directory.ReadWrite.All", "Application.ReadWrite.All"  
    
  2. Podesite URL domaćina SharePoint .

    Vrednost koju ste postavili za promenljivu HostNameUrl mora biti potpuna URL adresa imena domaćina zbirke SharePoint sajtova. Ime hosta mora biti izvedeno iz URL adrese kolekcije lokacija i razlikuje mala i velika slova. U ovom primeru, URL zbirke sajtova je https://SharePoint.constoso.com/sites/salesteam, tako da je https://SharePoint.contoso.com URL imena domaćina.

    Važno

    Ako postoji više sajtova, pokrenite sledeću komandu za svaki sajt.

    # Generate Service Principal Name
    # Note: If there are multiple sites, and the host is the same, no action is needed.
    #       If the host is different, each site needs to be configured to add the 
    #       host to the service principal.
    $uri = [System.Uri]"https://SharePoint.constoso.com/sites/salesteam"
    $hostName = $uri.Host
    $baseUrl = "$($uri.Scheme)://$hostName"
    $servicePrincipalName = $baseUrl
    
  3. Nabavite ID objekta Microsoft 365 (zakupca) i glavno ime serverske SharePoint usluge (SPN).

    # SharePoint Online App ID
    $SPOAppId = "00000003-0000-0ff1-ce00-000000000000"
    
    # Retrieve SharePoint Online Service Principal
    $SharePoint = Get-MgServicePrincipal -Filter "AppId eq '$SPOAppId'"
    
    $UpdatedServicePrincipalNames = $SharePoint.ServicePrincipalNames |
        Where-Object { $_ -ne $servicePrincipalName }
    $UpdatedServicePrincipalNames += $servicePrincipalName
    
  4. Nabavite ID objekta Microsoft 365 (zakupca) i glavno ime serverske SharePoint usluge (SPN).

    $maxRetries = 5
    $retryDelay = 5 # seconds 
    
    for ($retry = 1; $retry -le $maxRetries; $retry++) {
        try {
            $Params = @{
     	         ServicePrincipalId = $SharePoint.Id
     			     ServicePrincipalNames = $UpdatedServicePrincipalNames
     		   }
     		   Update-MgServicePrincipal @Params
     		   Write-Host "Service Principal Names updated successfully."
     		   break
     	 }
     	 catch {
     		   if ($_.Exception.Message -match "Directory_ConcurrencyViolation" -and
                $retry -lt $maxRetries) {
     			     Write-Host "Concurrency violation detected. (Attempt $retry of $maxRetries)"
     			     Start-Sleep -Seconds $retryDelay
       		 }
       		 else {
         			 Write-Host "Failed to update Service Principal Names. Error: $_"
     		    	 exit 1
            }
        }
    }
    

Nakon što se ove komande završe, ne zatvarajte SharePoint KSNUMKS Management Shell. Nastavite na sledeći korak.

Ažurirajte SharePoint područje da bi se podudaralo sa područjem usluge SharePoint Online

Na lokalnom SharePoint serveru, u okviru SharePoint 2016 Management Shell, pokrenite ovu Windows PowerShell komandu.

Sledeća komanda zahteva članstvo u grupi administratora SharePoint farme i podešava matično područje potvrde identiteta za lokalnu SharePoint farmu.

Pažnja

Pokretanjem ove komande se menja matično područje potvrde identiteta za lokalnu SharePoint farmu. Za aplikacije koje koriste postojeću uslugu sigurnosnog tokena (STS), ova komanda može izazvati neočekivano ponašanje sa drugim aplikacijama koje koriste pristupne tokene. Saznajte više u Set-SPAuthenticationRealm.

# SPOContextId is the tenant ID for the dynamics 365 tenant. It is used to identify the tenant in Azure AD and SharePoint Online.
$SPOContextId = "<tenantId>"
Set-SPAuthenticationRealm -Realm $SPOContextId

Kreirajte pouzdanog izdavača bezbednosnih tokena za Microsoft Entra ID na SharePoint

Na lokalnom SharePoint serveru, u okviru SharePoint 2016 Management Shell, pokrenite ove PowerShell komande u datom redosledu.

Sledeća komanda zahteva članstvo u grupi administratora SharePoint farme.

Za detaljne informacije o ovim PoverShell komandama, idite na SharePoint KSNUMKS: Lista PoverShell cmdleta.

  1. Omogućite PowerShell sesiju da biste izvršili promene u servisu za izdavanje tokena za SharePoint farmu.

    $c = Get-SPSecurityTokenServiceConfig  
    $c.AllowMetadataOverHttp = $true  
    $c.AllowOAuthOverHttp= $true  
    $c.Update()  
    
  2. Podesite krajnju tačku metapodataka.

    $metadataEndpoint = 
        "https://login.microsoftonline.com/common/.well-known/openid-configuration"  
    $oboissuer = "https://sts.windows.net/*/" 
    $issuer = "00000007-0000-0000-c000-000000000000@" + $SPOContextId  
    
  3. Kreirajte novi proki aplikacije za kontrolu tokena u ID-u Microsoft Entra .

    $existingIssuer = Get-SPTrustedSecurityTokenIssuer "D365Obo"
    if ($existingIssuer) {
        $Params = @{
            Identity = $existingIssuer
            IsTrustBroker = $true
            MetadataEndpoint = $metadataEndpoint
            RegisteredIssuerName = $oboissuer
        }
        Set-SPTrustedSecurityTokenIssuer @Params
    } else {
        $Params = @{
            Name = "D365Obo"
            IsTrustBroker = $true
            MetadataEndpoint = $metadataEndpoint
            RegisteredIssuerName = $oboissuer
        }
        $obo = New-SPTrustedSecurityTokenIssuer @Params
    }
    

Odobrenje dozvole aplikacijama za angažovanje klijenata za pristup usluzi SharePoint i konfigurisanje mapiranja prijavljivanja uz pomoć tokena

Na lokalnom SharePoint serveru, u okviru SharePoint 2016 Management Shell, pokrenite ove PowerShell komande u datom redosledu.

Sledeća komanda zahteva članstvo u grupi administratora SharePoint kolekcije lokacija.

  1. Registrujte aplikacije za angažovanje klijenata u SharePoint kolekciji lokacija.

    Unesite URL adresu kolekcije lokacija lokalne usluge SharePoint. U ovom primeru se koristi. <https://sharepoint.contoso.com/sites/crm/>

    $site = Get-SPSite "https://sharepoint.contoso.com/sites/crm/"
    $Params = @{
        site = $site.RootWeb
        NameIdentifier = $issuer
        DisplayName = "crmobo"
    }
    Register-SPAppPrincipal @Params
    
  2. Odobrite aplikacijama za angažovanje klijenata pristup SharePoint lokaciji. Zamenite <https://sharepoint.contoso.com/sites/crm/> URL-om vašeg SharePoint sajta.

    Belešku

    U sledećem primeru, aplikaciji za angažovanje klijenata je odobren pristup određenoj SharePoint kolekciji lokacija korišćenjem parametra –Scope kolekcije lokacija. Parametar opsega prihvata sledeće opcije. Odaberite opseg koji najviše odgovara vašoj SharePoint konfiguraciji.

    • site. Dodeljuje aplikacijama za angažovanje klijenata dozvolu za pristup samo određenoj SharePoint veb-lokaciji. Ne odobrava pristup nijednoj podlokaciji u okviru imenovane lokacije.
      • sitecollection. Dodeljuje aplikacijama za angažovanje klijenata dozvolu za pristup svim veb-lokacijama i podlokacijama u okviru određene SharePoint kolekcije lokacija.
      • sitesubscription. Dodeljuje aplikacijama za angažovanje klijenata dozvolu za pristup svim veb-lokacijama u okviru SharePoint farme, uključujući sve kolekcije lokacija, veb-lokacije i podlokacije.

    Važno

    Ako postoji više sajtova, pokrenite skriptu za svaku lokaciju.

    $Params = @{
        NameIdentifier = $issuer
        Site = "https://sharepoint.contoso.com/sites/crm/"
    }
    $app = Get-SPAppPrincipal @Params
    
    $Params = @{
        AppPrincipal = $app
        Site = $site.Rootweb
        Scope = "sitecollection"
        Right = "FullControl"
    }
    Set-SPAppPrincipalPermission @Params
    
  3. Podesite tip mapiranja prijavljivanja uz pomoć tokena.

    Važno

    Po defaultu, mapiranje autentifikacije zasnovano na zahtevima koristi korisnikovu adresu e-pošte Microsoft naloga i korisnikovu SharePoint lokalnu radnu adresu e-pošte za mapiranje. Kada koristite mapiranje autentifikacije zasnovano na zahtevima, adrese e-pošte korisnika moraju se podudarati između dva sistema. Saznajte više u Odabir tipa mapiranja autentifikacije zasnovanog na zahtevima.

    $Params = @{
        IncomingClaimType = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
        IncomingClaimTypeDisplayName = "EmailAddress"
    }
    $map1 = New-SPClaimTypeMapping @Params -SameAsIncoming
    

Pokretanje čarobnjaka za omogućavanje SharePoint integracije koja se zasniva na serveru

Sledite ove korake:

  1. Proverite da li imate odgovarajuću dozvolu za pokretanje čarobnjaka. Saznajte više u Potrebne dozvole.

  2. Idite na stavku Postavke>Upravljanje dokumentima.

  3. U oblasti Upravljanje dokumentima kliknite na Omogući SharePoint integraciju koja se zasniva na serveru.

  4. Pregledajte informacije, a zatim kliknite na dugme Dalje.

  5. Za SharePoint lokacije, kliknite na stavku Lokalno, a zatim kliknite na opciju Sledeće.

  6. Unesite SharePoint URL adresu kolekcije lokalne lokacije, kao što je https://sharepoint.contoso.com/sites/crm. Lokacija mora biti konfigurisana za SSL.

  7. Izaberite stavku Dalje.

  8. Pojaviće se odeljak za proveru valjanosti lokacija. Ako se utvrdi da su sve lokacije važeće, kliknite na dugme Omogući. Ako se utvrdi da je jedan ili više sajtova nevažeći, idite na Rešavanje problema sa autentifikacijom zasnovanom na serveru.

Izbor entiteta koje želite da uključite u upravljanje dokumentima

Prema podrazumevanim podešavanjima, uključeni su entiteti „Poslovni kontakt“, „Članak“, „Potencijalni klijent“, „Proizvod“, „Ponuda“ i „Prodajna literatura“. Možete dodati ili ukloniti entitete koji se koriste za upravljanje dokumentima pomoću SharePoint u podešavanjima upravljanja dokumentima. Idite na stavku Postavke>Upravljanje dokumentima. Saznajte više u Omogućite upravljanje dokumentima na entitetima.

Dodajte integraciju sa uslugom OneDrive for Business

Kada dovršite konfigurisanje potvrde identiteta zasnovane na serveru za aplikacije za angažovanje klijenata i lokalnu uslugu SharePoint, možete da integrišete i OneDrive for Business. U okviru integracije aplikacija za angažovanje klijenata i usluge OneDrive for Business, korisnici mogu da kreiraju privatne dokumente i upravljaju njima koristeći OneDrive for Business. Tim dokumentima se može pristupiti nakon što administrator sistema omogući OneDrive poslovanje.

Omogući OneDrive for Business

Na platformi Windows Server na kojoj je pokrenut lokalni SharePoint Server, otvorite SharePoint Management Shell i pokrenite sledeće komande:

Add-Pssnapin *  

# Access WellKnown App principal  
[Microsoft.SharePoint.Administration.SPWebService]::ContentService.WellKnownAppPrincipals  
  
# Create WellKnown App principal  
$ClientId = "00000007-0000-0000-c000-000000000000"  
$PermissionXml = @"
<AppPermissionRequests AllowAppOnlyPolicy="true">
    <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" />
    <AppPermissionRequest Scope="http://sharepoint/social/tenant" Right="Read" />
    <AppPermissionRequest Scope="http://sharepoint/search" Right="QueryAsUserIgnoreAppPrincipal" />
</AppPermissionRequests>
"@

$wellKnownApp = New-Object `
    -TypeName "Microsoft.SharePoint.Administration.SPWellKnownAppPrincipal" `
    -ArgumentList ($ClientId, $PermissionXml)  
  
$wellKnownApp.Update()    

Izbor tipa mapiranja prijavljivanja uz pomoć tokena

Po defaultu, mapiranje autentifikacije zasnovano na zahtevima koristi korisnikovu adresu e-pošte Microsoft naloga i korisnikovu SharePoint lokalnu radnu adresu e-pošte za mapiranje. Bez obzira na vrstu autentifikacije zasnovanu na tvrdnjama koje koristite, vrednosti, kao što su adrese e-pošte, moraju se podudarati između aplikacija za angažovanje kupaca i SharePoint. Microsoft 365 Sinhronizacija direktorijuma pomaže da se adrese e-pošte podudaraju. Saznajte više u Deploi Microsoft 365 Directori Sinhronization u Microsoft Azure. Da biste koristili drugu vrstu mapiranja autentifikacije zasnovane na zahtevima, idite na Definisanje prilagođenog mapiranja zahteva za integraciju SharePoint zasnovanu naserveru.

Važno

Da biste omogućili svojstvo „Poslovna e-adresa“, lokalna aplikacija SharePoint mora da ima konfigurisanu i pokrenutu uslužnu aplikaciju za korisnički profil. Da biste omogućili aplikaciju SharePoint za uslugu korisničkog profila, idite na Kreiranje, uređivanje ili brisanje aplikacija za servis korisničkog profila u SharePoint Server KSNUMKS-u. Da biste izvršili izmene u korisničkoj osobini, kao što je Radna e-pošta, idite na Izmenite osobinu korisničkog profila. Za više informacija o aplikaciji User Profile Service, idite na Pregled aplikacije User Profile servisa u SharePoint Server KSNUMKS.