创建 Azure AD 应用注册

已完成

作为应用开发人员,你的第一个任务是注册 Azure AD 应用。 Azure AD 应用为你的应用建立标识,并指定 Power BI REST API 资源的权限。 你的应用可以使用 Azure AD 应用注册生成 Azure AD 令牌。

每个 Azure AD 应用都有 ApplicationID,有时称为 ClientID。 它是一个全局唯一标识符,用于标识 Microsoft 标识平台中的应用。 应用在请求 Azure AD 令牌时使用 ApplicationID,因此其值应在应用的配置文件中经过硬编码。

你的应用必须设置 Azure AD 应用凭据才能自行进行身份验证,而无需与应用用户交互。 可将证书和客户端机密作为凭据添加到应用注册。

有时称为“公钥”的证书是生产应用的推荐凭据类型,因为它被认为比客户端机密更安全。 若要详细了解如何在应用中使用证书作为身份验证方法,请参阅 Microsoft 标识平台应用程序身份验证证书凭据

此外,客户端机密是应用可用于代替证书来标识自身的一个字符串值。 有时称为“应用程序密码”。

重要

客户端机密的安全性不如证书凭据。 开发人员在本地开发应用期间有时会使用客户端机密,因为它们比较容易使用。 但是,对于生产应用,应该使用证书凭据。

无论是使用证书还是客户端机密,都应采取措施来保护凭据免受未经授权的访问和使用。 建议使用 Azure Key Vault 来保护云中的加密密钥、证书和机密。

有三个选项可用于创建应用注册:

  • 使用 Azure 门户
  • 使用嵌入设置工具
  • 开发 PowerShell 脚本

使用 Azure 门户

使用 Azure 门户中的“应用注册”创建、列出和管理主租户中的应用对象。 还可以添加机密或证书和作用域以使应用正常工作,在登录对话框中自定义应用的品牌等等。

注意

在 Azure 门户中注册应用时,门户会同时自动创建服务主体对象。

使用 Azure 门户的优势是,它公开所有支持的 Power BI 服务权限。 权限包括查看所有报表、读取和写入所有报表和其他操作的权限。

屏幕截图显示了 Azure 门户中的“请求 API 权限”窗口。它显示两个已授予的权限:查看所有报表,以及读取和写入所有报表。

通过 Azure 门户,可以向主用户帐户授予这些权限,以避免 Azure AD 的同意提示。 此外,全局管理员可以向组织中的所有用户授予权限,以避免所有应用用户的提示。

注意

当应用的嵌入标识是服务主体时,无需授予权限。 这是因为 Power BI 管理员在 Power BI 管理门户中管理其权限。

但是,使用 Azure 门户的缺点是开发人员可能会发现这非常耗时且复杂。

使用嵌入设置工具

若要简化和加速设置开发环境,请使用嵌入设置工具。 它提供了两个嵌入解决方案选项:“为客户嵌入”和“为组织嵌入”。

注意

示例“为客户嵌入”应用不支持使用服务主体嵌入标识;但可以将其调整为支持它。

屏幕截图显示了嵌入设置工具中显示的两个选项,它们是:“为客户嵌入”和“为组织嵌入”。

该工具完成繁琐的设置。 只需几分钟即可完成类似向导的工作流。 完成后,该工具会自动:

  • 创建 Azure AD 应用注册并请求相关的 Power BI REST API 权限。
  • (可选)创建工作区。
  • (可选)将数据集和报表导入到工作区中。 可以导入示例报表,也可以上传所选的 Power BI Desktop (.pbix) 文件。
  • 授予权限以避免 Azure AD 的同意提示。
  • 返回重要的配置值,包括 ApplicationID、工作区 ID (GroupID) 和 ReportID。
  • 创建一个以 C# 编写的示例 ASP.NET 应用,你可以将其下载为 zip 文件。 应用的配置文件包含所有配置值(如上一个项目符号项中所述),但不包括主用户帐户或其凭据。 必须输入这些配置值。

对于新入行的 Power BI 嵌入式分析开发人员,这是一个好消息。 首先,可以在几分钟内获取功能性应用。 其次,Microsoft 使用当前软件库和良好的设计做法开发了示例应用,因此,可以对它们进行反向工程,以了解其工作原理并从中学习。 无论你是选择继续开发应用还是从头开始通过应用新技能来开发新应用,都由你决定。

开发 PowerShell 脚本

需要重现管理操作时,开发用于创建应用注册的脚本的选项是一个很好的选项。 例如,可以创建一个脚本以在多租户应用中载入新租户。 编写良好的脚本可能会导致更快、更准确的结果。

Microsoft Graph 提供统一的可编程性模型。 它公开 REST API 和客户端库,用于访问数据并对各种 Microsoft 云服务执行操作。 与创建应用注册相关,可以使用 Microsoft Graph 执行以下操作:

  • 生成应用机密
  • 创建应用注册
  • 创建应用的服务主体
  • 将用户分配为应用所有者
  • 将服务主体添加到安全组

注意

以编程方式创建应用注册时,不会自动创建服务主体。 脚本必须将服务主体显式添加到应用。

提示

有关如何开发创建应用注册的脚本的示例,请参阅“实现 Power BI 解决方案管理自动化”模块。