Partager via


Microsoft SharePoint 2010 : Configurer des services entre les batteries de serveurs

Vous pouvez configurer SharePoint pour communiquer entre batteries de serveurs, en partageant et en utilisant les services d'autres batteries de serveurs.

Shannon Bray

Microsoft a apporté un certain nombre d'améliorations à la façon dont SharePoint fournit et utilise les services. Dans SharePoint 2007, des services étaient disponibles dans ce qui était connu sous le nom de fournisseur de services partagés (SSP). Bien que le SSP ait représenté une grande évolution par rapport à ce que nous avions dans SharePoint 2003, il y avait plusieurs problèmes.

Le problème principal avec l'architecture de SharePoint 2007 était qu'il s'agissait d'une configuration de type « tout ou rien ». Les applications Web étaient liées à un SSP spécifique et ne pouvaient pas consommer les services de façon sélective. Par exemple, si la recherche et Excel Services étaient tous les deux configurés sur le SSP, une application Web SharePoint qui utilisait la recherche de contenu d'entreprise devait également accéder à Excel Services.

L'architecture SSP n'était pas extensible non plus. Vous ne pouviez pas créer vos propres services à l'aide de la même infrastructure SSP. En dernier lieu, et surtout, il était difficile de configurer les services entre plusieurs batteries de serveurs dans SharePoint 2007. La nouvelle architecture de services disponible dans SharePoint 2010 résout tous ces problèmes.

Présentation de l'architecture Application de service

Avant d'examiner comment les services peuvent communiquer entre plusieurs batteries de serveurs SharePoint, il est important de comprendre les composants et les services qui rendent cela possible. Voici certaines caractéristiques clés de l'architecture Application de service :

  • Vous pouvez utiliser les services « à la carte ».
  • L'architecture de service est extensible.
  • Les services sont pris en charge sur SharePoint Foundation.
  • Vous pouvez faire évoluer les services.
  • Les services peuvent être résilients/redondants.
  • Vous pouvez fédérer les services.

Contrairement à ce qu'il était possible de faire avec les services dans SharePoint 2007, vous pouvez maintenant décider quelles applications Web SharePoint utilisent vos services. Vous n'êtes plus lié au SSP limitant. Vous pouvez choisir les architectures appropriées.

L'architecture Application de service est maintenant extensible, ce qui signifie que vous pouvez créer vos propres services personnalisés. Cela peut vous permettre d'économiser beaucoup de temps, d'argent et de ressources parce que vous pouvez déployer des solutions personnalisées susceptibles de fonctionner sur les collections de sites, voire les applications Web SharePoint.

SharePoint 2010 ne fournit aucun service avec SharePoint Foundation, mais l'infrastructure est là pour prendre en charge ces services. Vous pouvez créer vos propres services et les utiliser dans SharePoint Foundation. La nouvelle architecture Application de service vous permet de répartir la charge entre plusieurs serveurs. Vos conceptions peuvent ainsi gérer la charge appropriée.

La recherche de contenu d'entreprise est l'un des services qui a été le plus repensé. Dans SharePoint 2007, le serveur d'index était un point de défaillance unique. Dans SharePoint 2010, les services d'analyses de recherche peuvent s'étendre sur plusieurs serveurs. Si l'un d'entre eux échoue, la redondance permet au système de continuer à fonctionner comme prévu.

En outre, vous pouvez désormais partager les services entre les serveurs de batteries. Cela vous permet de regrouper les services que vous souhaitez partager dans une seule batterie tout en fournissant les services à un certain nombre d'utilisateurs.

Présentation des concepts clés

Le terme « Application de service » a été utilisé à outrance. C'est pourquoi les utilisateurs ont du mal à comprendre où se trouvent les composants et comment ils fonctionnent. Pour comprendre vraiment ce qui se passe en arrière-plan, il est important de connaître ces termes :

Service : ce sont les binaires d'application déployés sur les serveurs d'une batterie.

Instance d'ordinateur du service : l'instance réelle du service exécuté sur le serveur.

Application de service : un composant logique qui contient la configuration et la gestion du service, par exemple les informations de l'application de service et la chaîne de connexion à la base de données.

Proxy d'application de service : l'interface utilisée par les consommateurs du service afin de communiquer avec le service et l'équilibrage de charge. Le consommateur sait ainsi quel serveur contacter et comment consommer le service réel. Il est important de noter que le proxy d'application de service n'est pas un service Web ni un proxy WCF (Windows Communication Foundation).

Consommateur de service : toute application ou service qui consomme le service.

Groupe de proxys de service : groupes d'applications de service associés à des applications Web spécifiques.

