将管理门户配置为信任 AD FS
适用于:Windows Azure Pack
配置 Active Directory 联合身份验证服务 (AD FS) 后,必须为租户配置管理门户,以便租户信任 AD FS。 可以运行 Set-MgmtSvcRelyingPartySettings cmdlet 或运行Windows PowerShell脚本。
选项 1:运行 Set-MgmtSvcRelyingPartySettings cmdlet
在安装了管理员或租户门户的每台计算机上运行Set-MgmtSvcRelyingPartySettings cmdlet。
运行 Set-MgmtSvcRelyingPartySettings cmdlet 之前,请确保配置的计算机可以访问 AD FS Web 服务元数据终结点。 要验证访问,请打开浏览器,转到您计划用于 –MetadataEndpoint 参数的同一 URI。 如果您可以看到 .xml 文件,则可以访问联合元数据终结点。
现在,运行 Set-MgmtSvcRelyingPartySettings cmdlet。
Set-MgmtSvcRelyingPartySettings -Target Tenant -MetadataEndpoint https://<fqdn>/FederationMetadata/2007-06/FederationMetadata.xml -DisableCertificateValidation -ConnectionString 'Server=<some server>;User Id=<user with write permissions to all config databases>;Password=<password>;'
下表显示了运行 Set-MgmtSvcRelyingPartySettings cmdlet 所需的信息。
Cmdlet 参数
必需的信息
-Target
此参数用指示要配置哪个门户。 可能的值:管理员租户。
-MetadataEndpoint
AD FS Web 服务元数据终结点。 使用以下格式使用有效的、可访问和完整的 URI:https://< AD FS>/FederationMetadata/2007-06/FederationMetadata.xml。 在以下 cmdlet 中,用可访问的 AD FS 完全限定域名 (FQDN) 替换 $fqdn。
-ConnectionString
用于连接承载管理门户配置数据库的 Microsoft SQL Server 实例的连接字符串。
选项 2:运行 Windows PowerShell 脚本
如果不使用 cmdlet,您可以在安装管理员或租户门户的每台计算机上运行以下 Windows PowerShell 脚本。
$domainName = 'mydomain.com' $adfsPrefix = 'AzurePack-adfs' $dnsName = ($adfsPrefix + "." + $domainName) # Enter Sql Server details here $dbServer = 'AzurePack-sql' $dbUsername = 'sa' $dbPassword = '<SQL_password>' $connectionString = [string]::Format('Data Source={0};User ID={1};Password={2}', $dbServer, $dbUsername, $dbPassword) # Note: Use the \"DisableCertificateValidation\" switch only in test environments. In production environments, # all SSL certificates should be valid. Set-MgmtSvcRelyingPartySettings -Target Tenant ` -MetadataEndpoint https://$dnsName/FederationMetadata/2007-06/FederationMetadata.xml ` -DisableCertificateValidation -ConnectionString $connectionString
为管理员添加有权访问管理门户的用户
如果要将用户添加到管理员的管理门户,则必须在托管 管理员 API 的计算机上运行 Add-MgmtSvcAdminUser cmdlet。 连接字符串应指向管理门户配置数据库。
下面的代码示例说明了如何添加用户以获得访问权限:
$adminuser = 'domainuser1@mydomain.com' $dbServer = 'AzurePack-sql' $dbUsername = 'sa' $dbPassword = 'SQL_Password' $connectionString = [string]::Format('Server= {0} ;Initial Catalog=Microsoft.MgmtSvc.Store;User Id={1};Password={2};',$dbServer, $dbUsername, $dbPassword) Add-MgmtSvcAdminUser -Principal $adminuser -ConnectionString $connectionstring
注意
-
$dbuser 的格式必须匹配 AD FS 发送的用户主体名称 (UPN)。
-
管理员用户必须是单个用户。 不能添加 AD 组作为管理员用户。
-