Microsoft CRM 2011 How to Configure IFD Hosted Setup

Screenshot 2014-07-05 15.44.06Like many, we have struggled to configure Microsoft CRM 2011 as an Internet Facing Deployment. There is quite a bit of disjointed and some what typical Microsoft “junk” on how to set this up.

So after reading the White Papers, blogs and YouTube videos on the topic, I figured I would need notes for myself as much as anything. This is mostly because I am yet to find one single example that covered the setup I was after. That being:

Single Server

On an existing domain

Running true IFD ready for customer access.

The last point it telling, as all the Microsoft examples give a self generated SSL cert, that really is an example of a DEV environment only. We want to test the “real deal”, and don’t mind spending a few $ on a real Certificate to see this in a true working environment.

If you need support upgrading Microsoft CRM 4.0 to CRM 2011 or CRM 2013, then contact InteractiveWebs CRM team.

The Existing Setup

Because this is a test environment, we are running the server on a Hyper V server. A single VM machine, that is running a fully patched version of:

  • Windows 2008 R2 SP1 64 Bit
  • SQL 2008 R2 64 Bit
  • Microsoft CRM 2011 64 Bit

Interesting enough, something that always takes me 15 min, it ensuring I download the correct version of the ISO files from MSDN. I get it that I am somewhat lame, but if you get a wrong version you can waste a load of time and energy later.

image

With a list looking like this it can be painful. Anyway, these are the files we used for install:

image

For those who care, the VM was set to run with 6000 MB ram, and fold out to use more.

image

Importantly

When we setup CRM, we selected the option to NOT use the default website, but configure a new one with the default settings of port 5555. This is necessary as you will see later.

 

Backup First

In all things Microsoft world, it is vital what you establish a working point to avoid unnecessarily installing things all over again. To get things working we have started fresh over 4 times.

Hyper V is great for this, as we just stopped the server, and made a copy of the VHD file. Then when it is time to start all over, it is just a matter of restoring from copy/backup.

 

Test First

Test that your CRM setup is working. Go to the local computer name (ours is VSERVER08) on the correct port: http://vserver08:5555

We called our Deployment of CRM – “CRM2011” So the URL redirects to: http://vserver08:5555/CRM2011/main.aspx

and after being prompted for login, we are in and testing.

image

Apply a Wildcard SSL Certificate

In CRM, the accessing of deployments is handled by the sub domains. So if we call a deployment “business1” we will access that as:  https://business1.domain.com

For testing, we purchased a standard Wildcard SSL certificate that applied that to the IIS7 server.

We will let you work out that bundle of joy, but a few tips.

1. Godaddy was about as cheap as you find on the net.

2. Setup involves creating a certificate request from within IIS, then pasting that text into the online providers order system. They then generate the certificates that you then import back into IIS and the server.

3.

Application for a certificate

Here, I will be a wildcard certificate, for example, describes how to create a certificate:

1) Open IIS Manager

2) Click the server name in the main screen double click Server Certificates

3) In the right panel, click Create Certificate Request…

image

4) fill in the following diagram each column, click Next

image

5) Cryptographic Service Provider Properties page to keep the default, click Next.

6) In the File Name page, enter C: \ req.txt , and then click Finish.

7) Run cmd , run

certreq-submit -attrib “CertificateTemplate: WebServer” C: \ req.txt

8) Select the CA , click OK.

9) the certificate is stored as C: \ Wildcard.cer . ( 7-9 can also be in the CA to complete)

10) back to the IIS Manager, click No. 3)  Step graph Complete Certificate Request …

11) Select the C: \ Wildcard.cer , Friendly name named *. contoso.com , of course, you can take a different name.

12) Click OK.

13) so that we completed the wildcard certificate request.

 

Additional SSL Certificate Imports

1) RUN MMC at the start / search

2) Select File / Add Remove Snapin – Select Certificates – ADD

image

Computer Account

image NEXT / Finish

3) Expand the first two folders, and Right Click on the Certificates Folder and select: All Tasks /  Import.

4) Browse to your wildcard SSL certificate file, and import that into the Personal and Trusted Root Certification Authorities.

image

 

Ensure that you

 

Binding site for the default SSL certificate

1) Open IIS Manager.

2) In the Connections panel, expand Sites , click Default Web Site.

3) In the Actions pane, click Bindings.

image

4) In the Site Bindings dialog box, click Add.

5) Type select HTTPS.

6) SSL Certificate , select the certificate you just created *. contoso.com , and then click OK.

image Ours is interactivewebs.com

7) Click Close.

8) Repeat for the Personal certificate folder.

 

For the CRM 2011 binding site SSL certificate

1) Open IIS Manager.

2) In the Connections panel, expand Sites , click CRM Web Site.

3) In the Actions pane, click Bindings.

4) In the Site Bindings dialog box, click Add.

5) Type select HTTPS.

6) SSL Certificate , select the certificate you just created *. contoso.com .

7) Port to select a different 443 (e.g. 444 ) and port number, and then click OK

8) Click Close.

 

DNS configuration

For MS CRM 2011 configuration Claims-based authentication, you need the DNS to add some records to make CRM 2011 for each breakpoint can be resolved correctly.

There are two ways you can achieve the desired result. But first lets understand the desired result.

  1. We make the assumption that your server is running at least one static IP address.
  2. Because this is Internet Facing, that IP needs to be accessible to the world.
  3. That same IP can be used for access to your server both internally on the matching we are playing with, and externally form anyone on the net.
Lets Get Basic

Start a Command Prompt, and work out what your IP address of the server is.

Click START > RUN > CMD

Type IPCONFIG – Enter

Under the name: IPv4 Address is a number that looks like: 66.34.204.220

image

That is Your IP Address of the Server.

The DNS Goal

Make sure that when you PING xxx.domain.com that it points to that IP address. Both for the world and for you when you do that on your server.

(xxx is the sub domain that we are about to configure.)