Vous pouvez déployer les services d'un certain nombre de façons, dont l'Assistant Configuration, l'administration centrale ou Windows PowerShell. L'Assistant Configuration configurera la plupart des services avec leurs valeurs par défaut. N'utilisez pas cela pour les environnements de production. De nombreux services doivent être configurés manuellement pour garantir la réussite.

Dans l'administration centrale, vous pouvez configurer plusieurs services en remplissant les champs qui leur sont associés. Bien que vous ayez un peu plus de contrôle qu'avec l'Assistant Configuration de batterie de serveurs, la plupart des utilisateurs professionnels de SharePoint choisiront d'utiliser Windows PowerShell.

Windows PowerShell vous permet de contrôler le plus votre environnement, mais il peut être délicat de configurer la plupart des applications de service. Pour comprendre en détail comment configurer les divers services SharePoint à l'aide de Windows PowerShell, consultez l'ouvrage « Automating SharePoint 2010 with Windows PowerShell 2.0 » (automatisation de SharePoint 2010 avec Windows PowerShell 2.0) (Wiley, 2011) écrit par Shannon Bray et Gary Lapointe.

Lorsque vous configurez les batteries de serveurs SharePoint, deux services sont créés automatiquement. Ce sont des composants clés pour le fonctionnement des services. Ces services sont les suivants :

  • Application de service d'équilibrage de charge et de détection d'application
  • Application de service d'émission de jeton de sécurité (STS)

Les applications de service doivent exposer un point de terminaison parce que toutes leurs communications prennent place sur HTTPS. Il est également important de savoir que les applications de service communiquent via les ports TCP 32843 et 32844. Les applications de service personnalisées utilisent généralement le port 32845.

Présentation du fonctionnement de la fédération des services

Maintenant que vous comprenez comment les services sont fédérés, examinons de plus près les services qui prennent en charge cette fédération :

  • Recherche
  • Profils utilisateur
  • Métadonnées gérées
  • Business Connectivity Services (BCS)
  • Banque d'informations sécurisée
  • Web Analytics

Un certain nombre d'autres services sont pris en charge sur un WAN. Il s'agit de la recherche, des métadonnées gérées, de la connectivité des données d'entreprise, du profil utilisateur et de la banque d'informations sécurisée. Bien que tous les services soient pris en charge, seule l'utilisation de la recherche et des métadonnées gérées est recommandée.

Dans un environnement WAN, la recherche connaîtra une augmentation de la latence pendant l'analyse. Les services de connectivité connaîtront des premières correspondances lentes avant la mise en cache des données. Le service de profil utilisateur dispose du moteur de réplication du profil utilisateur, c'est pourquoi il n'est pas recommandé de travailler sur un WAN. Lorsque les applications utilisent la banque d'informations sécurisée, celle-ci introduit de la latence.

Exemples de batteries de serveurs

Dans le cadre de cet exemple, nous allons créer deux batteries de serveurs. La première hébergera les services d'entreprise et la seconde, les applications Web de contenu. Nous allons les créer complètement en détaillant chaque étape afin que vous soyez capable de fédérer les services dans tous les environnements.

Les deux batteries seront dans le même domaine, mais elles peuvent également être créées dans plusieurs domaines. Dans la mesure où nous utiliserons le même domaine pour ces exemples, vous pouvez créer la démonstration avec quatre serveurs : TechED-AD, TechED-SQL, TechEd-Services et TechEd-SP.

Commencez par créer les comptes appropriés dans Active Directory. Les comptes sont les suivants : spFarm, spServices, spContent, spCrawl, spUPS et spC2WTS. Pour accélérer le processus, vous pouvez ajouter des comptes à l'aide de Windows PowerShell à partir de l'une des batteries de serveurs SharePoint (voir la figure 1 pour plus de détails). Il est important de noter que nous créerons ces comptes dans l'unité d'organisation des comptes du service géré. Par conséquent, si vous ne commencez pas avec Windows Server 2008 R2, vous devrez modifier l'emplacement CN dans les scripts de la figure 1.

Figure 1 Ajout de comptes SharePoint à Active Directory

