403 : Erreur interdite lorsque vous essayez d’afficher des informations de disponibilité organization dans Exchange
Numéro de la base de connaissances d’origine : 3082946
Résumé
Lorsque vous essayez d’afficher des informations de disponibilité organization, la tentative échoue et génère une erreur 403 : Interdit.
Par exemple, vous avez la forêt A sur un serveur qui exécute Microsoft Exchange 2007 et la forêt B sur un serveur qui exécute Exchange Server 2013 ou Exchange Server 2010. Dans ce cas, un utilisateur de la forêt A ne peut pas voir les informations de disponibilité d’un utilisateur dans la forêt B. En outre, l’événement suivant est enregistré dans le journal des événements sur le serveur source :
Log Name: Application
Source: MSExchange Availability
Date: Date
Event ID: 4002
Task Category: Availability Service
Level: Error
Keywords: Classic
User: N/A
Computer: <Computer Name>
Description:
Process <Process ID>[w3wp.exe:/LM/W3SVC/1/ROOT/EWS-1-130778800910201315]: Proxy request CrossForest from
Requester:S-1-5-21-1016748826-3068013645-1401187561-1105 to https://<ONLINE_URL>/EWS/Exchange.asmx failed.
Caller SIDs: . The exception returned is Microsoft.Exchange.InfoWorker.Common.Availability.ProxyWebRequestProcessingException:
System.Net.WebException: The request failed with HTTP status 403: Forbidden.
Sur le serveur de destination, l’entrée suivante est enregistrée dans le journal IIS (Internet Information Service), sous le répertoire W3SVC1 :
IIS Logs: 2015-06-08 04:19:25 <IP Address> POST /EWS/Exchange.asmx &CorrelationID=<empty>;&ClientId=JQJLGECZ0MGEHVVWEBZG&cafeReqId=9f422915-0721-48ce-b2c6-4406d2c1b49d; 443 domain\serviceaccount <IP Address> ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.000 - 403 0 0 718
Sur le serveur qui exécute Exchange Server 2013, l’entrée suivante est enregistrée dans le journal HTTPProxy :
WebExceptionStatus=ProtocolError;ResponseStatusCode=403;WebException=System.Net.WebException: The remote server returned an error: (403) Forbidden. at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at Microsoft.Exchange.HttpProxy.ProxyRequestHandler.<>c__DisplayClass2c.<OnResponseReady>b__2b();
Sur le serveur de boîtes aux lettres, l’entrée suivante est enregistrée dans le journal IIS, sous le répertoire W3SVC2 :
2015-06-08 04:16:29 <IP Address> POST /EWS/Exchange.asmx - 444 domain\serviceaccount 10.152.152.166 ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.000 403 0 0 233
Sur le serveur de boîtes aux lettres, l’entrée suivante est consignée dans le journal EWS :
AuthError=User not allowed to access EWS;,FaultInnerException=Microsoft.Exchange.Services.Core.Types.ServiceAccessDeniedException: Access is denied. Check credentials and try again.;ExceptionHandlerBase_ProvideFault_FaultException=System.ServiceModel.FaultException: Access is denied. Check credentials and try again. at Microsoft.Exchange.Services.Wcf.MessageInspectorManager.InternalAfterReceiveRequest(Message& request IClientChann
Cause
Ce problème se produit car EWS est bloqué sur la forêt B au niveau organization. La forêt B autorise uniquement les applications sélectionnées à accéder à EWS. EWS n’est pas autorisé pour les demandes de disponibilité inter-forêts.
Pour case activée la configuration organization, exécutez la commande suivante :
Get-Organizationconfig | fl *ews*
Résolution
Pour activer les demandes de disponibilité inter-forêts au niveau organization, vous devez ajouter l’agent utilisateur à la liste verte EWS. Par exemple, dans la situation décrite dans la section « Résumé », ajoutez le chemin d’accès de l’agent utilisateur suivant.
Remarque
Ces informations proviennent des journaux IIS sur le serveur de destination.
ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.00
Exécutez ensuite la commande suivante :
Set-OrganizationConfig -EwsAllowList "ASProxy/CrossForest/EmailDomain/EXCH/08.03.0083.000","TestApp","app1"