FME服务器链接运行时错误(由于缺少适当的权限,用户未授权的请求)

FME服务器链接运行时错误(由于缺少适当的权限,用户未授权的请求)

问题

我有一个包含Web或数据库链接的工作空间,当我尝试在FME Server上运行此工作空间时,运行失败并且在日志中看到错误消息:

Unauthorized request by user due to lack of proper permissions

原因

此错误表明用于提交要运行的工作空间的用户或令牌尚未被授予对工作空间内使用的链接的访问权限。有许多原因可能导致您遇到此问题。

备份与还原

您对旧版本的FME服务器执行了备份和还原,权限分配不正确。由于安全性方面的改进,如果您要从以前的任何版本迁移到FME Server 2020或更高版本,请查看本文以获取更多信息。

Webhook或服务器应用程序令牌

如果创建一个Webhook或Server App,其中的链接信息未存储为发布参数,则FME不会提示您分配这些权限。相反,您必须在创建令牌后编辑令牌。有关更多说明,请参阅本文中“ API令牌权限”标题下的内容。

链接不可用

如果其他用户与您共享了此工作空间,则他们还需要共享使用的特定链接,否则您将没有正确的权限。

如果您拥有工作空间,但链接不可用,则可能在发布过程中忘记将其包含在工作空间中。

未经授权的访问

如果您没有访问该链接的权限,但是您知道存储该链接的名称,请尝试手动访问该链接,例如手动键入该链接的名称。

解析

您需要确保提交工作空间的用户帐户或API令牌对该工作空间中使用的链接具有访问权限。

用户权限(运行工作空间/计划/自动化)

首先,您可以执行快速检查以确认问题是因为您的用户帐户没有访问链接的权限,方法是转到“文件和链接”下的相应Web或数据库页,并查看是否列出了该链接。如果已列出,请联系safe技术支持以获取进一步的帮助。如果没有(或者您没有访问此页的权限进行检查),则可以使用一系列选项来设置此设置。

向管理员请求访问权限

您可以按照以下说明要求具有管理员权限的用户提供对Web链接的访问​​权限。

  1. 转到管理>用户管理>用户
  2. 找到您的用户帐户,然后单击以编辑权限
  3. 在“权限”窗口下,找到“链接项”,然后选择下拉箭头“查看更多权限”
  4. 从列表中找到您的工作空间中正在使用的链接,选中该特定链接的“访问”框
  5. 选择确定以保存更改

FME服务器链接运行时错误(由于缺少适当的权限,用户未授权的请求)

                                                                                           要求管理员定义您的用户权限

请求工作空间所有者共享

如果工作空间是由另一个用户拥有并与您进行共享的,则需要让他们共享此链接。

  1. 转到“文件和链接”下的相应Web或数据库页面
  2. 点击“与他人共享”按钮
  3. 查找您的用户名并授予“完全访问”权限,然后选择“确定”

FME服务器链接运行时错误(由于缺少适当的权限,用户未授权的请求)

                                                                             要求其他用户与您共享他们的链接的步骤

创建一个新的链接

如果工作空间是由其他用户提供的,则他们可能希望您创建自己的链接,以便在与您自己的访问凭据绑定的工作空间中使用。

  1. 您可以通过FME Server Web UI执行此操作
  2. 配置要运行的工作空间时,将“链接发布参数”设置为此新链接。

FME服务器链接运行时错误(由于缺少适当的权限,用户未授权的请求)

​​​​​​​                                                                              FME Server Web UI创建新链接

发布链接

如果您拥有工作空间,但链接不可用,则您可能选择不在发布过程中包含该链接。

  1. 返回到FME Workbench,然后选择“发布到FME服务器”
  2. 在发布向导的“上传链接”页面上,确保选中此工作空间中使用的链接复选框

FME服务器链接运行时错误(由于缺少适当的权限,用户未授权的请求)

​​​​​​​                                                                          将工作空间发布到FME Server时上载链接

或者,您可以按照上一节中的步骤在FME Server上重新创建链接。

API令牌权限(服务器应用程序/ Webhook / Rest API)

如果创建Server App,或使用Webhook或Rest API请求将工作空间设置为通过第三方Web应用程序运行,则必须创建一个令牌以提供对工作空间及其组件的访问。

用户是令牌所有者

  1. 单击右上角的用户设置图标,然后选择“管理令牌”。
  2. 在“ API令牌”下,找到用于您的工作空间的令牌,然后单击它进行编辑
  3. 在“权限”窗口下,找到“链接项”,然后选择下拉箭头“查看更多权限”
  4. 从列表中找到您的工作空间中正在使用的链接,选中该特定链接的“访问”框
  5. 选择确定以保存更改

FME服务器链接运行时错误(由于缺少适当的权限,用户未授权的请求)

                                                                                将访问权限分配给API令牌

用户不是令牌所有者

  1. 单击右上角的用户设置图标,然后选择管理令牌
  2. 转到所有令牌页面
  3. 找到令牌并单击它
  4. 页面顶部将显示一个横幅,告诉您谁拥有此令牌。请与他们联系,并请他们按照上面部分中的步骤1-4进行操作。

FME服务器链接运行时错误(由于缺少适当的权限,用户未授权的请求)

                                                                                        查找API令牌的所有者