问题标签 [azure-service-principal]

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.

0 投票
1 回答
152 浏览

angular - 如何使用 Angular 获取 Azure 服务主体的不记名令牌?

我需要获取 Azure 服务主体的不记名访问令牌。我想在 Angular 应用程序中使用它来嵌入 power bi 报告。

鉴于我有 principial id 和 secret 以及tenant id,我怎样才能获得它?

更具体地说:我有带有 client_id 和 client_secret 的服务主体。我可以使用 .NET Core 通过 AppOwnData 方式获取不记名令牌。显示在此链接中。

https://github.com/microsoft/PowerBI-Developer-Samples

但我的情况是,我不想使用任何后端代码,而是想以角度获取服务主体的不记名令牌。

0 投票
1 回答
894 浏览

azure-pipelines - 使用角色分配增量重新部署 ARM 模板会引发错误

如果我使用 Azure Pipelines 对包含角色分配的 ARM 模板进行“增量”“资源组”范围的部署,我似乎无法在没有收到角色分配资源错误的情况下重新运行/重新部署管道:

这看起来像一个明显的问题,必须有一个共同的解决方法?我希望将角色分配分解为单独的模板,并可能在每个部署中删除并重新创建角色分配?

0 投票
1 回答
27 浏览

azure-active-directory - 技术查询:某些服务主体功能背后的原因

最近观察到可以在 Azure AD 中创建多个同名的服务主体:

在此处输入图像描述

注意:它们有不同的 clientIds 但名称相同。这反过来又会在 Azure SQL 中创建用户时产生问题。那么在 AAD 中允许使用同名 App Id 的原因有哪些?

此外,通过企业应用程序查找和通过应用程序注册查看时,相同的客户端 ID 具有不同的 objectid。

在此处输入图像描述

在此处输入图像描述

是不是因为企业应用程序是所有托管身份、服务主体等的联合体,与应用程序注册相比,企业应用程序的 objectid 创建是不同的。

0 投票
1 回答
195 浏览

c# - 在 C# 中访问 Azure 中系统托管标识的应用程序 ID

目前,我们正在开发一个 Azure 应用服务应用程序,该应用程序具有在应用服务设置期间分配的系统托管标识。我们使用带有 RBAC 的托管标识来访问其他 Azure 资源,并且工作正常。

现在我想从底层托管标识中获取一些信息来执行一些检查。特别是我想读取分配给此托管标识的应用程序 ID。我想在 C# 中做到这一点。我怎样才能访问这些信息?

任何帮助表示赞赏。提前致谢。

问候, 斯塔蒂

0 投票
0 回答
38 浏览

azure - 使用 API 获取 Azure 服务主体应用程序级别权限

我正在尝试使用 API 获取 Azure 中的所有应用程序级服务主体权限。我研究了 Azure 文档,到目前为止,我想出了以下内容:

上述 API 调用授予我们所有应用程序级别的权限 id 和 appRoleIds。但是,我没有得到权限的名称(例如 User.ReadAll 等)

我得到的回应是:

我已尝试将 directoryObjects/{id} 与上述响应中的 appRoleId 和 id 一起使用,但该请求不起作用。

此请求:https ://graph.microsoft.com/v1.0/servicePrincipals/{id}/oauth2PermissionGrants仅向我们提供以下格式的委派权限:

与上述结果类似,我想获得应用程序级别的权限。有没有办法让我使用我从之前的调用中获得的 id 或直接这样做?我在这里错过了什么吗?

或者有没有办法在 Azure 中获取服务主体的所有 API 权限,如下图所示:

在此处输入图像描述

0 投票
1 回答
167 浏览

azure - 当应用程序注册中的应用程序对象发生更改时,如何更新从它提供的服务主体

对于 Azure 多租户应用程序,当我们对应用程序对象进行任何更改时,这些更改仅反映在应用程序的主租户(应用程序注册的租户)中的服务主体对象中。其他租户中基于此应用程序对象配置的服务主体如何?是否有任何方法或建议来处理服务主体更新?

再次触发管理员同意流程将更新服务主体。但我有以下问题:

  1. 有没有办法检测需要更新的服务主体?从服务主体资源中,它不包含上次更新时间戳之类的内容。那么我们如何确定客户租户中的服务主体需要更新并通知其管理员呢?
  2. 似乎再次执行同意会更改服务主体的某些属性,例如权限,但不会更改其他一些属性,例如应用程序名称。对此是否有任何建议,例如删除现有的服务主体并再次执行管理员同意?
0 投票
1 回答
101 浏览

python - 在单元测试中模拟对象时使用真实数据

我在一些单元测试中模拟,我想知道在模拟时是否可以或建议使用真实数据(我正在处理非敏感数据)。

例如,我正在测试允许在应用程序中使用 Azure 服务主体进行身份验证的用户成员:

@mock.patch('requests.get, ...'上面的代码部分,如果不是99999JSON 文档上的值,我输入真实值是否可以?

0 投票
1 回答
29 浏览

azure - Azure App注册中的身份验证密钥?

如何在 Azure App 注册中找到身份验证密钥?在哪里找到/创建它?

0 投票
1 回答
488 浏览

azure-cosmosdb - 使用 RBAC 在 Azure Cosmos DB 帐户中创建数据库

我将 java 版本 4 SDK 用于 azure cosmos db。我想使用服务主体而不是主密钥在 azure cosmos db 帐户中创建数据库。

根据本文档,我分配了服务主体DocumentDB Account ContributorCosmos DB Operator内置角色定义:

https://docs.microsoft.com/pl-pl/azure/role-based-access-control/built-in-roles#cosmos-db-operator

在添加仅包含读取元数据的新自定义角色之前,我无法创建 CosmosAsyncClient。上面提到的内置角色定义不包含它......

添加此角色后,客户端已创建,但我无法在其中创建数据库实例和容器作为下一步。在访问控制中,我可以看到分配了角色,因此这里的服务主体是正确的。

更重要的是,当我首先使用主密钥创建数据库和容器,然后我想使用服务主体读取/写入数据时,它可以工作(显然在添加自定义角色进行写入之后)。

然后我不知道为什么DocumentDB Account Contributor并且Cosmos DB Operator不适用于创建数据库。

0 投票
1 回答
386 浏览

powershell - 使用 Powershell Az 模块将修订版发布到 Developer Portal

我有一个 powershell 脚本,它在我的 API 的 Azure Devops Release Pipepline 中运行,它使用我的 API 中的 swagger 文档自动将更改推送到 APIM。

缺少的步骤是,一旦我进行了修订,我需要使用最新的架构和规范更新开发人员门户。我不能让开发人员在每次发布时都点击发布按钮。

根据这篇文章,我可以获得一个带有用户 ID 的令牌(不确定它想要什么用户 ID,我正在使用服务主体)并发布一个帖子,但我希望像我一样的模块中有一个可用的实用程序用于我的脚本的其余部分。

如果没有已经提供的模块,我可以使用我的服务主体获得一个 sas 令牌吗?