处理 Power Query 连接器的签名

在 Power BI 中,自定义连接器的加载受你选择的安全设置的限制。 一般情况下,当加载自定义连接器的安全性设置为“建议”时,自定义连接器根本不会加载,并且必须将其降低才能使其加载。

此规则的例外是受信任的“已签名连接器”。 签名连接器是自定义连接器的特殊格式,即 .pqx 而不是 .mez 文件,该文件已使用证书签名。 签名者可以向用户或用户的 IT 部门提供签名的指纹,该指纹可以放入注册表中,以安全地指示信任给定连接器。

以下步骤使你能够使用证书(说明如何生成证书(如果没有可用证书)并使用“MakePQX”工具对自定义连接器进行签名。

注释

如果您需要有关创建自签名证书以测试这些说明的帮助,请前往 Microsoft 文档,查阅 PowerShell 中的 New-SelfSignedCertificate

注释

如果需要将证书导出为 pfx 的帮助,请转到 Export-PfxCertificate

  1. 下载 MakePQX

  2. 将包含的 zip 中的 MakePQX 文件夹提取到您需要的目标位置。

  3. 若要运行它,请在命令行中调用 MakePQX。 它需要文件夹中的其他库,因此不能只复制一个可执行文件。 在没有任何参数的情况下运行将返回帮助信息。

用法: MakePQX [选项] [命令]

选项:

选项 Description
-? | -h | --help 显示帮助信息

命令:

Command Description
打包 创建 pqx 文件。
签名 对未签名的 pqx 进行签名;如果 pqx 已签名,则进行会签。 使用 --replace 选项替换现有签名。
验证 验证 pqx 文件中的签名状态。 如果签名无效,则返回值将为非零。

MakePQX 中有三个命令。 有关命令的详细信息,请使用 MakePQX [command] --help

装箱

Pack 命令采用 mez 文件并将其打包到可签名的 pqx 文件中。 pqx 文件还能够支持将来将添加的某些功能。

用法: MakePQX 包 [选项]

选项:

选项 Description
-? | -h | --help 显示帮助信息。
-mz | --mez 输入扩展文件。
-c | --证书 用于对扩展文件进行签名的证书 (.pfx)。
-p | --密码 证书文件的密码。
-t | --目标 输出文件名。 默认为与输入文件相同的名称。

Example

C:\Users\cpope\Downloads\MakePQX>MakePQX.exe pack -mz“C:\Users\cpope\OneDrive\Documents\Power BI Desktop\Custom Connectors\HelloWorld.mez” -t “C:\Users\cpope\OneDrive\Documents\Power BI Desktop\Custom Connectors\HelloWorldSigned.pqx”

签名

Sign 命令使用证书对 pqx 文件进行签名,为其提供一个可供更高安全设置的 Power BI 客户端验证信任的指纹。 此命令采用 pqx 文件并返回同一 pqx 文件(已签名)。

用法: MakePQX 符号 [参数] [options]

参数:

论点 Description
<pqx 文件> pqx 文件的路径。

选项:

选项 Description
-c | --证书 用于对扩展文件进行签名的证书 (.pfx)。
-p | --密码 证书文件的密码。
-r | --取代 替换现有签名,而不是反签名。
-? | -h | --help 显示帮助信息。

Example

C:\Users\cpope\Downloads\MakePQX MakePQX>sign “C:\Users\cpope\OneDrive\Documents\Power BI Desktop\Custom Connectors\HelloWorldSigned.pqx” --certificate ContosoTestCertificate.pfx --password password

Verify

Verify 命令验证模块是否已正确签名,并显示证书状态。

用法: MakePQX 验证 [参数] [选项]

参数:

论点 Description
<pqx 文件> pqx 文件的路径。

选项:

选项 Description
-q | --安静 隐藏签名验证输出。
-? | -h | --help 显示帮助信息。

Example

C:\Users\cpope\Downloads\MakePQX MakePQX>验证“C:\Users\cpope\OneDrive\Documents\Power BI Desktop\Custom Connectors\HelloWorldSigned.pqx”

{ 
  "SignatureStatus": "Success", 
  "CertificateStatus": [ 
    { 
      "Issuer": "CN=Colin Popell", 
      "Thumbprint": "16AF59E4BE5384CD860E230ED4AED474C2A3BC69", 
      "Subject": "CN=Colin Popell", 
      "NotBefore": "2019-02-14T22:47:42-08:00", 
      "NotAfter": "2020-02-14T23:07:42-08:00", 
      "Valid": false, 
      "Parent": null, 
      "Status": "UntrustedRoot" 
    } 
  ] 
} 

在 Power BI Desktop 中信任已签名的连接器

验证签名后,可以向最终用户提供指纹以列出为受信任。 可以阅读有关如何在 Power BI 文档中提供指纹的信息。