Configure AD FS
Applies To: Windows Azure Pack
As the first step of enabling Windows Azure Active Directory Federation Services (AD FS) for Windows Azure Pack for Windows Server, you must configure AD FS as explained in the following steps.
To configure AD FS
If you use an existing AD FS, do the following:
In AD FS, use the following address to add the management portal for administrators and management portal for tenants as relying parties:
<Portal URI>/federationMetadata/2007-06/Federationmetadata.xml
Replace <Portal URI> with the addresses of the management portal for administrators and the management portal for tenants.
For example, https://www.contosotenant.com/federationMetadata/2007-06/Federationmetadata.xml
Apply the following transformation rules to the management portal for tenants:
Transform AD Groups to 'Groups' Claims
Transform email address to UPN Claims
Skip the remaining steps and go to Configure the management portals to trust AD FS.
If you are setting up a new AD FS, on the machine that you want to use for AD FS, enable the AD FS role.
Log on to the machine as the domain administrator. You have two options to configure AD FS: Run the Install-AdfsFarm cmdlet or run a script.
Run the Install-AdfsFarm cmdlet to configure AD FS.
Install-AdfsFarm –CertificateThumbprint <String> -FederationServiceName <String> -ServiceAccountCredential <PSCredential> -SQLConnectionString <String>
You must provide the following information to run the Install-AdfsFarm cmdlet.
Cmdlet parameter
Information needed
–CertificateThumbprint
Secure Socket Layer (SSL) Certificate thumbprint. The certificate should be installed in the <local_machine>\My store.
-FederationServiceName
Fully qualified domain name (FQDN) of the AD FS service.
-ServiceAccountCredential
The domain service account to run AD FS.
-SQLConnectionString
SQL connection string to an instance of a Microsoft SQL Server to host the AD FS databases.
Or, run the following script to configure AD FS.
Note
You must install makecert.exe before running this script. Alternatively, you can use IIS to create a self-signed certificate and pass the thumbprint in this script.
# Set these values: $domainName = 'contoso.com' $adfsPrefix = 'AzurePack-adfs' $username = 'username' $password = 'password' $dnsName = ($adfsPrefix + "." + $domainName) # Generate Self Signed Certificate Import-Module -Name 'PKI','WebAdministration' # You must install makecert.exe before running this script. Alternatively use the IIS UI to create a self-signed certificate and pass the thumbprint in this script $item = Get-Item -Path 'IIS:\SslBindings\0.0.0.0!443' -ErrorAction SilentlyContinue if (!$item) { MakeCert.exe -n "CN=$dnsName" -r -pe -sky exchange -ss My -sr LocalMachine -eku 1.3.6.1.5.5.7.3.1 cert = ,(Get-ChildItem 'Cert:\LocalMachine\My' | Where-Object { $_.Subject -eq "CN=$dnsName" })[0] } $thumbprint = $cert.Thumbprint $securePassword = ConvertTo-SecureString -String $password -Force -AsPlainText $adfsServiceCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList ($domainname + '\' + $username), $securePassword # If you want to install AD FS with a database, provide this data. Otherwise it will install with the Windows Internal Database (which should be enabled # prior to configuring AD fS) $dbServer = 'AzurePack-SQl' $dbUsername = 'sa' $dbPassword = '<SQL_password>' $adfsSqlConnectionString = [string]::Format('Data Source={0};Initial Catalog=master;User ID={1};Password={2}', $dbServer, $dbUsername, $dbPassword) # Configure AD FS Install-AdfsFarm ` -CertificateThumbprint $thumbprint ` -FederationServiceName $dnsName ` -ServiceAccountCredential $adfsServiceCredential ` -SQLConnectionString $adfsSqlConnectionString ` -OverwriteConfiguration
Tip
If you get error messages about duplicate Service Principal Names (SPN), use the Setspn tool to remove and then re-add the SPN as follows:
-
From a command prompt on the AD FS machine, run the Setspn tool to remove the duplicate SPN:
setspn -u -d http/$dnsname $username
-
From a command prompt on the AD FS machine, run the Setspn tool to add a new SPN:
setspn -u -s http/$dnsname $username
For more information on SPN, visit the MSDN page about Service Principal Names.