验证 Azure 标识
使用 Azure Stack Hub 就绪情况检查器工具 (AzsReadinessChecker) 验证 Microsoft Entra ID 是否已准备好与 Azure Stack Hub 配合使用。 在开始 Azure Stack Hub 部署之前,请验证 Azure 标识解决方案。
就绪性检查器会验证下列项:
- Azure Stack Hub 的标识提供者是否是 Microsoft Entra ID。
- 您计划使用的 Microsoft Entra 帐户可以 Microsoft Entra ID 的应用程序管理员身份登录。
通过进行验证,可确保你的环境已准备就绪,可供 Azure Stack Hub 将自己有关用户、应用程序、组、服务主体的信息存储在 Microsoft Entra ID 中。
获取就绪性检查器工具
从 PowerShell 库下载最新版本的 Azure Stack Hub 就绪性检查器工具 (AzsReadinessChecker)。
安装和配置
必备条件
需要以下先决条件:
Az PowerShell 模块
将需要安装 Az PowerShell 模块。 有关说明,请参阅安装 PowerShell Az 预览版模块。
Microsoft Entra 环境
- 确定要用于 Azure Stack Hub 的 Microsoft Entra 帐户,并确保该帐户是 Microsoft Entra 应用程序管理员。
- 标识 Microsoft Entra 租户名称。 租户名称必须是 Microsoft Entra ID 的主域名。 例如“contoso.onmicrosoft.com”。
验证 Azure 标识的步骤
在满足先决条件的计算机上,打开一个提升的 PowerShell 命令提示符,然后运行以下命令来安装 AzsReadinessChecker:
Install-Module -Name Az.BootStrapper -Force -AllowPrerelease Install-AzProfile -Profile 2020-09-01-hybrid -Force Install-Module -Name Microsoft.AzureStack.ReadinessChecker -AllowPrerelease
在 PowerShell 提示符下,运行以下命令。 将
contoso.onmicrosoft.com
替换为 Microsoft Entra 租户名称:Connect-AzAccount -tenant contoso.onmicrosoft.com
在 PowerShell 提示符中,运行以下命令,启动对 Microsoft Entra ID 的验证。 将
contoso.onmicrosoft.com
替换为 Microsoft Entra 租户名称:Invoke-AzsAzureIdentityValidation -AADDirectoryTenantName contoso.onmicrosoft.com
运行该工具后,查看输出。 对于安装要求,确认状态为“正常”。 成功的验证如以下示例所示:
Invoke-AzsAzureIdentityValidation v1.2100.1448.484 started. Starting Azure Identity Validation Checking Installation Requirements: OK Finished Azure Identity Validation Log location (contains PII): C:\Users\[*redacted*]\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log Report location (contains PII): C:\Users\[*redacted*]\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json Invoke-AzsAzureIdentityValidation Completed
报表和日志文件
每次运行验证时,它都会将结果记录到 AzsReadinessChecker.log 和 AzsReadinessCheckerReport.json 中。 这些文件的位置会随验证结果一起显示在 PowerShell 中。
这些文件可以帮助你在部署 Azure Stack Hub 之前共享验证状态,或者调查验证问题。 这两个文件都会持久保留每个后续验证检查的结果。 报表向你的部署团队提供标识配置确认。 日志文件可以帮助你的部署或支持团队调查验证问题。
这两个文件默认写入到 C:\Users\<username>\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json
。
- 在运行命令行的末尾使用
-OutputPath <path>
参数来指定不同的报表位置。 - 在运行命令的末尾使用
-CleanReport
参数从 AzsReadinessCheckerReport.json 中清除有关以前运行此工具的相关信息。
有关详细信息,请参阅 Azure Stack Hub 验证报告。
验证失败
如果验证检查失败,则有关失败的详细信息将显示在 PowerShell 窗口中。 该工具还会将信息记录到 AzsReadinessChecker.log 文件中。
下面的示例针对常见的验证失败提供了指导。
过期的或临时密码
Invoke-AzsAzureIdentityValidation v1.1809.1005.1 started.
Starting Azure Identity Validation
Checking Installation Requirements: Fail
Error Details for Service Administrator Account admin@contoso.onmicrosoft.com
The password for account has expired or is a temporary password that needs to be reset before continuing. Run Login-AzureRMAccount, login with credentials and follow the prompts to reset.
Additional help URL https://aka.ms/AzsRemediateAzureIdentity
Finished Azure Identity Validation
Log location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log
Report location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json
Invoke-AzsAzureIdentityValidation Completed
原因 - 因为密码已过期或者是临时的,所以帐户无法登录。
解决方法 - 在 PowerShell 中运行以下命令,然后根据提示重置密码:
Login-AzureRMAccount
另一种方法是以帐户所有者身份登录到 Azure 门户,强制用户更改密码。
未知用户类型
Invoke-AzsAzureIdentityValidation v1.1809.1005.1 started.
Starting Azure Identity Validation
Checking Installation Requirements: Fail
Error Details for Service Administrator Account admin@contoso.onmicrosoft.com
Unknown user type detected. Check the account is valid for AzureChinaCloud
Additional help URL https://aka.ms/AzsRemediateAzureIdentity
Finished Azure Identity Validation
Log location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessChecker.log
Report location (contains PII): C:\Users\username\AppData\Local\Temp\AzsReadinessChecker\AzsReadinessCheckerReport.json
Invoke-AzsAzureIdentityValidation Completed
原因 - 帐户无法登录到指定的 Microsoft Entra ID (AADDirectoryTenantName)。 在本例中,将 AzureChinaCloud 指定为了 AzureEnvironment。
解决方法 - 确认帐户对指定的 Azure 环境有效。 在 PowerShell 中运行以下命令,验证帐户对特定环境是否有效:
Login-AzureRmAccount -EnvironmentName AzureChinaCloud