验证 Azure 标识

使用 Azure Stack Hub 就绪性检查器工具 (AzsReadinessChecker) 验证 Azure Active Directory (Azure AD) 是否已准备好与 Azure Stack Hub 配合使用。 在开始 Azure Stack Hub 部署之前,请验证 Azure 标识解决方案。

就绪性检查器会验证下列项:

  • Azure AD 用作 Azure Stack Hub 的标识提供者。
  • 你打算使用的 Azure AD 帐户能够以 Azure AD 的全局管理员身份登录。

验证可以确保你的环境已针对 Azure Stack Hub 做好了准备,可以在 Azure AD 中存储 Azure Stack Hub 中的用户、应用程序、组和服务主体的相关信息。

获取就绪性检查器工具

PowerShell 库下载最新版本的 Azure Stack Hub 就绪性检查器工具 (AzsReadinessChecker)。

安装和配置

必备条件

需要以下先决条件:

Az PowerShell 模块

将需要安装 Az PowerShell 模块。 有关说明,请参阅安装 PowerShell Az 预览模块

Azure Active Directory (Azure AD) 环境

  • 标识将用于 Azure Stack Hub 的 Azure AD 帐户并确保它是 Azure AD 全局管理员。
  • 标识你的 Azure AD 租户名称。 该租户名称必须是 Azure AD 的主域名。 例如 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 替换为 Azure AD 租户名称:

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

    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

原因 - 帐户无法登录到指定的 Azure AD (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

原因 - 虽然帐户可以成功登录,但帐户不是 Azure AD (AADDirectoryTenantName) 的管理员。

解决方法 - 以帐户所有者身份登录到 Azure 门户,依次选择“Azure Active Directory”、“用户”、“选择用户” 。 然后选择“目录角色”并确保用户是“全局管理员” 。 如果帐户是“用户”,请转到“Azure Active Directory” > “自定义域名”,并确认你为 AADDirectoryTenantName 提供的名称已标记为此目录的主域名。 在此示例中,它是 contoso.partner.onmschina.cn

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

后续步骤

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