问题标签 [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 回答
918 浏览

powershell - 调用 Powershell 脚本和无人值守登录的 Azure 函数

我正在创建一个调用 PowerShell 脚本的 Azure 函数。为此,我需要让 PS 脚本进行无人值守登录。所以我创建了一个应用程序和服务主体,如下所示:

这一切正常。

然后,在我的 PS 脚本中,我将在无人看管的情况下登录,如下所示:

这也有效。但是,我觉得我不理解某些东西或者我错过了一些东西。这一点都不安全。如果我的所有 PS 脚本中都必须包含此登录代码,我基本上是让有权访问这些脚本的任何人看到租户 ID 和应用程序密码。然后他们可以执行应用程序可以执行的任何活动。

我这样做是正确的还是不理解某些东西?

0 投票
1 回答
2907 浏览

python - 在 Azure Python API 中以编程方式创建服务主体

如何使用 Azure Python API 创建一套完整的凭据,以后可以使用这些凭据启动和解除分配命名资源组中的所有 VM,而无需任何其他权限?

我已经彻底研究了示例代码以及官方和非官方文档,但我什至不知道从哪里开始......

我知道我需要租户 ID、客户端 ID、客户端密码和订阅 ID。我可以使用 API 进行哪些操作,我将如何分配角色以允许启动/取消分配现有资源组的 VM?

示例代码备受追捧,但会采取任何提示!

0 投票
1 回答
229 浏览

authentication - 使用 Azure Active Directory 对 Xamarin Forms 应用进行身份验证以访问受保护的 Azure AAD Web API 应用

不知道该怎么做;我不是在寻找 B2C,我不希望我的用户登录。我只是希望我的 Xamarin 应用能够访问受 Azure AAD 保护的 API。换句话说,我想使用 Azure Active Directory 对应用程序本身进行身份验证,以访问受 Azure AAD 保护的 API。根据我在互联网上的发现,在使用移动应用程序时不鼓励服务主体到服务主体身份验证,而且我还没有真正找到一种方法来提供服务。关于如何正确执行此操作的任何建议?带有教程的链接会很棒。

谢谢!

0 投票
2 回答
386 浏览

azure - 在 Linux Web 应用服务上禁用 Azure 托管服务标识选项

在此处输入图像描述

我正在尝试使用 ARM 模板在 Linux Web 应用服务上启用 MSI。

0 投票
2 回答
2509 浏览

function - 使用 MSI 的 Azure 函数 - 请求令牌时出错

我在 Azure 中有一个函数,它启用了 MSI(托管服务标识),我试图用它来访问基于 Azure 的 WebAPI(应用服务 WebApp),而后者又启用了 Azure AD 身份验证(所有相同的 Azure 目录)。

我的 WebAPI 注册了一个 Azure 应用程序,因此它可以使用 AAD 身份验证。

此应用程序还在其清单中配置了必要的 AppRoles(用于类型“用户”和“应用程序”)。

当我在函数上启用 MSI 时,我还验证了函数标识(应用程序)已在 Azure AD 中成功创建。

当我尝试使用 MSI 在我的函数中获取令牌时,我收到 400 Bad Request 响应/错误:

“ExceptionMessage”:“AADSTS50105:应用程序‘###’未分配给应用程序‘###’的角色

“错误代码”:“invalid_grant”

我已确保我传入的资源值是我的 webAPIs 应用程序 ID URI。

但我仍然得到同样的错误。请求令牌的代码很好,错误确实指向权限问题。

我无法做的一件事(我猜这是问题所在)是找到一种方法将新的 MSI/功能标识添加到 webAPIs Azure App 的用户和组。无论我尝试什么,当我搜索它以添加为 webAPI 应用程序的成员(具有应用程序角色)时,我的 Functions App Identity 都不会出现在用户列表中。

有人对我为什么不能将 Functions MSI 添加到应用程序用户和组或 Azure AD 组有任何建议吗?

还是我做错了什么?

0 投票
1 回答
1006 浏览

azure - 如何使用服务主体提供对 Azure 中存储帐户的访问权限

我在 Azure 门户中有一个帐户。当我尝试访问特定的存储帐户时,它显示“访问被拒绝”并且无法打开 blob 容器。

但是我已经使用获得所有访问权限的服务主体创建了存储帐户。

现在我想使用我的 Azure 用户帐户查看存储帐户。

有没有办法使用服务主体提供权限?

0 投票
1 回答
474 浏览

azure - Azure KeyVault 托管存储帐户

我正在尝试在 Azure 中实施 KeyVault 托管存储帐户,以使用 KeyVault 轮换存储密钥。我确实遵循了同时使用“ServicePrincipalID”和“UserPrincipalID”的文档,但在我的情况下,我正在使用我的服务主体(因为我们使用带有服务主体的 VSTS 进行部署)和使用“ServicePrincipalID”来配置我的资源并实施所有涉及的步骤” 作为 ObjectID 代替“UserPrincipalID”(因为在配置和配置后过程中没有用户干预)。我确实给了我的服务主体“所有者”角色以及 keyvault 访问存储所需的所有权限。但是当我执行“Add-AzureKeyVaultManagedStorageAccount”时,我收到以下错误消息,上面写着“KeyVault 无法代表调用者执行操作”。所以我不确定我仍然缺少什么访问权限,即使在将我的委托人设为所有者之后也是如此。请在下面找到我的屏幕截图以获取更多详细信息。很高兴听到任何跨越这一障碍的建议。

错误 KeyVault 详细信息

谢谢柴坦亚·阿拉迪。

0 投票
1 回答
78 浏览

azure-active-directory - 通过 AD 组的 Microsoft Graph AppRoleAssignments

我有多个托管服务标识 (MSI),它们需要相同的权限集才能使用 Microsoft Graph。我已经直接授予了其中一个 MSI 的权限,并且得到了预期的结果(在等待权限传播之后)。

为了让生活更轻松,我决定创建一个安全组,为该组提供所需的权限,然后将各种 MSI 分配给该安全组。我已经验证了安全组的 AppRoleAssignments 是正确的,但组成员似乎没有按预期继承访问权限(即使在等待确保权限有时间传播之后)。

有谁知道是否支持这种情况?

0 投票
0 回答
295 浏览

python - azure python - 创建服务主体

必须创建 Azure 服务主体并获取租户 ID、客户端 ID 和机密的 Python 脚本。

是否有任何支持 API 可以提供所需的详细信息。

0 投票
2 回答
110 浏览

azure - Azure 门户中服务特权的物理位置?

每次我在 azure 中创建服务主体时,都会经历创建应用程序的步骤。我明白了,很酷。我的应用程序具有身份验证权限。

当我创建一个自动化运行方式帐户时,它会创建一个服务主体并存储一个证书。证书或其他任何使它成为服务主体的东西在哪里?我想通过 PowerShell 中的列表找出我的服务主体有权访问哪些订阅,但某些应用程序 ID 似乎不是正确的路径。

很酷,我可以获得应用程序服务主体的名称。仅向我展示如何在 powershell 中执行此操作。SP是什么??它在哪里