LinkedAuthorizationFailed 在 PowerShell 中意味着什么?

2024-04-02

我正在尝试使用 PowerShell 在 cosmos db 中添加虚拟网络规则。 VNETS 存在于不同的租户中。我对存储帐户做了同样的事情,效果很好。我收到以下错误。有人可以给我一些关于我哪里出错的指示吗?是否可以在 Cosmos 数据库中执行此操作?

设置-AzureRmResource:LinkedAuthorizationFailed:客户端有权在范围内执行操作“Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action” '/subscriptions/Cosmos DB/resourceGroups/nbspreprd3/providers/Microsoft.DocumentDb/databaseAccounts/nbspreprd3-config-document-db 的订阅 ID',但是当前租户 '' 是 无权访问链接订阅“”。 行数:8 字符:5 + 设置-AzureRmResource -ResourceType $ResourceType -ResourceGroupNam ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ + CategoryInfo : CloseError: (:) [Set-AzureRmResource], ErrorResponseMessageException +FullyQualifiedErrorId:LinkedAuthorizationFailed,Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.SetAzureResourceCmdlet

这是 PowerShell 脚本

$ResourceGroupName = "*******"
$accountname = "*******" 
$ResourceType = "Microsoft.DocumentDb/databaseAccounts" 
$cosmosAccount = Get-AzureRMResource -ResourceType $ResourceType -ResourceGroupName $resourceGroupName -Name $accountName
$VnrID1 = "/subscriptions/*******/resourceGroups/build-agents/providers/Microsoft.Network/virtualNetworks/build-agents-vnet/subnets/build-2-subnet"
$VnrID2 = "/subscriptions/*******/resourceGroups/build-agents/providers/Microsoft.Network/virtualNetworks/build-agents-vnet/subnets/build-3-subnet"
$VnrID3 = "/subscriptions/*******/resourceGroups/build-agents/providers/Microsoft.Network/virtualNetworks/build-agents-vnet/subnets/=build1-subnet"


function setCosmosRule {

    Param($ResourceGroupName, $accountname, $ResourceType, $cosmosAccount, $VnrID1)

    $vnetrules = $cosmosAccount.Properties.virtualNetworkRules
$existsCosmos =($cosmosAccount.Properties.virtualNetworkRules | Where-Object {$_.id -eq $VnrID1} | Measure-Object).Count -ne 0
if(-not($existsCosmos)){

    $ourObject = New-Object -TypeName psobject 
    $ourObject | Add-Member -MemberType NoteProperty -Name id -Value $VnrID1
    $ourObject | Add-Member -MemberType NoteProperty -Name ignoreMissingVNetServiceEndpoint -Value True

    $newVnetRules = $vnetrules, $ourObject
    $cosmosAccount.Properties.virtualNetworkRules = $newVnetRules
    $CosmosDBProperties = $cosmosAccount.Properties
    Set-AzureRmResource -ResourceType $ResourceType -ResourceGroupName $ResourceGroupName -ResourceName $accountname  -Properties $cosmosDBProperties -Force 
}


}

非常感谢任何指示和提示

谢谢


我们通过授予部署服务主体解决了类似的问题Network Contributor关于外部订阅。

在部署具有 Key Vault、服务总线、存储帐户和 Cosmos DB 帐户的复合 ARM 模板时,我们在几乎相同的场景中遇到了相同的错误。前三个已成功部署,并且使用来自单独订阅的预期 VNet/子网设置了防火墙,与部署目标订阅 VNet 对等。外部订阅中 RBAC 的一切看起来都很好。通过深入研究 Microsoft 服务端点文档,我得出以下结论:

“将 VNet 服务终结点添加到 Azure Cosmos 帐户后,要对帐户设置进行任何更改,您需要访问 Microsoft.Network/virtualNetworks/subnets/joinViaServiceEndpoint/action 操作适用于 Azure Cosmos 帐户上配置的所有 VNET。需要此权限是因为授权过程会在评估任何属性之前验证对资源(例如数据库和虚拟网络资源)的访问。”

Source: https://learn.microsoft.com/en-us/azure/cosmos-db/vnet-service-endpoint?toc=%2Fazure%2Fvirtual-network%2Ftoc.json#are-additional-rbac-permissions-needed-for -azure-cosmos-accounts-with-vnet-service-endpoints https://learn.microsoft.com/en-us/azure/cosmos-db/vnet-service-endpoint?toc=%2Fazure%2Fvirtual-network%2Ftoc.json#are-additional-rbac-permissions-needed-for-azure-cosmos-accounts-with-vnet-service-endpoints

我们需要为 Cosmos DB 帐户添加显式权限并没有什么意义,特别是因为其他资源类型都很好。添加附加访问策略后,Cosmos DB 帐户部署成功。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LinkedAuthorizationFailed 在 PowerShell 中意味着什么? 的相关文章