$domainName = $env:USERDOMAIN $LDAP = "LDAP://CN=Managed Service Accounts,DC=$domainName, DC=local" $objCN = [ADSI]$LDAP $objUser = $objCN.Create("user","CN=SharePoint Services") $objUser.Put("sAMAccountName","spServices") $objUser.Setinfo() $objUser.psbase.invokeset("AccountDisabled", "False") $objUser.SetPassword("pass@word1") $objUser.setinfo() $domainName = $env:USERDOMAIN $LDAP = "LDAP://CN=Managed Service Accounts,DC=$domainName, DC=local" $objCN = [ADSI]$LDAP $objUser = $objCN.Create("user","CN=SharePoint Content") $objUser.Put("sAMAccountName","spContent") $objUser.Setinfo() $objUser.psbase.invokeset("AccountDisabled", "False") $objUser.SetPassword("pass@word1") $objUser.setinfo() $domainName = $env:USERDOMAIN $LDAP = "LDAP://CN=Managed Service Accounts,DC=$domainName, DC=local" $objCN = [ADSI]$LDAP $objUser = $objCN.Create("user","CN=SharePoint Search Crawl") $objUser.Put("sAMAccountName","spCrawl") $objUser.Setinfo() $objUser.psbase.invokeset("AccountDisabled", "False") $objUser.SetPassword("pass@word1") $objUser.setinfo() $domainName = $env:USERDOMAIN $LDAP = "LDAP://CN=Managed Service Accounts,DC=$domainName, DC=local" $objCN = [ADSI]$LDAP $objUser = $objCN.Create("user","CN=SharePoint User Profile Services Sync") $objUser.Put("sAMAccountName","spUPS") $objUser.Setinfo() $objUser.psbase.invokeset("AccountDisabled", "False") $objUser.SetPassword("pass@word1") $objUser.setinfo() $domainName = $env:USERDOMAIN $LDAP = "LDAP://CN=Managed Service Accounts,DC=$domainName, DC=local" $objCN = [ADSI]$LDAP $objUser = $objCN.Create("user","CN=SharePoint C2WTS") $objUser.Put("sAMAccountName","spC2WTS") $objUser.Setinfo() $objUser.psbase.invokeset("AccountDisabled", "False") $objUser.SetPassword("pass@word1") $objUser.setinfo() $domainName = $env:USERDOMAIN $LDAP = "LDAP://CN=Managed Service Accounts,DC=$domainName, DC=local" $objCN = [ADSI]$LDAP $objUser = $objCN.Create("user","CN=SharePoint Farm") $objUser.Put("sAMAccountName","spFarm") $objUser.Setinfo() $objUser.psbase.invokeset("AccountDisabled", "False") $objUser.SetPassword("pass@word1") $objUser.setinfo()