To configure CRM, we need some sub domains to point to the server IP.

  1. sts.domain.com
  2. auth.domain.com
  3. dev.domain.com
  4. Your ORG name.  org.domain.com (Where ORG is the CRM deployment name of your organization or organizations), e.g.

image

We have two setup here: CRM and CRM2011. So we need to configure crm.interactivewebs.com and crm2011.interactivewebs.com.

Hosting Your Own DNS

If you host your own Domain Name Server (DNS) and you host the domain name that you are using to setup IFD. Then configuring an A record for the above mentioned sub domains is easy.

START > Administrative Tools > DNS

Find your Domain Name

Right Click and select NEW HOST A

image

image

Add an A record that points to your servers IP address.

Repeat this process for all of the above mentioned sub domains. auth, sts1, dev, and your own organization names.

Test DNS

You must be able to ping all of those names and get the correct server IP address. Both from computers on the internet, and from the server.

Note: If you have added the DNS records, but still encounter name resolution problems, you can try running on the client ipconfig / flushdns to clean up the cache. You can also click the DNS server root and click CLEAR CACHE so that the server is responding with the latest updates.

image

Note: Don’t bother proceeding past this step if you cannot ping your sub domains internally and externally correctly.

 

Firewall configuration

You need to set the firewall to allow the CRM 2011 and the AD FS 2.0 port used by the incoming data stream. HTTPS (SSL) is the default port 443.

For Initial setup testing etc. We recommend just turning the thing off. Better start from a place where it does not muck you around, then turn it all back on after you are successful.

image

 

Configuration Claim-based authentication internal access

Configure the internal access Claim-based authentication requires the following steps:

  • Install and configure AD FS 2.0 .
  • Set Claims-based authentication configuration CRM 2011 server.
  • Set the Claims-based authentication configuration AD FS 2.0 server.
  • Test claims-based authentication within the access.

Install and configure AD FS 2.0

CRM 2011 with a variety of STS provider ( STS Provider ) together. This article uses Active Directory Federation Services (AD FS) 2.0 to provide a security token service (security token service ).

Note: AD FS 2.0 will be installed to the default site, so install AD FS 2.0 , you must have CRM 2011 installation in the new site. (Remember we said that earlier)

IIS Looks like this if it is correctly installed: image

If you only see the default website with CRM installed in that. Start AGAIN!

 

Download the AD FS 2.0

From the following link to download the AD FS 2.0

Active Directory Federation Services 2.0 RTW( http://go.microsoft.com/fwlink/?LinkID=204237 ).

 

Install AD FS 2.0

In the installation wizard, select the federation server role installed, for more information refer to

Install the AD FS 2.0 Software( http://go.microsoft.com/fwlink/?LinkId=192792 ).

Configure AD FS 2.0

1 in the AD FS 2.0 server, click Start , then click AD FS 2.0 Management .

2 In the AD FS 2.0 Management page , click AD FS 2.0 Federation Server Configuration Wizard .

image

3 In the Welcome page , select Create a new Federation Service , and then click Next.

image

4 In the Select Deployment Type page , select Stand-alone Federation Server , and then click Next.

image

5 Choose your SSL certificate (the choice of a certificate created *. contoso.com ) ,add a Federation Service name ( for example , sts1.contoso.com), and then click Next.

image

Note: Only you as the AD FS 2.0 sites when using the wildcard certificate, only need to add the Federation Service name.

6 Summary page, click Next.

image

7 Click Close to close the AD FS 2.0 Configuration Wizard.

image

Note: If you have not added ( sts1.contoso.com ) to add DNS records, then do it now.

 

Verify the AD FS 2.0 is working

Follow the steps below to verify that the AD FS 2.0 is working :

1 Open Internet Explorer.

2 Enter the federation metadata of the URL , for example:

https://sts1.contoso.com/federationmetadata/2007-06/federationmetadata.xml

3. to ensure that no certificate associated with the warning appears.

image

 

Claims-based authentication configuration CRM 2011server

After you install and configure the AD FS 2.0 , we need to configure the Claims-based authentication before setting CRM 2011 binding types ( Binding type ) and the root domain (root Domains) .

According to the following steps to set up CRM 2011 bound for the HTTPS and configure the root domain address :

1 Open the CRM Deployment Manager.

2 In the Actions pane , click Properties .

image

3 Click the Web Address page .

4 In the Binding Type , select HTTPS .

5. Ensure that the network address for the binding CRM 2011 site SSL certificate and SSL ports. Because you configured for internal access to Claims-based authentication, so the address of the host for the root domain name. Port number must IIS in CRM 2011 is set in the port the same site.

6 For example, *. contoso.com wildcard certificate, you can useinternalcrm.contoso.com: 444 as the network address.

image

7 Click OK .

Note: If the CRM Outlook client configuration using the old binding value, then the need to be updated to use the new value. + Make sure you have a DNS entry for: internalcrm.

From the CRM 2011 is passed to the AD FS 2.0 of Claims data you need to use the Claims-Based Authentication Configuration Wizard (described below) specified in the certificate for encryption. Therefore, CRM Web application CRMAppPool account must have read the certificate’s private key encryption ( Read ) permissions.According to the following steps to give this permission:

1 in CRM 2011 server , run the Microsoft Management Console (Start => Run MMC).

2 Click Files => Add / Remove Snap-in …

3 left panel, select Certificates , click Add to add to the right panel.

4 In the pop-up window, select Computer account .

5 next page, select Local Computer , click Finish .

6 Click OK .

7 Expand the Certificates ( Local Computer ) => Personal, select Certificates .

8. In the middle panel, right-click you will be in the Claims-Based Authentication Configuration Wizard to specify the encryption certificate (in this case *. contoso.com ), click All Tasks => Manage Private Keys.

9 Click Add , add CRMAppPool account (if you are using Network Service , select the account directly), and then give Read permissions.

image

Note: You can use IIS Manager to view CRMAppPool what account to use. In the Connections panel , click Application Pools , and then see CRMAppPool under Identity .

image

10 Click OK .

 

Configure Claims-Based Authentication

Below, we setup Claims-Based Authentication Configuration Wizard ( Configure Claims-Based Authentication Wizard ) to configure the Claims-Based Authentication. To learn how PowerShell to configure Claims-Based Authentication, refer to the English original.

1) Open the Deployment Manager.

2) on the left navigation panel, right-click Microsoft Dynamics CRM , and then click Configure Claims-Based Authentication.