随机推荐

  • 我应该在哪里存储应用程序的“激活”密钥?

    我已经编写了一个应用程序 我想向其中添加一个注册密钥 序列号 我非常注重最小化不便 ala 4 at这篇埃里克 辛克的文章 http www ericsink com bos Transparency html 我的问题是应用程序注册后在哪
  • 如何使 VS 中断异步任务中的异常,而不中断所有异常?

    如 所示here https stackoverflow com questions 18084983 debugger not breaking stopping for exceptions in async method and he
  • 将 UTF-8 编码数据发送到服务器会丢失某些字符

    我正在开发一个项目 其中包括服务器 JavaEE 应用程序 和客户端 Android 应用程序 的通信 XML 作为 HTTP 请求的 POST 参数之一发送 名为 xml 我还传递给服务器的其他 POST 参数很少 但为了简单起见 我在下
  • 如何添加鼠标悬停摘要

    我几乎可以肯定这将是一个非常简单的答案 但我似乎无法在任何地方找到它 我们都知道 当您将鼠标悬停在某物 例如字符串 上时 会弹出一个小摘要 如果已启用 对于字符串 它表示 类系统 String 将文本表示为一系列 Unicode 字符 当我
  • 无法从 docker 连接到 mongodb 实例:连接被拒绝

    我正在使用 docker compose 创建一个多容器环境 其中有一个 mongodb 实例和两个 python 应用程序 问题是 第一个应用程序能够建立与 mongodb 的连接 而第二个应用程序失败并出现以下错误 File usr l
  • 来自 iSeries 的带有附件的邮件

    有没有办法从 iSeries 终端发送电子邮件 并从 IFS 添加附件 我知道如何使用 SNDDST 实用程序发送普通电子邮件 有两种主要方法可以做到这一点 Do It Yourselfer 将使用 QtmmSendMail API Oth
  • 为什么 Annotate(blame) 的用户名与 IntelliJ IDEA 中提交的作者不同?

    当我在 IntelliJ IDEA 中使用 git annotate 时 某些行的作者用户名与此提交的作者姓名不同 如下图 如你看到的 fan qp and Qp不一样 为什么会这样呢 当我使用 bash 或 SourceTree 运行时g
  • 从服务器删除所有数据库

    我有一台服务器 SQL Server 2005 里面有300多个数据库 我不想逐个右键单击并选择Delete 如何轻松删除所有数据库 You can do this through the SSMS GUI Select the Datab
  • Google 会抓取 AJAX 内容吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 在我网站的主页上 我使用 JQuery 的 ajax 函数来下拉用户最近活动的列表 最近的活动显示在页面上 并且最近活动的每一行都包含
  • 当想要批量返回x个元素组时MySQL选择查询

    如何通过单个查询批量返回选择结果 这应该是一个直接的复合选择 下面是一个示例表和一个简单的查询 它将通过当前使用在最终现实世界过程中无法工作的临时数字列来生成所需的结果 仅涉及两个关键列 ip addresses and oid addre
  • 按 List 的变量之一对 List 进行排序

    我有1级 public class Class1 public Class String s int s1 int soc this s s this s1 s1 this soc soc 我有一个List of Class1 List
  • PowerMock 抛出 NoSuchMethodError (setMockName)

    我正在尝试使用模拟构造函数PowerMockito但每次运行测试时都会出现以下错误 java lang NoSuchMethodError org mockito internal creation MockSettingsImpl set
  • 在 AJAX 请求之前使用 JavaScript 获取日期

    我有这个 AJAX 请求 function request str
  • 在 C# 中调用 Pocketsphinx AccesViolationException

    我正在尝试做口袋狮身人面像tutorial http cmusphinx sourceforge net wiki tutorialpocketsphinx在 C 中使用 pinvoke 但当我尝试使用 ps decode raw 进行解码
  • 如何更改所有列表项的属性值?

    我有一个简单的结构 例如 HTML ul li li ul 我想更改列表元素的每个 数据位置 属性 我的第一次Jquery镜头是在这里 costsDropdown ul each function li attr data position
  • C# 中的数字签名,无需使用 BouncyCastle

    不使用第 3 方 BouncyCastle 库 有没有办法读取自定义私钥并签署消息 sha256哈希 使用私钥加密 从技术上来说 是的 根据您拥有的密钥类型 答案会变得更加棘手 编辑 2019 年 10 月 NET Core 3 0 以 D
  • 验证 Base64 编码图像

    我正在构建一个应用程序 允许用户POSTHTML5 画布数据随后以 Base64 进行编码并显示给所有用户 我正在考虑将数据解析为实际的 png 文件并存储在服务器上 但 base64 路由允许我将图像存储在数据库中并最大限度地减少请求 图
  • SQL Server:根据条件查找日期与当前日期最接近的记录

    我正在使用 SQL Server 2012 并尝试创建一个将根据以下条件返回记录的视图 查询需要根据日期检索最适用的记录 对于内部日期范围内的日期 将返回最接近 CurrentDate 的记录 对于内部日期范围之外的日期 将返回最接近 Cu
  • 为什么在 shellcode 中使用 Push/Pop 而不是 Mov 将数字放入寄存器中?

    我有一些来自 shell 代码有效负载的示例代码 显示了 for 循环并使用 push pop 来设置计数器 push 9 pop ecx 为什么不能直接使用mov呢 mov ecx 9 是的 通常你应该总是使用mov ecx 9出于性能原
  • LinkedAuthorizationFailed 在 PowerShell 中意味着什么?

    我正在尝试使用 PowerShell 在 cosmos db 中添加虚拟网络规则 VNETS 存在于不同的租户中 我对存储帐户做了同样的事情 效果很好 我收到以下错误 有人可以给我一些关于我哪里出错的指示吗 是否可以在 Cosmos 数据库