为服务帐户设置 AIP 身份验证令牌(经典客户端)

为服务帐户设置 AIP 身份验证令牌(经典客户端)

我们正在使用 AIP Classic Client 对文档进行分类。

我们有一个用于收集文件以进行分类的内部解决方案,并且希望自动对这些文件进行分类。

一名开发人员创建了一个 PowerShell 脚本,该脚本接收文件列表并使用 cmdletSet-AIPFileLabel对传递给脚本的所有文件进行分类。我们想将这个系统投入生产,但遇到了障碍。

在我们的生产系统中,我们要使用的服务帐户确实不是本地登录权限。它是一个服务帐户,并且具有以批量权限登录。我们只是想每隔任意时间在 Windows 任务上运行一次脚本。

在使用 cmdlet 之前Set-AIPFileLabel,您必须先使用该 cmdlet 设置 aip 令牌Set-AIPAuthentication

此 cmdlet 是交互式的,当某个帐户可以登录到机器时,它可以轻松运行此 cmdlet(显然需要提供$WebAppId$WebAppKey$NativeAppId值)。

显然这种交互是交互式的,我查阅了微软文档并找到了以下页面(关于扫描仪,但希望原理能够转移):

使用替代配置部署扫描仪

限制:扫描仪的服务帐户无法被授予本地登录权限

指定并使用 Set-AIPAuthentication 的 Token 参数

这些说明可以归结为:

  • 创建运行的脚本Set-AIPAuthentication
  • 运行脚本来生成 token
  • 将该标记复制回脚本(脚本如下所示):
    $AIPToken = ""
    $WebAppId = ""
    $WebAppKey = ""
    $NativeAppId = ""

    Set-AIPAuthentication -WebAppId $WebAppId -WebAppKey $WebAppKey -NativeAppId $NativeAppId -Token $AIPToken
  • 将该脚本复制到要设置身份验证的服务器
  • 创建一个 Windows 任务来调用该脚本,让服务帐户运行该脚本
  • 运行脚本,检查服务帐户是否有令牌

当我运行脚本时,没有创建脚本,但生成了一个日志文件。里面有以下错误:

One of two conditions was encountered: 1. The PromptBehavior.Never flag was passed, but the constraint could not be honored, because user interaction was required. 2. An error occurred during a silent web authentication that prevented the http authentication flow from completing in a short enough time frame

我已经传递了令牌并遵循了微软文档,但是它无法设置令牌,在我看来,这像是应用程序逻辑上的错误。

我已经联系了微软支持,但却被转到不同的技术人员那里,没有人能给我答案。

我想知道这里有没有人遇到过这个问题并有解决办法。我们无法给服务帐户本地登录权限。

AIP 统一标签客户端可以代表用户设置身份验证令牌,此问题仅影响经典客户端。

我想用“aip”和“azure-information-protection”标记此帖子,但我在这个论坛上的声誉分数不够高。抱歉,我是一名开发人员,通常在 Stack Overflow 上发帖,但这种问题更具配置性,感觉在这里问更合适。如果有好心人可以添加这些标签,我将不胜感激!

谢谢

相关内容