image

3) click Next.

image

4) In the Specify the security token service page , enter the Federation metadata URL, such as

https://sts1.interactivewebs.com/federationmetadata/2007-06/federationmetadata.xml

image

Note: The data is usually in the AD FS 2.0 website. Can this URL copied into IE to seeFederation metadata , to ensure that this is the correct URL . Using IE to access the URL can not have a certificate-related warnings (Ignore that crap!)

image

5) Click Next .

6) In the Specify the encryption certificate page , click on Select…

7) select a certificate, where we choose *.interactivewebs.com.

image

image

8) This certificate is used to encrypt the transmitted AD FS 2.0 authentication security token service security token.

Note: Microsoft Dynamics CRM service account must have the private key encryption certificate Read permission.

10 Click Next . Claims-Based Authentication Configuration Wizard validates the token and certificate you specified.

image

11 In the System Checks page, if the test passed, click Next .

12 In the Review your selections and then click Apply page , just to confirm the input, and then click Apply .

image

13. On this page, note which of the URL , because then, you will use this URL to add a trusted party ( Relying Party ) to the security token service.

image

image

14 IMPORTANT – Click View Log File

15 Scroll to the end, and Copy the URL from the bottom of the file.

image– This will be used in the next configuration. Note that this is different to the URL used in step 4 above, as it represents the internal URL. Subtle but vital (and the cause of frustration the first 10 times we tried this).

16 Click Finish.

17 Validate that you can browse to the URL above. If you cannot view this in a browser, then have a look again at your permissions on the certificate in relation to the account on the application pool in IIS for CRM. Read above: Claims-based authentication configuration CRM 2011server.

18. Once you can browse this URL, you are done here.

 

Claims-based authentication configuration AD FS 2.0server

After completion of the previous step, the next step we need AD FS 2.0 to add and configure the statement provider trust ( claims Provider trusts ) and the relying party trust ( Relying Party trusts ).

Configure claims provider trusts

You need to add a claims rule come from Active Directory to obtain user ‘s UPN (user principal name) and then as a UPN delivered to MS CRM . Follow these steps to configure the AD FS 2.0 to UPN LDAP attribute as a claim is sent to the relying party ( Relying Party ):

1 installed in the AD FS 2.0 on the server , open AD FS 2.0 Management.

2 In the Navigation Pane , expand the Trust Relationships , and then click the Claims Provider Trusts.

3 In the Claims Provider Trusts under , right-click Active Directory , and then click Edit Claims Rules.

image

4 in the Rules Editor , click Add Rule.

image

5. In Claim rule template list , select the Send LDAP Attributes as Claims template ,and then click Next.

image

6 Create the following rule:

  • Claim rule name: UPN Claim Rule ( or other descriptive name )

· Add the following mapping:

  • Attribute Store: Active Directory
  • LDAP Attribute: User Principal Name
  • Outgoing Claim Type: UPN image

7 Click Finish , then click OK close the Rules Editor.

 

Configuration relying party trusts

In the open claims-based authentication, you must ensure CRM 2011 server configured as a relying party to use from the AD FS 2.0 statement to internal access claims certification.

1 Open AD FS 2.0 Management.

2 In the Actions menu, click Add Relying Party Trust.

image

3 In the Add Relying Party Trust Wizard , click Start.

image

4 In the Select Data Source page , click Import Data about the Relying Party Online or published on a local Network , enter the positioning federation metadata.xml file URL.

image

Federation metadata is set Claims when created. Use Claims-Based Authentication Configuration Wizard. The URL used here is IMPORTANT – Read point 14 in the above section. It is the URL retrieved from the VIEW LOG FILE That we did when  from configuration of Claims Based Authentication:  In this case

image

https://internalcrm.interactivewebs.com:444/FederationMetadata/2007-06/FederationMetadata.xml

Note: Ensure that no certificate-related warnings appear when hitting the URL.

5 Click Next .

6 In the Specify Display Name page , enter a display name, such as CRM Claims Relying Party , and then click Next.

image

7 In the Choose Issuance Authorization Rules page , choose Permit All users to access this Relying Party , and then click Next.

image

8 In the Ready to Add Trust page , click Next , then click Close .

9. When the Rule Editor appears , click Add Rule . Otherwise , the Relying Party Trusts list , right-click you create a relying party objects, click the Edit Claims Rules , and then click Add Rule.

image

10. In Claim rule template list , select the Pass Through or Filter an Incoming Claim template, and then click Next.

image

11 create the following rule:

· Claim rule name: Pass Through UPN ( or other descriptive name )

· Add the following mapping:

  • Incoming claim type: UPN
  • Pass through All claim values

image

12 Click Finish .

13 In the Rule Editor , click Add Rule , in Claim rule template list , select the Pass Through or Filter an Incoming Claim template , and then click Next :

· Claim rule name: Pass Through Primary SID ( or other descriptive name )

· Add the following mapping:

  •      Incoming claim type: Primary SID
  •      Pass through All claim values

image

14 Click Finish .

15 In the Rule Editor , click Add Rule

16. In Claim rule template list , select the Transform an Incoming Claim template , and then click Next.

image

17 create the following rule:

· Claim rule name: Transform Windows Account Name to Name ( or other descriptive name )

  • Incoming claim type: Windows account name
  • Outgoing claim type: Name
  • Pass through All claim values

image

18 Click Finish , to create a good three rule later , click OK close the Rule Editor

image

 

 

Test claims-based authentication within the access

You should now be able to use the claims certified to the internal access CRM 2011 a

