azure разница в объявлениях между авторизацией на основе группы и роли - PullRequest
0 голосов
/ 12 января 2020

Привет, недавно я начал работать над azure объявлением. Я начал работать над авторизацией для моего. net core apis. У меня есть понимание о azure ролях и группах объявлений.

Azure AD группы . Группы ничего, кроме группировки пользователей, не принадлежат одному и тому же бизнесу. Один пользователь может принадлежать ко многим группам. Каждый раз, когда добавляется новый пользователь, мы можем связать пользователя с различными группами.

Azure Авторизация на основе групп AD для. net core у нас будет apis в нашем. net core application. поэтому, объединяя выше azure группы объявлений и мое основное приложение. net, мы можем получить авторизацию на основе plociy. Например, некоторые группы могут получить доступ к нескольким apis. Например,

services.AddAuthorization(options =>
            {   
                options.AddPolicy("GroupsCheck", policy =>
                {
                    policy.AuthenticationSchemes.Add(JwtBearerDefaults.AuthenticationScheme);
                    policy.RequireAuthenticatedUser();
                    policy.Requirements.Add(new GroupsCheckRequirement("group id"));
                });
            });

Так что, когда у меня есть [Authorize (Policy = "GroupsCheck")] поверх контроллера, только если пользователь принадлежит к соответствующему идентификатору группы, тогда он будет иметь доступ к этим API.

Azure роли AD Azure ролям объявлений можно назначать вышеуказанные группы. Эти роли используются для предоставления доступа к Azure рекламным сервисам. Например, одна роль может иметь доступ к виртуальным машинам, а другие роли могут иметь доступ к сетевым вещам. Поэтому всякий раз, когда мы применяем роль к группам, соответствующие пользователи в этих группах получают указанные разрешения.

это мое понимание. Пожалуйста, поправьте меня, если я неправильно понял.

Теперь мое замешательство начинается здесь.

Группы делают две основные вещи. Во-первых, мы можем выполнить авторизацию в нашем приложении. net, а затем мы можем группировать пользователей по группам и назначать роли. Но что-то меня смущает, это авторизация на основе ролей в ядре. net. RBA C в azure - это детальный доступ к различным пользователям / группам. Какова будет связь между RBA C в моем. net основном приложении и azure.

Согласие администратора

Другое дело, например, что у меня azure роль пользователя объявления и я создал. net основное приложение и зарегистрирован в azure объявление. Теперь моему приложению необходим доступ к графику Microsoft. Поэтому для предоставления доступа к моему приложению в Microsoft Graph администратор должен дать согласие. Например, чтобы прочитать все группы в приложении арендаторов, следует вызвать график Microsoft. Это мое понимание согласия администратора.

Может ли кто-нибудь помочь мне правильно понять эти вещи? Любая помощь будет оценена. Спасибо

1 Ответ

1 голос
/ 13 января 2020

Какова будет связь между RBA C в моем. net основном приложении и azure?

Azure Роли AD и роли приложения не связаны друг с другом , Есть способы сделать это (см. здесь ), но они совершенно разные. Azure Роли AD больше предназначены для управления доступом к Azure ресурсам и на самом деле не применяются к заданным c ролям приложения (т. Е. В школьном приложении ученики не могут получить доступ к оценкам всего класса).

Итак, чтобы предоставить Microsoft Graph доступ к моему приложению, администратор клиента должен дать согласие.

Это правда. Microsoft Graph в основном предоставляет API для доступа ко всему, что происходит внутри каталога. Естественно, поскольку есть конфиденциальная информация, разрешение требуется от администратора.

...