您好,最近我开始制作天蓝色广告。我已经开始为.net核心api进行授权工作。我对天蓝色的广告角色和组有以下理解。
Azure AD组。 只分组用户属于同一业务。 一个用户可以属于多个组。 无论何时添加新用户,我们都可以将用户关联到不同的组。
.net核心基于Azure AD组的授权 我们将在.net核心应用程序上使用API。因此,将天蓝色广告组和我的.net核心应用程序整合在一起,我们便可以拥有基于策略的授权。例如,某些小组只能访问很少的api。 例如,
services.AddAuthorization(options =>
{
options.AddPolicy("GroupsCheck", policy =>
{
policy.AuthenticationSchemes.Add(JwtBearerDefaults.AuthenticationScheme);
policy.RequireAuthenticatedUser();
policy.Requirements.Add(new GroupsCheckRequirement("group id"));
});
});
因此,只要我在控制器顶部具有[Authorize(Policy =“ GroupsCheck”)],只有当用户属于对应的组ID时,他才能访问这些api。
Azure AD角色 可以将Azure广告角色分配给上述组。您角色用于授予对Azure广告服务的访问权限。例如,一个角色可以访问虚拟机,而其他角色可以访问网络事物。因此,每当我们将角色应用于组时,该组中的相应用户将获得所述权限。
这是我的理解。如果我的理解有误,请纠正我。
现在我的困惑从这里开始。
组主要做两件事。首先是我们可以在.net应用程序中进行授权,其次是可以使用组将用户分组在一起,并且可以分配角色。但令我困惑的是.net核心应用程序中基于角色的授权。天生的RBAC是对不同用户/组的细粒度访问。 .net核心应用程序中的RBAC与azure之间的关系是什么。
管理员同意
例如,另一件事是我具有天蓝色广告用户角色,并且创建了.net核心应用并在天蓝色广告中注册。现在,我的应用程序需要访问Microsoft图形。因此,要让Microsoft图访问我的应用程序租户管理员,必须征得同意。例如,要读取租户应用程序中的所有组,应调用microsoft graph。这是我对管理员同意的理解。
有人可以帮助我正确理解这些内容吗?任何帮助,将不胜感激。谢谢
答案 0 :(得分:1)
.net核心应用程序中的RBAC与azure之间有什么关系?
Azure AD角色和应用程序角色未链接在一起。有多种方法可以这样做(请参阅here),但是这些方法是完全独立的。 Azure AD角色更多地用于控制对Azure资源的访问,而实际上并不适用于特定于应用程序的角色(即,在学校应用程序中,学生无法访问整个班级的成绩)。
因此,要授予Microsoft图访问我的应用程序租户管理员的权限,必须征得同意。
是真的。 Microsoft Graph基本上提供了一个API,可以访问目录中发生的所有事情。自然,由于存在敏感信息,因此管理员需要获得许可。