1 Open the Deployment Manager.

2 Expand the Deployment Manager node , and then click on Organizations .

3 Right-click your organization , and then click Browse . so you can open the CRM web page of ( for example: https://internalcrm.contoso.com:444 ).

image

Trouble Shooting

If the CRM web page can not be displayed, then run the following iisreset and then try again.

image

If the CRM web page still does not show, then you may need to setup AD FS 2.0 server setup a SPN (Service Principal Name) . Re-run the Claims-Based Authentication Wizard, and then browse to the Specify the security token service page, note the AD FS 2.0 server in the Federation metadata URL in the name. (In this case sts1.interactivewebs.com )

http://blogs.msdn.com/b/crm/archive/2009/08/06/configuring-service-principal-names.aspx

image

1 Open a command line tool .

2 Enter the following command : ( application, in your own environment, substitute the name of the name of the command line )

c: \> setspn -a http/sts1.interactivewebs.com fserver4\VSERVER08$

fserver4\VSERVER08 = the domain and machine name of the server.

image

c: \> iisreset

3 and then re-access the Microsoft Dynamics CRM Server 2011 site, so you should be able to successfully access to the CRM 2011 Web page.

http://technet.microsoft.com/en-us/library/gg188614.aspx

If you receive ADFS – sts1 errors.

There was a problem accessing the site. Try to browse to the site again.
If the problem persists, contact the administrator of this site and provide the reference number to identify the problem.
Reference number: xxx

And or if you look in your log files under ADFS 2.0 You will see errors like this.

image

In our case, this was because we used the external Metadata URL and not the Internal URL that we should have copied from the “View Log File” When configuring the Claims Based Authentication. Step 14 in the section above.

image

image

Note the difference between this:

https://internalcrm.interactivewebs.com:444/FederationMetadata/2007-06/FederationMetadata.xml

and the original meta data check we did with:

https://sts1.interactivewebs.com/federationmetadata/2007-06/federationmetadata.xml

We incorrectly figured it would be pulling the same XML data. It does NOT!

 

Configuration Claim-based authentication external access

Open to the CRM 2011 Data Claims-based authentication of external access, you need to do the following steps:

1 complete contents of the previous section: Configuring Claim-based authentication- internal access.

2 for the IFD configuration CRM 2011 server.

3 for the IFD configuration AD FS 2.0 server.

4 Test claims-based authentication external access.

The IFD configuration CRM 2011 server

When opening Claims certified internal access, you can open by IFD external claims visited. The following describes using the IFD Configuration Wizard to configure, if you want to learn how to use PowerShell to be configured, refer to the English original.

1 Open the Deployment Manager.

2 In the tree structure , right-click Microsoft Dynamics CRM , and then click Configure Internet-Facing Deployment.

image

3 Click Next.

image

4 Fill in the correct domain information for the Web Application, Org, and Discovery Web services. Remembering here that in our case: *.interactivewebs.com was the name of the wildcard certificate used, and that PORT 444 was the port we configured for the CRM Web Instance in the bindings for IIS.

Thus we use:

  • Web Application Server Domain: interactivewebs.com:444
  • Organization Web Service Domain: interactivewebs.com:444
  • Web Service Discovery Domain: dev.interactivewebs.com:444 image

Note – Enter the domain name, rather than the server name .

  • If the CRM installed on the same server or servers are installed in the same domain, then the Web Application Server Domain and Organization Web Service Domain should be the same .
  • Web Service Discovery Domain must be a Web Application Server Domain as a subdomain like the  “dev.” that we setup in DNS earlier.
  • domain name must be on the SSL certificate name

Domain examples :

  • Web Application Server Domain: contoso.com: 444
  • Organization Web Service Domain: contoso.com: 444
  • Web Service Discovery Domain: dev.contoso.com: 444

For more information on the website, please refer to Install Microsoft Dynamics CRM Server 2011 on multiple computers( http://go.microsoft.com/fwlink/?LinkID=199532 )

5 In the Enter the external domain where your Internet-facing servers are located input box , enter for your internet to CRM 2011 server located outside the domain of information, and then click Next .

image

You must specify the domain specified in the previous step Web Application Server Domain sub-domains . default , will be “auth.” added to the Web Application Server Domain before.

Domain examples :

  • External Domain: auth.contoso.com: 444

6 In the System Checks page , if there is no problem, click Next.

image

7 In Review your selections and then click Apply page , confirm your input , and then click Apply.

image

8 Click Finish .

image

9. Open a command line tool, run: iisreset

 

The IFD configuration AD FS 2.0 server

To open CRM 2011 on the IFD , you need to add AD FS 2.0 server for the IFD to create a relying party endpoints. Follow these steps:

1 open AD FS 2.0 Management .

2 In the Actions menu, click Add Relying Party Trust.

image

3 In the Add Relying Party Trust Wizard , click Start .

4 In the Select Data Source page , click Import Data about the Relying Party Online or published on a local Network , enter the positioning federation metadata.xml file URL.

Note – This is almost the same URL as we used previously, but has the .auth sub domain that we used in point 4 above. For use the Federation metadata is configured IFD when created. In this case https://auth.interactivewebs.com:444/FederationMetadata/2007-06/FederationMetadata.xml .

Check in your browser the URL, to ensure that no certificate-related warnings appear.

image

5 Click Next.

6 In the Specify Display Name page , enter the display name , such as CRM IFD Relying Party , and then click Next.

image

7 In the Choose Issuance Authorization Rules page , select the Permit all users to access this relying party options , and then click Next.

image

8 In the Ready to Add Trust page , click Next , then click Close .

9. If the Rule Editor appears , click Add Rule. Otherwise , the Relying Party Trusts list ,right-click you create a relying party objects, click the Edit Claims Rules, and then click Add Rule.

image

10. In Claim rule template list , select the Pass Through or Filter an Incoming Claim template, and then click Next.

image

11 create the following rule:

· Claim rule name: Pass Through UPN ( or other descriptive name )

· Add the following mapping:

  •     Incoming claim type: UPN
  •     Pass through All claim values image

12 Click Finish .

13 In the Rule Editor , click Add Rule , in Claim rule template list , select the Pass Through or Filter an Incoming Claim template , and then click Next :

· Claim rule name: Pass Through Primary SID ( or other descriptive name )

· Add the following mapping:

  •     Incoming claim type: Primary SID
  •     Pass through All claim values image

14 Click Finish .

15 in the Rules Editor , click Add Rule ,

16. In Claim rule template list , select the Transform an Incoming Claim template , and then click Next .

17 create the following rule:

· Claim rule name: Transform Windows Account Name to Name ( or other descriptive name )

  •     Incoming claim type: Windows account name
  •     Outgoing claim type: Name
  •     Pass through All claim values

 

18 Click Finish , you have created three rule later , climageick OK close the Rule Editor .

Test claims-based authentication to access external

Now, you should use the claims certified external access CRM 2011 a. In IE the browser CRM 2011 external address (for example: https://org.contoso.com:444 ), you will see the following pages:

Enter the user name password, log CRM 2011.

 

Final Notes

An additional log cleanup step here.

Like anything Microsoft, this was not easy. It took us over 10 attempts drawing on over a dozen resources to get this worked out. For us, the main tripping points related the the meta data URL’s used in configuring the endpoints. Our fault, but it also appears to be a common error to other administrators on the net.

To Microsoft – you documentation sucks badly! If I never read another White Paper it will be too soon!

Thanks to – Jackie Chen (Chen Pan) Your blog was GOLD!

Also Look at these Updates

Look for our other posts on Email Router Configurations. “is a fickle bitch!”

AD FS certificate rollover CRM 2011

CRM 2011 Rollup 10 Invalid Argument Error

212 thoughts on “Microsoft CRM 2011 How to Configure IFD Hosted Setup

  1. Thanks for the extensive information,We followed all the above mentioned steps and we face the following two issues. Any valuable suggestions appreciated.
    1. After IFD configuration , our outlook client still communicates to AD and this is not desired in IFD as web/adfs server is responsible for communication with AD. This looks to be an ugly issue 🙂
    2.Internal URL is not accessible and only external URL is accessible. Any clues ?

  2. Hi,

    Thanks for the guide. I configured IFD right to the end , but when i try to acces the system, the following error i receive from AD FS 2.0 event viewer

    The Federation Service encountered an error while processing the WS-Trust request.
    Request type: http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue

    Additional Data
    Exception details:
    System.ArgumentException: ID4216: The ClaimType ‘Name’ must be of format ‘namespace’/’name’.
    Parameter name: claimType
    at Microsoft.IdentityModel.Threading.AsyncResult.End(IAsyncResult result)
    at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.ProcessCoreAsyncResult.End(IAsyncResult ar)
    at Microsoft.IdentityModel.Protocols.WSTrust.WSTrustServiceContract.EndProcessCore(IAsyncResult ar, String requestAction, String responseAction, String trustNamespace)

    Any ideas?

    Thank You

  3. Hi,
    I just finished configuring the relying party trusts rules and when I complete this section and try to test my user credentials fail (https://internalcrm._____ )I have followed the guide from start to finish twice now and have got stuck here both times.

    I have retraced my steps but I am genuinely out of ideas why this isn’t working. I have tried logging on with different domain users who has CRM 2011 permissions but each time it is stating that – ‘you do not have permission to view this directory or page using the credentials that you supplied’ after the third logon attempt.

    I am able to view the CRM site with the Deployment Admin account prior to this setting.

    Any help would be very much appreciated… thanks 🙂

  4. Hi, I am having the same issue as Ankit –

    Ankit Shah :
    hi,
    On final step of ADFS 2.0 IFD configuration, i am getting an error like
    “Error message: MSIS7612: Each party on relying trust must be unique across all relying party trusts in ADFS 2.0″
    I don’t know why i am getting such error. Please help me out to resove this.

    I am on the last stage of the guide – The IFD configuration AD FS 2.0 server
    > I enter the .auth subdomain
    > Give it a display name
    > Permit all users
    > Click ‘Next’ to finish and I get the following error –

    “MSIS7612: Each identifier for a relying party trust must be unique across all relaying party trusts in AD FS 2.0 configuration”

    I notice under the ‘Identifiers’ tab on ‘Ready to Add Trust’ page that the display name = .auth subdomain and the ‘Relying party identifiers = https://internalcrm.______ – this doesn’t seem right…

    I see Ankit posted on here but I don’t know if it was resolved –

    http://social.technet.microsoft.com/Forums/en-US/winserverDS/thread/cbcf4a98-6f6d-420c-8e08-82b7752b6d54

    Any help would be much appreciated 🙂

    • I ran into a similar issue when I was going through the IFD setup. You need to follow these steps precisely in this order….

      1. Configure CRM For Claims-Based Authentication via Deployment Manager
      2. Add Relying Party Trusts for the Internal URL only.
      3. Confirm that you can access CRM via the internal URL
      4. Configure CRM for Internet-Facing Deployment via Deployment Manager
      5. Add Relying Party Trusts for the “auth” subdomain

      If you don’t do step 4 before step 5, the FederationMetadata returned from the “auth” subdomain will contain the internal URL as an endpoint. This will cause the error you are getting because that endpoint already exists in ADFS associated when the Trusts added in step 2. You should be able to confirm this by putting “https://auth.[yourdomain].com:444/FederationMetadata/2007-06/FederationMetadata.xml” into your browser (The Endpoints are listed near the end of the XML). Once you have done step 4 and try to hit this URL again, you should see the endpoints for the “dev” and “auth” sub-domains plus a sub-domain for every organization you have configured in the Deployment Manager. Once you confirm that the endpoints are returning correctly in the metadata, you should be able to complete step 5 without getting the issue you mention.

  5. We ran into an issue while trying to setup the ADFS to use a proxy for external access.
    We used DNS to provide internal/external resolution of approrpiate DNS entries.
    Internally all bidings for crm point to ourcrm.ourdomain.com
    ADFS for claims authentication works great internally, with the internal dns pointing to adfs.ourdomain.com
    Externally, we wanted to use an ADFS proxy server instead of directly accessing the ADFS server.
    We setup external DNS to resolve adfs.ourdomain.com to the proxy server’s public IP address.
    Directly browsing to the login page on that ADFS proxy provides the ADFS login forms page and authenticates correctly.
    Trying to access the CRM publicly ourcrm.ourdomain.com with the proxy results in an error page. If we change the IP address resolution on the public side to allow the DNS for adfs.ourdomain.com to go directly to the primary ADFS server, it works fine, resulting in a desired login request and then redirecting to the CRM site.

    • I would have thought you are on the correct track. I would be looking at what error the proxy throws. Checking that authentication can work from the proxy to the server. Remember that in normal instances the internal address is domain.com/crm, and internal access would normally fail where yours works.

  6. Hello,
    Good article…much better than the white paper from MS.

    How to handle the scenario where the CRM server has an internal ip and mapped with an external ip through firewall.

    Thanks

  7. Fantastic writeup.

    Will this configuration allow users in the domain (and behind the firewall) to access the CRM via the CRM SDK? (i.e. via the .net Microsoft.CRM.SDKTypeProxy,CRMService assembly)?

    Thanks in advance for your reply.

    • Yes, generally the XRM connectivity web services are just hung “some place” that is really unrelated to this authentication method. We typically throw it up on another IIS website instance on the same web server. Internal access and external access use the same method.

  8. Hello,

    Thanks for the blog post. It’s been a great help. I’ve got a quick issue, you might’ve seen it before.

    I’ve got a 2011 IFD deployment all up and running, no problem. Out of nowhere (nothing has changed) when CRM redirects me to the ADFS login page, I get a “403 – You do not have permission to view this directory or page using the credentials you suplied”.

    Any rough ideas on what this might be from? I’ve turned on Fiddler, but being HTTPS its a bit harder to follow the trail.

    Thanks in advance,
    John J.

  9. Under “For the CRM 2011 binding site SSL certificate”

    What does
    “Port to select a different 443 (e.g. 444 ) and port number, and then click OK” mean?

    Does this mean select port 443 or does it mean select port 444?

    Thanks.

  10. this is infact a very great steps of instructions for CBA_IFD.
    i tired these steps but i failes to add a “Trusted Relying Party”.
    I am getting the below error

    An error occurred during an attempt to read the federation metadata. Verify that the specified URL or host name is a valid federation metadata endpoint.
    ——————————————————————————————————–
    Verify your proxy server setting. For more information about how to verify your proxy server setting, see the AD FS 2.0 Troubleshooting Guide (http://go.microsoft.com/fwlink/?LinkId=182180).
    Error message: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.
    ———————————————————————————————————-

    my end point is working if put it browser and this i got from the log file while creating CBA. also i have tried for IFD one, that also did not work and i got the same error.

    please help me in this.
    i am almost done but the end point i am unable to register in the ADFS side.
    “I am using the self signed certificate in IIS”.

    thanks in advance.

    yes.Sudhanshu

  11. Hi, Can someone help me to configure IFD without a wildcard certificate?
    I search a lot on blogs and google but I can’t find any documentation about this.

    I have 5 certificates: adfs.mycompany.uk, auth.mycompany.uk, crm.mycompany.uk, dev.mycompany.uk and myorg.mycompany.uk

    – adfs.mycompany.uk is used on Default Web Site on port 443 when I configure adfs
    – crm.mycompany.uk is used on Microsoft Dynamics CRM on port 444 and is used for internal

    The problem is that I cannot bind other certificates on port 444 on IIS

    How can I bind the rest of the certificates on IIS on the same port?
    How can I configure IFD for CRM 2011 with 5 certificates for Internal and External?

    Please help me to solve this issue. Thanks

  12. Pingback: Configure CRM 2011 and ADFS 2.0 on a single server on port 443 « Getting IT Right

  13. Pingback: Event ID 17137 from source MSSQL$MICROSOFT##SSEE | InteractiveWebs Blog

  14. Pingback: AD FS certificate rollover CRM 2011 | InteractiveWebs Blog

  15. This is one of the first real step-by-step instructions of getting ADFS and IFD working for CRM 2011 that I have seen as of yet. We have som problems getting the legacy discovery web service to respond (the /MSCRMServices/2007/SPLA/CrmDiscoveryService.asmx). It just responds with a “401 not authorized”. Are you able to reach that service from the outside on your system? I’m currently going through all these steps to ensure our system is correctly set up.

  16. Hi,

    Thanks for the Clean screenshot display. Had some struggle in setup. But finally got setup done. Thanks again for sharing to all….. 🙂

    Thanks
    T.Vinoth

  17. Hi, Having some issues here.

    First of all this is a great post. I’m not sure where I’m stuck though. All metadata URLs are accessible, but when I navigate to the https://org1.domainname.com:444. I get a page not found. I saw your mention of this, and tried the suggestions but still no luck.

    The only thing unique about this is I have a separate server for sts1. ADFS is installed on both machines.

    This was working before, but then our certificates expired, well I renewed them, restarted the machines, and then I’m stuck.

  18. Hi There. Many thanks for your info here. I manged to get IFD working after much effort (only 10 goes you say? You did well). I had so many other issues on top of your great advice here.

    My 2 cents is that the wildcard certificate and IIS (bindings in particular) have to be PERFECT. The Windows server OS seems to really struggle with changing them later. I am not a Server Admin – I do CRM.

    Thanks again for sharing your knowledge.

  19. Pingback: CRM 2011 and Claims Based Authentication with Internet Facing Deployment « IanCRM

  20. Hi, I have an issue with the CRM addin 🙁
    When I try to configure this addin, I entered the url, all organisation appears (great), but after selected one organisation, when I click on OK, I received this error “The server adress (URL) is not valid.”, but it’s valid, and the configuration wizard is able to connect to my CRM (I have the organiszation list in the wizard).
    So, why he can connect to retrieve organisation and not for the connection ? One strange element : the wizard doesn’t ask me to enter my credential.
    Remark: it’s not a permission issue, I can connect to the CRM with a browser.
    Thanks,

    • Sounds like it could be a DNS issue. Check you can ping the URL from all servers in question. Perhaps one of the servers is looking at an external DNS server that cannot access a response to the URL? Just an idea.

  21. Hi! I had the same problem has Ankit Shah, namely “Error message: MSIS7612: Each party on relying trust must be unique across all relying party trusts in ADFS 2.0″

    This is because my identifier for the CRM Claim relying party was auth.domainname.dom, so could’nt have the same identifier for the CRM IFD relying party.

    I followed your tutorial for the second time 🙂 the tutorial is really good overall but I got confused with the internalcrm thing. https://internalcrm.interactivewebs.com:444
    I thought internalcrm was your CRM ORG name.
    So for CRM claim relying party I was inputing the federation metadata such as https://crmorgname.domainname.dom:444/FederationMetadata/2007-06/FederationMetadata.xml
    Then because of this it set up the identifier as auth.domainname.dom

    I have solved this issue by inputting the followinf for the CRM Claim Relying party https://servername.domainname.dom:444FederationMetadata/2007-06/FederationMetadata.xml

    I still don’t know what internalcrm represent in your tutorial!? because you say your servername is VSERVER08 and your crm org is crm or crm2011

  22. Hi Great article, I have setup internal sinal sign on and it works great. I set up the external url https://auth.domainname.com to point to my adfs proxy server but when i browse to that site it just gives me the blank adfs site. Is there something I need to do on the adfs proxy server?

  23. Sorry forget to ask my fourth question.

    4.) Does ADFS 2.0 installation for IFD has some impact on AD server(i.e trusted domain)

  24. This is a bit off topic, but your blog post seems the most in-depth and applicable than anything else I’ve read.

    We are trying to set up a second IFD instance of CRM on our network. So, we’ll have:
    org.domain.com
    and
    stagingorg.domain.com

    using different servers, different SQL databases, etc. That way, we can test any changes in our staging environment without breaking production.

    We’ve been told we can’t have two IFD CRM environments with the same SQL database names (even though the databases are on separate SQL servers). So, we’ve got ORG_MSCRM and STAGINGORG_MSCRM.

    Is that right? What is the connection between the database names and the IFD configuration, if any?

    Thanks for the assistance.

    • You know that has never come up, and does not sound correct to me tither. Probably what people are talking about is this.

      1. CRM is recommended to only use the “CRM Tools and Methods” for setup and configuration. i.e. don’t get under the hood too much.

      2. When you setup a new instance of a CRM org, you name it and the name that is used is the same name that is used in the SQL name convention. For this reason, there cannot be two instances that have the same SQL name, as they are going to be needing to have the same org name.

      That’s my guess, but I would encourage you not to try anything too tricky with CRM. Think of it as a bundle of fly paper just waiting to get you all sticky!

  25. I did had to rerun the complete configuration .found the issue was with previous install
    However, now i get to sts1 website, after entering the credentials it fails and i see following error in the event log

    Log Name: Application
    Source: ASP.NET 4.0.30319.0
    Date: 30/10/2012 9:51:25 AM
    Event ID: 1309
    Task Category: Web Event
    Level: Warning
    Keywords: Classic
    User: N/A
    Computer: server2.server.local
    Description:
    Event code: 3005
    Event message: An unhandled exception has occurred.
    Event time: 30/10/2012 9:51:25 AM
    Event time (UTC): 29/10/2012 11:51:25 PM
    Event ID: 7c339ca2dce145689f5abf3b2a02c1b1
    Event sequence: 19
    Event occurrence: 2
    Event detail code: 0

    Application information:
    Application domain: /LM/W3SVC/3/ROOT-1-129960281925603730
    Trust level: Full
    Application Virtual Path: /
    Application Path: E:\Apps\Microsoft Dynamics CRM\CRMWeb\
    Machine name: server2

    Process information:
    Process ID: 1308
    Process name: w3wp.exe
    Account name: server\SPSERVICE

    Exception information:
    Exception type: CrmSecurityException
    Exception message: Could not find GUID for server: server2$ With SearchFilter:samAccountName
    at Microsoft.Crm.SecurityUtils.GetGuid(String searchItem, String searchFilter, String searchItemLogInfo, Boolean exceptionIfNotfound)
    at Microsoft.Crm.SecurityUtils.GetLocalSystemGuid()
    at Microsoft.Crm.Caching.OrganizationSettingsCacheLoader.LoadCacheData(Guid key, ExecutionContext context)

    Request information:
    Request URL: https://server2.server.com.au:443/default.aspx
    Request path: /default.aspx
    User host address: 192.168.1.1
    User:
    Is authenticated: False
    Authentication Type:
    Thread account name: server\SPSERVICE

    Thread information:
    Thread ID: 3
    Thread account name: server\SPSERVICE
    Is impersonating: False
    Stack trace: at Microsoft.Crm.SecurityUtils.GetGuid(String searchItem, String searchFilter, String searchItemLogInfo, Boolean exceptionIfNotfound)
    at Microsoft.Crm.SecurityUtils.GetLocalSystemGuid()
    at Microsoft.Crm.Caching.OrganizationSettingsCacheLoader.LoadCacheData(Guid key, ExecutionContext context)

  26. Hello, thanks for your job.

    One thing that i don’t understand. You use DNS name org.domain.com for your customer on CRM but is it also possible to use crm.domain.com/customera for example ?

    I’m using CRM 2011 from SPLA and i would like to know if i can use these names in my environment with IFD ?

    Thanks again!

  27. Hi…I have wild card certificate which is going to expire on 21st nov,2012.So please tell me what are the steps which I have to follow to to update certificate and ADFS 2.0.

    1.Does I have to attached renewed certificate again to default website and CRM website.

    2.Does I have to add these entry again to MMC for personal and Trusted certificate.

    If Not,then do let me know what are the steps that need to perform as still there are 20 days for certificate expiration.

    Please Help…It’s urgent.

  28. Pingback: Configuring CRM 2011 Internet Facing Deployment (IFD) - Peter Bursky's Website

  29. “Note: If the CRM Outlook client configuration using the old binding value, then the need to be updated to use the new value. + Make sure you have a DNS entry for: internalcrm.” – Where would you create the DNS entry? Thanks.

    • That would be on whatever DNS server your internal computers are configured to talk to. Remember that your DNS servers can be configured on network settings, or individually on computers. You can do an IPCONFIG at a command prompt and see what the individual computers are referencing for the DNS server. It is that server that needs to anser correctly.

      • Our domain is hosted with our ISP so I have got them to forward the following sub-domains to our server:
        sts.ourdomain.com
        auth.ourdomain.com
        dev.ourdomain.com
        orgname.ourdomain.com

        I guess I also need them to forward the internalcrm.ourdomain.com as well…and then do I need to create an internal DNS record for this?

  30. Hi,

    I’m wondering if you can use one ADFS server for two CRM 2011 environments. For example a Live and DEV environment being authenticated using one ADFS server. Do you have any information please?

    Thank you,
    Dave

    • You should be able to do that. Certainly you can run it against multiple deployments on the same server, so can’t think of a reason now why you could not run it against multiple servers. But honestly I am far from an expert on ADFS, so hopefully someone may chime in with a suggestion here.

      • I understand the the single server installation and done this many times. First one using this guide which is very good! The only thing I don’t understand with multiple CRM environments/servers is the DNS pointers. For example sts1 points to the ADFS server and auth and Dev point the the CRM environment. How would this work with multiple environments? How would ADFS know which environment to point the users to? Would you need for example sts2 auth2 and Dev2? Any help would be greatly appreciated.

        • If you are talking about multiple AD servers and authentications, then you would need to set that up as a trust. This way the ADFS will talk to any authenticated AD server and know the details to authenticate against.

          Remember if you have different internal to external IP or network addresses, you can hard code a server to look in at a certain IP address range using the HOSTS file on that server. This has a higher priority from any DNS lookup that the server in question may do when working out where / who to call.

  31. When I try and access https://internalcrm.ourdomain.com/ I get the windows security pop up box asking for login credentials and then get “401 – Unauthorized: Access is denied due to invalid credentials. You do not have permission to view this directory or page using the credentials that you supplied.”

    Any ideas?

  32. I have followed each and every step of you and i have succesfully configured Claims and IFD manually. But i want to automate the process .. So im going with the Powershell cmdlets
    Manually when i configure using the wizard, it is done perfectly and and everything works fine and Even teh Powershell cmlts for changing teh web bindings from https to https and Claims settings work, but the moment i run the powershell commands to configure the IFD, it executes with no error but when i manually configure the IFD again to check the values that has been set, what i see is the “next” button in external url window is disabled(see the pic in below url) and it doesn’t even let me enter anything there..
    http://social.microsoft.com/Forums/getfile/216095

    can any one help me out here

    in below url pic you can see the powershell cmdlets im running, even if i set all the web bindings and claims settings through powershell and IFD settings manually though wizard, it works perfectly, but the only problem for me now are the IFD Configuring Commands.
    http://social.microsoft.com/Forums/getfile/216099

    is there anything that im missing there????

    the only problem that im facing here is with the IFD Cmdlets , plz help me brother.

  33. Pingback: Configuring CRM 2011 IFD in a single VM | Sanghamitra Samantaray

  34. Yeah! It was terrific experience for me too. Microsoft documentation really useless in my case too. 🙁

    Atlast I succeeded in this configuration 🙂

    • Assuming you typed the command correctly, you should be accessing a file called: C:\Windows\System32\certreq.exe Note that the location of the system32 files are normally mapped on Windows boot to allow you to find this file from any directory on CMD. If this is not the case, try running the command while you are in the C:\Windows\System32\ directory. In the command prompt, type “cd C:\Windows\System32\” and ENTER. This should take you to the location of the certreq.exe program. If that program is not in that folder, you have other problems!

  35. Awesome blog.

    A bit off topic here, getting ready to deploy ADFS with TFS/client cert auth with CRM, checking if you have done this before, any gotchas?

    Please let me know.

    Thanks

    • Have not done this exactly before. To tell you the truth, we have kind of moved away from TFS to other technologies, as there was a time where TFS was just plain too hard to get working on the net for remote users use. Other technologies seam to work from the ground up being web based, and not requiring out of this world licensing.

      • Sorry typo did not mean TFS meant ADFS with TLS/client cert authentication with CRM, any gotchas please?

  36. I have an issue with IFD CRM. Am trying to connect to crm with network credentials. but it throwing as “The NetworkCredentials provided were unable to create a Kerberos credential, see inner exception for details.” and am able to connect to crm with username and password.

    Please help me….

    • This actually sounds like when your CRM is on one domain, but your creating a token from another domain. Not sure that this will be easily resolved. I have not really ever tried this config and suspect you may be stuck.

  37. Hello,
    I need to implement device authentication in crm dynamics 2011 on-premise while going from online to offline mode in outlook 2010 , I mean offline mode of crm dynamics should only be accessible if system /device is registered with organization active directory else CRM database should not be synchronized to local machine..
    Any help is welcome.

  38. Hello All,

    I deployed CRM2011 with ADFS and it is working very well inside my organization.
    I don’t want to you use IFD, but would like to use CBA to pointed to the public IP.
    Can this work that way?
    I register the DNS for both CRM and ADFS, but when trying to access the site from outside, ADSF will fail loading. But inside my network CRM will work fine.
    Can someone explain the raison why it is failing.

Leave a Reply