问题标签 [azure-rbac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - 为什么我会收到错误“提供的信息未映射到 AD 对象 ID。” 使用服务主体执行 New-AzRoleAssignment 时?
在 Azure DevOps 管道中使用 Powershell,我正在尝试将密钥保管库的主体分配给Storage Account Key Operator Service Role
存储帐户的角色。
命令行
在我将 Azure 与服务主体连接后运行命令行:
这是我执行的命令行:
在哪里:
$keyVaultServicePrincipalId
是 Key Vault 的预注册主体 ID。它的值为cfa8b339-82a2-471a-a3c9-0fc0be7a4093
。$resourceGroupName
是存储所在的资源组的名称。它的值为accountsmanager-test-global-rg
。$storageAccountName
是我的存储帐户的名称。它的值为accountsmanagertest
。
服务负责人
以下是运行命令的服务主体的权限:
该命令作为在订阅中具有所有者角色的服务主体运行:
在该订阅中创建的资源组也归该服务主体所有:
问题
当我运行命令时,我收到以下错误:
为什么The provided information does not map to an AD object id.
执行命令时会出现错误New-AzRoleAssignment
?
azure - 为什么我会收到错误“禁止”。使用服务主体执行 Add-AzKeyVaultManagedStorageAccount 时?
在 Azure DevOps 管道中使用 Powershell,我试图通过调用命令为密钥保管库分配一个新的存储帐户Add-AzKeyVaultManagedStorageAccount
。
到目前为止,所有脚本似乎都有效,除了最后一个因Forbidden
错误而失败的命令。
我在 MSDN 上发现了一个类似的问题,但似乎 KeyVault 的策略设置正确。
服务主体的权限
Azure DevOps - Azure Resource Manager
以下是运行命令的服务主体(名为 )的权限:
Owner
该命令作为在订阅中具有角色的服务主体运行:
在该订阅中创建的资源组也归该服务主体所有:
Key Vault 主体已被赋予
Storage Account Key Operator Service Role
存储帐户上的角色:
已为 Key Vault 配置了正确的策略,最重要的是以下Permissions to (Key Vault Managed) Storage
部分:
问题
在脚本中,我运行以下命令,如文档中所述:
我收到以下错误:
为什么Forbidden
执行命令时会出现错误Add-AzKeyVaultManagedStorageAccount
?
azure - 如何仅授予对 Azure 订阅中某些资源的读取权限?
假设我有一个用户“用户 A”和一个拥有更多特权的人“所有者 1”。订阅“产品”中的“所有者 1”创建了 2 个不同的资源组,一个用于开发资源,一个用于测试资源。“所有者 1”具有订阅“产品”的所有者角色。
如何为 Dev 资源组中的所有内容授予“用户 A”读取权限,但不放弃 Test 资源组的存在?授予“用户 A”对整个订阅“产品”的读取权限将不起作用,因为他们将能够看到测试资源组。在我们的测试中,授予“用户 A”对 Dev 资源组的读取权限是不够的,因为他们根本无法从“资源组”视图中看到资源组。
有没有办法做到这一点?
azure - 是否有任何 REST API 可用于列出 azure 资源组的所有者?
REST API 可用于按 MS 列出资源组的角色分配,结果很少有未指定 DisplayName 和 RoleDefinitionName 的属性。但是可以使用 PowerShell 获取所有预期的详细信息,如此链接中所述。
需要通过 api 调用获取相同的详细信息。当前是否有任何可能的方式或 REST API 可用于获取 Azure 中特定资源组的所有所有者的详细信息?
azure - 有没有办法在订阅范围内赋予用户所有者角色,但拒绝/读取不是由他创建的资源组?
我想邀请 Azure 中的来宾用户,他可以在具有所有者角色的订阅范围内做任何他想做的事情,但他无法查看他没有创建的其他资源组,或者只能读取它们。
python-3.x - 将 Azure AD 中的主体 ID 解析为用户、服务
我正在尝试将主体 ID 列表解析为用户/服务名称等详细信息。我有以下代码 -
我尝试按照其中一个stackoverflow 页面上的建议进行操作,但遇到了错误(见下文)。任何有关我如何将这些主体 ID 解析为人类可理解格式的指导都将不胜感激。
错误 -
azure.graphrbac.models.graph_error_py3.GraphErrorException:属性“principal_id”不作为声明的属性或扩展属性存在。
错误 -
msrest.exceptions.SerializationError:无法构建模型:无法反序列化为对象:类型,AttributeError:“str”对象没有属性“get”,DeserializationError:无法反序列化为对象:类型,AttributeError:“str”对象有没有属性'get'
azure-functions - 使用 Azure Python 函数和托管标识从存储帐户下载
我创建了一个用 Python 编写的名为“transformerfunction”的 Azure 函数,它应该将数据上传和下载到 Azure 数据湖/存储。我还打开了系统分配的托管标识,并在我的存储帐户中为该功能提供了角色权限“存储 Blob 数据参与者”:
为了验证和下载文件,我使用这部分代码基本上遵循这些文档:
如果我的理解是正确的,Azure 应该使用 Function 的身份进行身份验证,并且由于该身份在存储上具有 Storage Blob Data Contributor 权限,因此下载应该可以工作。
但是,当我调用该函数并查看日志时,我看到的是:
这很清楚地表明该函数无权下载 blob。但为什么?我有什么不同的做法?
编辑:
我找到了问题的原因:我在网络设置中限制了我的 Data Lake 存储,如下所示:
我的假设是“允许受信任的 Microsoft 服务访问此存储帐户”将始终允许在 Azure 上运行的 Functions 访问存储,无论是否选择或选择了哪些网络 - 事实并非如此。
azure - Azure 租户创建 - 谁可以创建?
我有一个关于 AZURE Active Directory 的问题并试图了解 RBAC。我在其中创建了一个天蓝色订阅和默认目录。我在默认目录中创建了一个用户,比如 user1@xyz.onmicrosoft.com,并为其中一个存储帐户分配了读取权限。理想情况下,用户应该能够读取存储帐户及其属性。
现在,当我使用 user1@xyz.onmicrosoft.com 登录并尝试在 azure 中创建一个新租户(用于测试用户的访问权限)时,Azure 让我创建一个新租户。这让我很困惑。我已将访问权限限制为仅对默认目录中的存储帐户。为什么会出现这种行为?
azure - Azure RBAC 中的多个通配符
我在文档中看到了这一点:
您还可以在一个字符串中包含多个通配符。例如,以下字符串表示 Cost Management 的所有查询权限。
查询前的第一个通配符是什么意思?
azure - Azure RBAC 应用程序洞察组件贡献者与监控贡献者
我试图了解 Azure RBAC 中这两个角色之间的重叠。看起来monitor-contributor 完全涵盖了“Microsoft.Resources/deployments/*”之外的application-insights-component-contributor。考虑以下情况,我是否正在将 Web 可用性测试部署到 AppInsights 资源中,并且部署身份是已被授予监视贡献者权限的服务主体。我是否应该也授予此身份“application-insights-component-contributor”以能够创建这些资源或“监控贡献者”是否足够好?
1 编辑
我还在部署警报规则以及测试以及作为 rm 模板实施的那些规则,如果 SP 仅被授予监视贡献者,它就会失败