问题标签 [azure-identity]

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 投票
0 回答
79 浏览

c# - 使用 Azure.Identity InteractiveBrowserCredential 类获取令牌时弹出窗口未在 Windows 应用程序中打开

我正在使用 Azure.Identity NuGet 访问 Teams 的 Graph API。虽然调试弹出窗口可以很好地登录,但是当我作为应用程序的一部分在进程中运行 dll 时,浏览器窗口不再打开并且失败并出现异常:一般异常。这通常是由于超时而发生的,但在这种情况下是因为没有浏览器弹出,这反过来又导致了超时。我正在集成他们在此处提供的代码示例:https ://github.com/microsoftgraph/msgraph-sdk-dotnet/blob/dev/docs/tokencredentials.md#1-interactivebrowsercredential https://docs.microsoft.com/en -us/dotnet/api/azure.identity.interactivebrowsercredential?view=azure-dotnet 有谁知道我如何允许弹出窗口在 MS 图形的 wpf 集成中显示交互式登录?

0 投票
1 回答
170 浏览

c# - 如何修复“Azure.Identity.CredentialUnavailableException”

我正在使用快速入门:使用 Azure 应用配置创建 ASP.NET Core 应用

我创建了一个 Azure 应用程序配置,用于集中存储和管理 ASP.NET Core 应用程序的应用程序设置。我使用本地运行的 Visual Studio 2019 编写了一个应用程序实例(教程代码)。

我的 Azure 应用程序配置已在门户中配置,并启用了标识。我没有角色分配。

当我在 Visual Studio 中通过调试运行我的教程应用程序时,我得到 3 行:

抛出异常:System.Private.CoreLib.dll 中的“Azure.Identity.CredentialUnavailableException”

抛出异常:System.Net.Sockets.dll 中的“System.Net.Sockets.SocketException”

其次是比实际异常更多的取消,包括这个我看不到匹配异常的取消:

抛出异常:System.Net.Http.dll 中的“System.OperationCanceledException”

浏览器启动。布局存在,但没有数据。我已经在一天中重新启动了很多次。我想我可以排除任何网络问题。每次输出都是一致的。

我进行了各种搜索,但没有找到有关此错误的信息。既然我已经走到了死胡同,无论如何现在,我想我会在这里尝试。

0 投票
0 回答
26 浏览

sequelize.js - Azure 用户分配的托管标识,用于通过繁琐的 Squalize ORM

有很多关于npm @azure/identity样式连接到 SQL 的文档。此外,有关托管标识如何出色地解释托管标识如何在更多 Azure 堆栈中实现的Microsoft 视频从根本上讲是强大的。从托管标识堆栈的扩展中,我们希望升级所有 Node.js Azure 应用服务以使用托管标识。

目前,我们与 Azure SQL 的连接是通过繁琐的方式使用 Sequalize ORM,并且与 SQL Server Credentials 配合使用非常好。

如果出现以下情况,我什至都在努力寻找文档:

  1. 此升级可以在 sequalize 中使用用户分配的托管身份
  2. 如果可能的话,语法结构

我没有任何代码尝试显示,因为我现在担心的是#1。自然地,我尝试了很多关于#2 的不同方法。

0 投票
1 回答
42 浏览

azure - 由于自签名 CA,访问 Azure 密钥保管库错误

我的本地开发工作站位于公司的防火墙后面。它使用不受信任的自签名 CA。因此,当我尝试使用 @azure/identity 中的 DefaultAzureCredential 访问 Azure 密钥保管库时,出现错误

FetchError:对https://mytestkv.azure.net/secrets/mypassword/?api-version=7.2的请求失败,原因:无法验证第一个证书

我知道这是一个证书问题,因为如果我将我的应用程序部署到 Azure,访问应用程序的密钥保管库没有问题。我的应用程序是 Javascript/Node 应用程序。

有没有办法让应用程序不检查自签名证书?

0 投票
1 回答
138 浏览

jwt - 无法在 APIM 中对托管身份令牌使用验证 jwt

我们在 APIM 中有一个验证 jwt 策略来验证 jwt 令牌。我们正在使用 azure.identity 库从我们的函数应用生成令牌。到目前为止,我们使用系统分配的身份使用以下方法生成令牌。

令牌生成成功。我们能够成功验证策略中的令牌。下面是 APIM xml 策略。

现在我们已经分配了用户管理的身份,并使用下面的代码将身份分配给了函数应用程序,我能够生成令牌,但在 APIM 中它抛出了奇怪的错误。

APIM 告诉

“JWT 验证失败:IDX10501:签名验证失败。无法匹配密钥:\nkid:''。\n捕获的异常:\n ''。

关于如何克服这个问题的任何想法?

0 投票
0 回答
7 浏览

azure - 使用 azure home 租户和 azure b2c 对用户进行身份验证

