验证 Azure 标识
使用 AzsReadinessChecker) (Azure Stack Hub 就绪情况检查器工具验证Microsoft Entra ID 是否已准备好用于 Azure Stack Hub。 在开始 Azure Stack Hub 部署之前,请验证 Azure 标识解决方案。
就绪性检查器会验证下列项:
- Microsoft Entra ID 作为 Azure Stack Hub 的标识提供者。
- 计划使用的Microsoft Entra帐户可以Microsoft Entra ID 的全局管理员身份登录。
验证可确保环境已准备好让 Azure Stack Hub 将 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
原因 - 帐户无法登录到 AADDirectoryTenantName) (指定的Microsoft Entra ID。 在本例中,将 AzureChinaCloud 指定为了 AzureEnvironment。
解决方法 - 确认帐户对指定的 Azure 环境有效。 在 PowerShell 中运行以下命令,验证帐户对特定环境是否有效:
Login-AzureRmAccount -EnvironmentName AzureChinaCloud
帐户不是管理员
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 Service Admin account you entered 'admin@contoso.onmicrosoft.com' is not an administrator of the Azure Active Directory tenant 'contoso.onmicrosoft.com'.
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) 的管理员。
解决方法 - 以帐户所有者身份登录到Azure 门户,依次转到“Microsoft Entra ID”、“用户”和“选择用户”。 然后选择“目录角色”并确保用户是“全局管理员” 。 如果该帐户是“用户”,请转到“Microsoft Entra ID>自定义域名”,并确认为 AADDirectoryTenantName 提供的名称已标记为此目录的主域名。 在此示例中为“contoso.onmicrosoft.com”。
Azure Stack Hub 要求域名是主域名。