gpt4 book ai didi

azure - .NET Core Azure AD 应用程序注册 - 允许通过组访问

转载 作者:行者123 更新时间:2023-12-03 02:34:36 25 4
gpt4 key购买 nike

背景

我通过 Azure Web Apps for Containers 在 Docker 中部署了一个 .NET Core 3.1 网站。

该应用仅在我们组织的 Azure AD 中注册,必须添加用户才能获得访问权限。

该网站目前已正常运行一段时间,可进行基于个人的访问。该应用程序使用默认访问权限。如果某人可以访问该网站,那么他们就可以访问该网站内的所有内容。

我们的 Azure AD 租户是高级 P2 租户。

目标

我想使用安全组来访问应用程序,而不是将个人添加到 Azure AD 中的应用程序。

问题

  • 我前往组织的 Azure AD 中进行应用注册
  • 我选择用户和组菜单
  • 我添加了包含我希望授权的个人的群组,并具有默认访问角色(唯一可用的角色)
  • 我删除了这些个人(所有人都是群组的成员,这是我们首选的访问管理)

预期行为

用户仍然可以访问该网站,因为该组已获得授权并且他们是该组的成员。

实际行为

除非我也将用户添加为个人,否则他们的访问将被拒绝。

在日志中,我看到以下内容:

Message contains error: 'access_denied', error_description: 'AADSTS50105: The signed in user '{EmailHidden}' is not assigned to a role for the application '{Redacted GUID}'(Redacted App Name).

但是,在这种情况下,所有个人都是注册组的一部分,并且该组具有与个人被授予的相同的默认访问角色。

我尝试过的事情:

问题

如何从 Azure AD 企业应用程序中的个人用户访问转变为基于组的访问?

更新:授权码

根据请求,提供我用于设置身份验证的代码。

IIRC,这只是 Azure 的开箱即用 .NET Core 设置。在Startup.cs

services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options =>
{
Configuration.Bind("AzureAd", options);
});

AzureAd 配置部分如下所示:

  "AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "(Redacted)",
"TenantId": "(Redacted Guid)",
"ClientId": "(Redacted Guid)",
"CallbackPath": "/signin-oidc"
}

最佳答案

用户是否是分配给该应用的群组的直接成员?

它们需要如此,因为 AAD 应用程序不支持嵌套组 https://learn.microsoft.com/en-us/azure/active-directory/users-groups-roles/groups-saasapps

Important

You can use this feature only after you start an Azure AD Premium trial or purchase Azure AD Premium license plan.Group-based assignment is supported only for security groups.Nested group memberships are not supported for group-based assignment to applications at this time.

关于azure - .NET Core Azure AD 应用程序注册 - 允许通过组访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63695554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com