我有一个 MVC 应用程序,我允许 azure B2C 帐户用户登录。azure 应用程序在 azure B2C 中注册。有什么方法可以让主机租户用户(主要组织之一)也登录吗?目前,我们必须在 azure B2C 租户中创建相同主机租户用户的注册,这是一个繁琐的过程。

0 投票
1 回答
50 浏览

azure - GetAccessPolicyAsync/SetAccessPolicyAsync 不适用于托管标识

我正在更新一些旧代码以使用托管标识而不是访问密钥。
编码:

  1. 创建一个 DataLakeServiceClient
  2. 使用它来获取文件 DataLakeFileSystemClient ( var dlfsc = dlsc.GetFileSystemClient(containerName);)
  3. 调用 GetAccessPolicyAsync 和 SetAccessPolicyAsync ( var acl = await client.GetAccessPolicyAsync().ConfigureAwait(false);)

当我DataLakeServiceClient使用 StorageSharedKeyCredential 构建时,一切正常。但是,当我DataLakeServiceClient使用 ManagedIdentityCredential vai(DefaultAzureCredential) 构造时,会引发以下异常:

我假设这是来自 Azure.Identity 尝试使用 ManagedIdentityCredential 获取令牌时?

需要注意的重要一点是 DataLakeFileSystemClientExistsAsync()方法也被调用,并且在任何一种情况下都可以正常工作。

所以我的问题是,为什么当使用 StorageSharedKeyCredential 创建 DataLakeFileSystemClient 时 AccessPolicy 方法可以正常工作,但在使用 ManagedIdentityCredential 创建时却不行?

0 投票
0 回答
84 浏览

.net-core - .netcore 使用 Microsoft Graph API 从移动应用程序在 Azure AD B2C 中创建用户

我正在寻找最佳安全实践来创建从移动应用程序到 Azure AD B2C 的新用户。在移动应用程序和 Azure AD (B2C) 之间,有一个 .netcore WEB API,它将使用服务帐户运行。此服务必须获得授权才能在 Azure AD B2C 中创建新用户。

今天,我已经能够实施以下措施:

  1. 移动应用程序连接到 WEB API
  2. WEB API 使用 oAuth 2.0 客户端凭据流(应用程序 ID + 客户端密码)向 Azure AD 请求访问令牌。
  3. Azure AD B2C 将令牌返回给 WEB API
  4. WEB API 使用 Microsoft Graph API 来创建用户。

对于第 4 步,我的 Azure 应用程序注册了 API 权限“User.ReadWrite.All”,因为 .net 核心 WEB API 必须能够创建新用户。

所有这一切仅通过使用 nuget 包 Azure.Identity 和 Microsoft.Graph。

我遵循了这种方法:

https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow#get-a-token

我有几个疑问,如下:

  1. 端点“注册”(我的 .netcore WEB API)不需要任何身份验证。当然,它应该是开放的,以便新用户可以注册。我们将实施 2FA,我们可以考虑对每个客户端应用一些限制。总而言之,一个设备应该只能创建一个用户。
  2. 在上面的 Microsoft 文档中,它写道“如果可能,我们建议您使用受支持的 Microsoft 身份验证库 (MSAL) 来获取令牌并调用安全的 Web API。还请查看使用 MSAL 的示例应用程序。”。我不认为这是可能的,因为我不想在注册端点上有一个授权属性。再次,它必须是开放的。
  3. 在[协议图][1]中,提到了建议让用户登录应用程序。同样,在新用户注册导致创建新用户帐户之前,我不能这样做。

任何关于我上面的三个陈述和我的整体方法是正确的并且不会导致糟糕的安全设计的建议/确认将不胜感激。

此致,

尼古拉斯

0 投票
0 回答
57 浏览

azure - Azure Blob 存储:防止将 Blob 复制到另一个存储帐户的最佳方法?

我需要允许数据工厂管道处理某个 blob 存储帐户中的一些 blob,但要防止将数据复制到外部 blob 存储帐户。

读取存储帐户中的数据后,管道需要将一些结果写回同一个存储帐户。

这可能吗?如果是这样,实现这一目标的最佳方法是什么?

我一直在检查有关 SAS 密钥的文档,它似乎表明这是可能的,但我一直无法找到如何去做。

0 投票
0 回答
17 浏览

azure - 仅限 AAD 用户访问测试 Azure Web 应用程序,无需 ipfiltering

我有一个带有公共区域和私人客户区域的天蓝色 Web 应用程序(网站)。

我想部署一个私有版本的测试网络应用程序并限制对位于不同办公室的某些测试人员的访问,因此具有不同的 IP 地址。

每个测试人员都是我们 AAD 目录中的用户。

我尝试在 Web 应用上启用身份验证: 在此处输入图像描述

它显然有效。但是该身份验证方法与我们在项目中实现的自定义身份验证冲突。

将 azure webapp 限制为某些特定用户的正确方法是什么?你能帮我吗?

谢谢