Maintenant que nous avons paramétré les comptes, nous allons nous concentrer sur l'environnement des services d'entreprise. Dans le cadre de cet exemple, nous allons configurer la batterie de serveurs de façon à inclure uniquement les services qui prennent en charge la fédération et peuvent être configurés rapidement (métadonnées gérées, BCS et banque d'informations sécurisée). Pour créer l'environnement de services d'entreprise, nous allons nous reposer sur Windows PowerShell afin de faire le plus gros du travail. Ce point est important car il vous permet de garantir la cohérence et de vous tenir au courant de ce qui se passe. La figure 2 illustre la construction de la batterie de serveurs. Nous configurerons bientôt les services.

Le script de configuration de la batterie de serveurs de consommation est similaire à celui présenté à la figure 3.

Figure 2 Créer la batterie de serveurs d'entreprise

Add-PSSnapin Microsoft.SharePoint.Powershell -EA 0 # Settings $databaseServer = "TECHED-SQL" $configDatabase = "Enterprise_Farm_Config" $adminContentDB = "Enterprise_Farm_Content_Admin" $passphrase = "pass@word1" $farmAccountName = "TECHED\spfarm" $farmAccount = Get-Credential $farmAccountName $passphrase = (ConvertTo-SecureString $passphrase -AsPlainText -force) #will error, but fix the regkey... psconfig.exe -cmd upgrade Write-Host "Creating Configuration Database and Central Admin Content Database..." New-SPConfigurationDatabase -DatabaseServer $databaseServer -DatabaseName $configDatabase ` -AdministrationContentDatabaseName $adminContentDB ` -Passphrase $passphrase -FarmCredentials $farmAccount $spfarm = Get-SPFarm -ErrorAction SilentlyContinue -ErrorVariable err if ($spfarm -eq $null -or $err) { throw "Unable to verify farm creation." } Write-Host "ACLing SharePoint Resources..." Initialize-SPResourceSecurity Write-Host "Installing Services ..." Install-SPService Write-Host "Installing Features..." Install-SPFeature -AllExistingFeatures Write-Host "Creating Central Administration..." New-SPCentralAdministration -Port 2010 -WindowsAuthProvider NTLM Write-Host "Installing Help..." Install-SPHelpCollection -All Write-Host "Installing Application Content..." Install-SPApplicationContent Write-Host "Enterprise Farm Creation Complete!"

Figure3 Créer la batterie de serveurs de consommation

Add-PSSnapin Microsoft.SharePoint.Powershell -EA 0 # Settings $databaseServer = "TECHED-SQL" $configDatabase = "Consumer_Farm_Config" $adminContentDB = "Consumer_Farm_Content_Admin" $passphrase = "pass@word1" $farmAccountName = "TECHED\spfarm" $farmAccount = Get-Credential $farmAccountName $passphrase = (ConvertTo-SecureString $passphrase -AsPlainText -force) #will error, but fix the regkey... psconfig.exe -cmd upgrade Write-Host "Creating Configuration Database and Central Admin Content Database..." New-SPConfigurationDatabase -DatabaseServer $databaseServer -DatabaseName $configDatabase ` -AdministrationContentDatabaseName $adminContentDB ` -Passphrase $passphrase -FarmCredentials $farmAccount $spfarm = Get-SPFarm -ErrorAction SilentlyContinue -ErrorVariable err if ($spfarm -eq $null -or $err) { throw "Unable to verify farm creation." } Write-Host "ACLing SharePoint Resources..." Initialize-SPResourceSecurity Write-Host "Installing Services ..." Install-SPService Write-Host "Installing Features..." Install-SPFeature -AllExistingFeatures Write-Host "Creating Central Administration..." New-SPCentralAdministration -Port 2010 -WindowsAuthProvider NTLM Write-Host "Installing Help..." Install-SPHelpCollection -All Write-Host "Installing Application Content..." Install-SPApplicationContent Write-Host "Consumer Farm Creation Complete!"

Configuration d'un environnement de services d'entreprise

Vous pouvez maintenant créer un certain nombre de services que vous avez l'intention de partager avec une autre batterie de serveurs. Comme nous l'avons déjà mentionné, vous pouvez fédérer six services. Créez certains d'entre eux ici, comme illustré à la figure 4.

Figure 4 Configurer les services d'entreprise

Add-PSSnapin Microsoft.SharePoint.Powershell -EA 0 # App Pools $saAppPoolName = "SharePoint Web Services Default" $saAppPoolUserName = "TECHED\spservices" # Service Application and DB names $stateName = "Enterprise Farm State Service" $stateDBName = "Enterprise_Farm_StateService" $usageName = "Enterprise Farm Usage and Health Data Collection Service" $usageDBName = "Enterprise_Farm_Usage" # Create Managed Accounts and Application Pools # Service Apps Write-Host "Please supply the password for the $saAppPoolUserName Account..." $appPoolCred = Get-Credential $saAppPoolUserName $saAppPoolAccount = New-SPManagedAccount -Credential $appPoolCred $saAppPool = New-SPServiceApplicationPool -Name $saAppPoolName -Account $saAppPoolAccount # Create State Service Application and Proxy, and add to default proxy group Write-Host "Creating $stateName Application and Proxy..." $stateDB = New-SPStateServiceDatabase -Name $stateDBName $state = New-SPStateServiceApplication -Name $stateName -Database $stateDB New-SPStateServiceApplicationProxy -Name "$stateName Proxy" -ServiceApplication $state -DefaultProxyGroup # Setup the Usage Service App Write-Host "Creating $usageName Application and Proxy..." $serviceInstance = Get-SPUsageService New-SPUsageApplication -Name $usageName -DatabaseName $usageDBName -UsageService $serviceInstance # app pool $saAppPoolName = "SharePoint Web Services Default" $appPoolUserName = "TECHED\spServices" # Gets app pool or quits Write-Host "Getting Application Pool..." $saAppPool = Get-SPServiceApplicationPool -Identity $saAppPoolName -EA 0 if($saAppPool -eq $null) { Write-Host "Cannot find the Application Pool $appPoolName, please ensure it exists before continuing." Exit -1 } # MMS specifics $mmsInstanceName = "MetadataWebServiceInstance" $mmsName = "Enterprise Farm Managed Metadata Service" $mmsDBName = "Enterprise_Farm_Managed_Metadata" # Sets up Managed Metadata service instance & service app and proxy Write-Host "Creating $mmsName Application & proxy..." $mms = New-SPMetadataServiceApplication -Name $mmsName -ApplicationPool $saAppPoolName -DatabaseName $mmsDBName $proxy = New-SPMetadataServiceApplicationProxy -Name "$mmsName Proxy" -ServiceApplication $mms -DefaultProxyGroup Write-Host "Starting the $mmsInstanceName..." Get-SPServiceInstance | where{$_.GetType().Name -eq $mmsInstanceName} | Start-SPServiceInstance Write-Host "Enterprise MMS Complete!" # BDC specifics $bdcInstanceName = "Business Data Connectivity Service" $bdcName = "Enterprise Farm Business Data Connectivity Service" $bdcDBName = "Enterprise_Farm_BDC" # Sets up Business Data Connectivity Service Application and Proxy and Service Instance Write-Host "Creating $bdcInstanceName Application and Proxy..." $bdc = New-SPBusinessDataCatalogServiceApplication -Name $bdcName -ApplicationPool $saAppPoolName -DatabaseName $bdcDBName Write-Host "Starting the $bdcInstanceName Instance..." Get-SPServiceInstance | where-object {$_.TypeName -eq $bdcInstanceName} | Start-SPServiceInstance Write-Host "Enterprise BDC Complete!" # SSS Specifics $sssInstanceName = "Secure Store Service" $serverName = "TechED-Services" $sssName = "Enterprise Farm Secure Store Service" $sssDBName = "Enterprise_Farm_SecureStore" # Sets up Secure Store Service Application & Proxy and Service Instance Write-Host "Creating $sssName Application & Proxy..." $sss = New-SPSecureStoreServiceApplication -Name $sssName -ApplicationPool $saAppPoolName -DatabaseName $sssDBName -auditingEnabled:$true -auditlogmaxsize 30 -Sharing:$false $proxy = New-SPSecureStoreServiceApplicationProxy -Name "$sssName Proxy" -ServiceApplication $sss -DefaultProxyGroup Write-Host "Starting the $sssInstanceName Instance..." $sssInstance = Get-SPServiceInstance | where-object{$_.TypeName -eq "Secure Store Service" -and $_.Server.Address -eq $serverName} | Start-SPServiceInstance Write-Host "Enterprise SSS Complete!"

Configuration d'un environnement de consommation

Le plus gros du travail pour la batterie de serveurs de publication est terminé. Nous allons maintenant nous concentrer sur la batterie de serveurs qui utilisera les services d'entreprise. Vous pouvez créer n'importe quel service ici. Vous devez surtout comprendre que vous pouvez consommer les services d'une autre batterie de serveurs et vous reposer sur cette dernière pour fournir les ressources.

Dans la batterie de serveurs de consommation, vous allez également configurer une application Web de contenu SharePoint susceptible d'être utilisée pour illustrer les services d'entreprise, comme montré à la figure 5.

Figure 5 Configurer le contenu SharePoint

# App Pools $saAppPoolName = "SharePoint Web Services Default" $saAppPoolUserName = "TECHED\spservices" $waAppPoolName = "SharePoint Content" $waAppPoolUserName = "TECHED\spcontent" # Web App details $mainURL = "http://teched-sp" $webAppName = "TechED Consumer" $contentDBName = "Consumer_Farm_Content_Web_Application" # Root Site Collection details $ownerEmail = "administrator@teched.com" $ownerAlias = "TECHED\administrator" # Web app Write-Host "Please supply the password for the $waAppPoolUserName Account..." $appPoolCred = Get-Credential $waAppPoolUserName $waAppPoolAccount = New-SPManagedAccount -Credential $appPoolCred <# Create a new Web App using Claims (Windows (NTLM)) #> $authProvider = New-SPAuthenticationProvider $webApp = New-SPWebApplication -ApplicationPool $waAppPoolName -ApplicationPoolAccount $waAppPoolAccount -Name $webAppName -Port 80 -AuthenticationProvider $authProvider -DatabaseName $contentDBName # Set sensible content db limits Set-SPContentDatabase $contentDBName -MaxSiteCount 50 -WarningSiteCount 30 <# Create Site Collection at root #> New-SPSite -Url $mainURL -owneralias $ownerAlias -ownerEmail $ownerEmail Write-Host "WebApp Complete!"

Configuration des certificats

Les batteries de serveurs sont maintenant terminées. Nous allons ensuite publier les services d'entreprise que nous souhaitons partager avec l'utilisateur. Pour cela, nous utiliserons les étapes suivantes :

  • Créer les certificats sur la batterie de serveurs d'entreprise
  • Créer les certificats sur la batterie de serveurs de consommation
  • Échanger les certificats
  • Importer les certificats dans la batterie de serveurs d'entreprise
  • Importer les certificats dans la batterie de serveurs de consommation
  • Création des certificats sur la batterie de serveurs d'entreprise

Vous devez d'abord exporter le certificat racine depuis la batterie de serveurs d'entreprise. Pour cela, créez un chemin permettant d'exporter le certificat (voir la figure 6). Après avoir confirmé le chemin, utilisez la cmdlet Get-SPCertificateAuthority pour exporter le certificat destiné à la batterie de serveurs.

Figure 6 Créer un chemin pour un certificat

# Add-PSSnapin Microsoft.SharePoint.Powershell -EA 0 $path = "C:\Certs" # Test and Create Path If ((test-path $path) -eq $false) { [IO.Directory]::CreateDirectory("$path") } # Export Cert $rootCert = (Get-SPCertificateAuthority).RootCertificate $rootCert.Export("Cert") | Set-Content "C:\Certs\EnterpriseServicesRootCert.cer" -Encoding byte

Création d'un certificat sur la batterie de serveurs de consommation

Sur la batterie de serveurs de consommation, non seulement le certificat racine doit être exporté, mais également le certificat STS (voir la figure 7). Ce dernier est exporté à l'aide de la cmdlet Get-SPSecurityTokenServiceConfig.

Afin de faciliter ce processus, vous aurez également un ID de batterie pour la batterie de serveurs de consommation. Vous devrez également créer un fichier texte. Ajoutez l'ID de batterie aux autorisations de publication dans la batterie de serveurs afin de pouvoir accéder aux services.

Figure 7 Exporter le certificat STS

# Add-PSSnapin Microsoft.SharePoint.Powershell -EA 0 $publisher = "TECHED-Services" $consumer = "TECHED-SP" $path = "C:\Certs" # Test and Create Path If ((test-path $path) -eq $false) { [IO.Directory]::CreateDirectory("$path") } # Run the following to export the necessary certificates on the consumer farm to c:\temp on the server: $rootCert = (Get-SPCertificateAuthority).RootCertificate $rootCert.Export("Cert") | Set-Content "C:\Certs\IntranetRootCert.cer" -Encoding byte $stsCert = (Get-SPSecurityTokenServiceConfig).LocalLoginProvider.SigningCertificate $stsCert.Export("Cert") | Set-Content "C:\Certs\IntranetSTSCert.cer" -Encoding byte #On the consumer farm, run the following command to get the id of the consumer farm: $farmID = (Get-SPFarm).Id New-Item C:\Certs\IntranetConsumerFarmID.txt -type file -force -value "$farmID" #On the consumer farm, run the following command to copy the IntranetConsumerFarmID.txt to the publisher farm Copy-Item \\$consumer\c$\Certs\IntranetConsumerFarmID.txt \\$publisher\c$\Certs

Échange des certificats

Vous disposez maintenant des certificats dont vous avez besoin. Ils proviennent des deux batteries de serveurs. Utilisez la cmdlet Copy-Item pour prendre le certificat EnterpriseServicesRootCert.cer et le copier dans la batterie de serveurs de consommation, puis copiez les certificats IntranetRootCert et IntranetSTSCert dans la batterie de serveurs d'entreprise, comme indiqué ici :

$publisher = "TECHED-Services" $cconsumer = "TECHED-SP" # Copy to Consumer Copy-Item \\$publisher\c$\Certs\EnterpriseServicesRootCert.cer \\$cconsumer\c$\Certs Copy-Item \\$cconsumer\c$\Certs\IntranetRootCert.cer \\$publisher\c$\Certs Copy-Item \\$cconsumer\c$\Certs\IntranetSTSCert.cer \\$publisher\c$\Certs

Importation des certificats de publication

Vous souhaitez maintenant importer deux certificats intranet dans la batterie de serveurs d'entreprise et établir une relation de confiance. Vous devez utiliser l'ID de batterie pour configurer les autorisations. Utilisez le fichier texte créé précédemment afin que le processus soit transparent et exécutez les commandes illustrées à la figure 8 sur la batterie de serveurs de publication afin d'établir la relation de confiance avec la batterie de serveurs de consommation.

Figure 8 Établir une relation de confiance avec la batterie de serveurs de consommation

$trustCert = Get-PfxCertificate "C:\certs\IntranetRootCert.cer" New-SPTrustedRootAuthority Intranet -Certificate $trustCert $stsCert = Get-PfxCertificate "c:\certs\IntranetSTSCert.cer" New-SPTrustedServiceTokenIssuer Intranet -Certificate $stsCert $farmID = Get-Content C:\Certs\IntranetConsumerFarmID.txt $security = Get-SPTopologyServiceApplication | Get-SPServiceApplicationSecurity $claimProvider = (Get-SPClaimProvider System).ClaimProvider $principal = New-SPClaimsPrincipal -ClaimType "https://schemas.microsoft.com/sharepoint/2009/08/claims/farmid" -ClaimProvider $claimProvider -ClaimValue $farmID Grant-SPObjectSecurity -Identity $security -Principal $principal -Rights "Full Control" Get-SPTopologyServiceApplication | Set-SPServiceApplicationSecurity -ObjectSecurity $security

Importation des certificats de consommation

Il reste une dernière étape concernant les certificats. Dans la batterie de serveurs de consommation, vous devez exécuter le script suivant pour importer le certificat EnterpriseServicesRootCert et exécuter ces commandes sur la batterie de serveurs de consommation afin d'établir la relation de confiance avec la batterie de serveurs de publication :

$trustCert = Get-PfxCertificate "C:\Certs\EnterpriseServicesRootCert.cer" New-SPTrustedRootAuthority EnterpriseServices -Certificate $trustCert

Publication des services

Nous avons créé les deux batteries de serveurs, importé le certificat racine de la batterie de serveurs d'entreprise vers la batterie de serveurs de consommation, importé les certificats racine et STS de la batterie de serveurs de consommation vers la batterie de serveurs d'entreprise, et utilisé l'ID de batterie de serveurs de consommation pour établir une relation de confiance entre les deux batteries de serveurs. Nous allons maintenant explorer l'administration centrale et publier les services.

L'étape suivante consiste à vérifier les applications de service. Recherchez l'un des six services que vous souhaitez partager, mettez-le en surbrillance, puis cliquez sur le bouton Publier du ruban. Une boîte de dialogue s'affiche pour vous permettre de sélectionner la façon dont vous souhaitez fournir le service. Changez le type de connexion afin d'utiliser HTTPS, puis activez la case à cocher Publier cette application de service sur d'autres batteries de serveurs. Notez l'URL de publication. Vous pouvez l'utiliser de différentes façons.

Consommation des services

SharePoint offre différents chemins d'accès aux services de consommation. Commencez par mettre en surbrillance le bouton Se connecter disponible dans le ruban. Une boîte de dialogue Se connecter à une application de service distante s'affiche alors. Copiez l'URL complète de la section précédente et collez-la dans la zone de texte. Cliquez sur OK. Vous voyez alors un service donné. En effet, le service est identifié de façon spécifique. Vous pouvez également voir tous les services publiés en utilisant simplement l'adresse HTTPS.

Cela vous permettra de vérifier que les certificats sont configurés correctement. En dernier lieu, spécifiez le type de connexion à établir. Cette étape est utile si l'éditeur partage plusieurs des applications de service du même type. Il est important de noter que vous utilisez uniquement le chemin d'accès HTTPS. À la fin, vous ne voyez que les applications de service du type spécifié initialement.

Résolution des problèmes de la solution de services fédérés

Plusieurs choses peuvent affecter les services fédérés. Vous devez tenir compte de la mise en réseau, des pare-feu et des obstacles liés à l'infrastructure. Si les batteries de serveurs se trouvent dans des domaines différents, l'application de service Profil utilisateur a besoin des deux domaines pour établir la relation de confiance.

Pour que les fonctionnalités d'administration des applications de service Business Data Connectivity et Banque d'informations sécurisée fonctionnent à partir de la batterie de serveurs de consommation, le domaine de la batterie de serveurs de publication doit faire confiance à cette dernière. D'autres applications de service inter-batteries de serveurs fonctionnent sans qu'une relation de confiance soit nécessaire entre les domaines. Outre la vérification des confiances de domaine, vous devez également vérifier les éléments suivants :

  • La confiance de domaine est garantie
  • Le consommateur a l'autorisation d'accéder au service de topologie
  • La liste ACL
  • Le nom de domaine pleinement qualifié
  • Les certificats

Nous allons maintenant prendre un autre exemple et tenter d'accéder à l'un des services de la batterie de serveurs de consommation. Remarquez que le message d'erreur indique que le site Web a refusé de montrer la page Web. Pour résoudre ce problème, rendez-vous dans la batterie de serveurs d'entreprise et autorisez la batterie de serveurs de consommation à utiliser ce service donné.

Pour configurer les autorisations de la batterie de serveurs de consommation, mettez en surbrillance l'application de service que vous souhaitez configurer et cliquez sur Autorisations. Vous obtiendrez alors l'ID de la batterie de serveurs de consommation. Souvenez-vous, vous avez créé un fichier texte qui comportait l'ID de la batterie de serveurs de consommation. Vous l'avez transféré vers la batterie de serveurs de publication. Recherchez ce fichier sur c:\certs. Collez l'ID de batterie dans la zone de texte, puis cliquez sur Ajouter. Vérifiez ensuite les autorisations appropriées. Vous pouvez désormais procéder au test du service.

Test de la solution de services fédérés

À partir de la batterie de serveurs de consommation, vous devriez pouvoir interagir avec les services. Pour cet environnement de test, nous utiliserons des images Hyper-V. Deux des images seront pour l'environnement d'hébergement et deux autres pour l'environnement de consommation. Vous pouvez aisément étendre le nombre de serveurs, mais en raison de restrictions matérielles dans le cadre des environnements de démonstration, il est plus simple d'utiliser un serveur pour Active Directory et de partager les rôles SQL Server et SharePoint 2010 sur l'autre.

Bien qu'il ne soit pas impératif de suivre chacune de ces étapes à la lettre, nous vous recommandons de procéder ainsi afin d'obtenir un résultat cohérent. Cet article ne couvre pas la configuration du réseau, mais vous trouverez les informations nécessaires sur mon blog.

Chaque serveur a été configuré avec les paramètres suivants :

Nom de serveur : adresse IP TechED-AD 192.168.110.1

Domaine : niveau fonctionnel de la forêt TechED.local Windows Server 2008 R2

Mot de passe d'administration : pass@word1

 

Nom de serveur : adresse IP TechED-SQL 192.168.110.2

Domaine :  niveau fonctionnel de la forêt TechED.local Windows Server 2008 R2

Mot de passe d'administration : pass@word1

 

Nom de serveur : adresse IP TechED-Serives 192.168.110.11

Domaine : niveau fonctionnel de la forêt TechED.local Windows Server 2008 R2

Mot de passe d'administration : pass@word1

 

Nom de serveur : adresse IP TechED-SP 192.168.110.12

Domaine : niveau fonctionnel de la forêt TechED.local Windows Server 2008 R2

Mot de passe d'administration : pass@word1

Une fois que vous avez créé les quatre ordinateurs, créez une nouvelle forêt de domaines sur le contrôleur de domaine (DC). Le domaine utilisé dans le cadre de cet exemple est TechED.local. Pour promouvoir les serveurs sur les contrôleurs de domaine, ayez recours à l'utilitaire DCPromo. Servez-vous des paramètres précédents pour attribuer les adresses IP appropriées aux cartes réseau et renommez les ordinateurs en conséquence.

Une fois que vous avez établi les contrôleurs de domaine et configuré leur adresse IP, vous pouvez joindre les serveurs qui hébergeront SQL Server et SharePoint 2010. Activez la fonctionnalité Environnement d'écriture de scripts intégré Windows PowerShell, ou ISE, sur chaque serveur qui héberge SQL Server et SharePoint. Cela facilite grandement la gestion de Windows PowerShell.

Installez maintenant SQL Server 2008 R2 sur le serveur TechED-SQL (voir la figure 9). Le fichier .iso approprié doit être téléchargé sur votre ordinateur hôte pour que vous puissiez l'associer à l'ordinateur virtuel à l'aide de Média | Lecteur DVD | Insérer le disque.

Figure 9 Installer SQL Server

# Set Exec Policy Set-ExecutionPolicy -executionPolicy Unrestricted # Add SQL Service Account to AD $domainName = $env:USERDOMAIN $LDAP = "LDAP://CN=Managed Service Accounts,DC=$domainName, DC=local" $objCN = [ADSI]$LDAP $objUser = $objCN.Create("user","CN=SQL Service") $objUser.Put("sAMAccountName","sqlService") $objUser.Setinfo() $objUser.psbase.invokeset("AccountDisabled", "False") $objUser.SetPassword("pass@word1") $objUser.setinfo() # Install SQL Server with the following settings # Disable Firewall # # SQL Server Feature Installation # Check … # Database Engine Services, SQL Server Replication, Full-Text Search # Business Intelligence Development Studio # Management Tools - Complete # Microsoft Sync Framework # ----------------------------- # Default Instance # Use account above for all services # Select Windows Authentication Mode and click Add Current User # Complete Wizard

Une fois que vous avez installé TechED-SQL, installez uniquement les composants requis de SharePoint et les binaires. N'exécutez pas l'Assistant. De plus, avant de faire quoi que ce soit d'autre, prenez un instantané des quatre ordinateurs. Mieux vaut prévenir que guérir.

Shannon Bray

Shannon Brayest un spécialiste de SharePoint et un formateur Microsoft certifié. Il occupe actuellement un poste d'architecte technique chez Planet Technologies et travaille exclusivement avec Microsoft SharePoint. Il se spécialise dans la conception des architectures et le développement de solutions à l'aide des technologies Microsoft. Il préside le groupe d'utilisateurs de SharePoint du Colorado et a présenté des sujets sur SharePoint lors de conférences Microsoft TechReady et Tech Ed. M. Bray est l'auteur de plusieurs séries de formations vidéo et a participé à la rédaction de l'ouvrage « Automating Microsoft SharePoint 2010 Administration with Windows PowerShell 2.0 » (automatisation de l'administration de Microsoft SharePoint 2010 avec Windows PowerShell 2.0) (Wiley, 2011).

Contenu associé