验证 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.partner.onmschina.cn

验证 Azure 标识的步骤

  1. 在满足先决条件的计算机上,打开一个提升的 PowerShell 命令提示符,然后运行以下命令来安装 AzsReadinessChecker

    Install-Module -Name Az.BootStrapper -Force -AllowPrerelease
    Install-AzProfile -Profile 2020-09-01-hybrid -Force
    Install-Module -Name Microsoft.AzureStack.ReadinessChecker -AllowPrerelease
    
  2. 在 PowerShell 提示符下,运行以下命令。 将 contoso.partner.onmschina.cn 替换为 Microsoft Entra 租户名称:

    Connect-AzAccount -tenant contoso.partner.onmschina.cn -Environment AzureChinaCloud
    
  3. 在 PowerShell 提示符中,运行以下命令,启动对 Microsoft Entra ID 的验证。 将 contoso.partner.onmschina.cn 替换为 Microsoft Entra 租户名称:

    Invoke-AzsAzureIdentityValidation -AADDirectoryTenantName contoso.partner.onmschina.cn
    
  4. 运行该工具后,查看输出。 对于安装要求,确认状态为“正常”。 成功的验证如以下示例所示:

    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.logAzsReadinessCheckerReport.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.partner.onmschina.cn
The password for account  has expired or is a temporary password that needs to be reset before continuing. Run Login-AzureRMAccount -EnvironmentName AzureChinaCloud , 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 -EnvironmentName AzureChinaCloud

另一种方法是以帐户所有者身份登录到 Azure 门户,强制用户更改密码。

未知用户类型

Invoke-AzsAzureIdentityValidation v1.1809.1005.1 started.
Starting Azure Identity Validation

Checking Installation Requirements: Fail
Error Details for Service Administrator Account admin@contoso.partner.onmschina.cn
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

帐户不是管理员

Invoke-AzsAzureIdentityValidation v1.1809.1005.1 started.
Starting Azure Identity Validation

Checking Installation Requirements: Fail
Error Details for Service Administrator Account admin@contoso.partner.onmschina.cn
The Service Admin account you entered 'admin@contoso.partner.onmschina.cn' is not an administrator of the Azure Active Directory tenant 'contoso.partner.onmschina.cn'.
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.partner.onmschina.cn

Azure Stack Hub 要求域名是主域名。

后续步骤

验证 Azure 注册
查看就绪性报表
有关 Azure Stack Hub 集成的一般注意事项