У меня есть система, в которой клиент использует токен Azure CLI для выполнения AA в отношении службы. служба анализирует полученный токен носителя JWT, отправленный клиентом в заголовке авторизации.
Затем сервер проверяет членство в группах, чтобы узнать, частью каких групп является клиент.
Проблема в том, что если пользователь добавлен или удален из группы, ему необходимо выйти из системы и снова войти в нее, чтобы локальный интерфейс командной строки включил изменения в членство в группе.
Кто-нибудь знает конечную точку Azure, к которой я мог бы вызвать с сервера, чтобы узнать текущее членство в группе? Или что-нибудь, что можно вызвать через CLI, чтобы получить новый токен с обновленным членством в группах?


Вы можете нажать MS Graph API, используя токен доступа az cli, чтобы получить последние сведения о членстве пользователя в группах на стороне службы.
Это конечная точка, которую нужно достичь — https://graph.microsoft.com/v1.0/me/transitiveMemberOf/microsoft.graph.group?$count=true&$select=displayName
Обязательно передайте токен доступа с Graph в качестве ресурса — учетная запись az get-access-token --resource-type ms-graph
Интересно, мне интересно, проблема в том, что группы контролируются разной областью? Я читаю это: Learn.microsoft.com/en-us/entra/identity-platform/scopes-oidc и он утверждает, что должен получить новый токен для области, но мне интересно, есть ли проблема является ли группа, которая нас интересует, не привязана к этой области? Область Graph может быть тем, что я ищу
Согласно ссылке, которую я отметил, вам нужна только область User.Read, чтобы получить ответ от этого API Graph. Кроме того, ресурсом по умолчанию, для которого в CLI генерируется токен доступа, является Management.core.windows.net, поэтому вам необходимо указать пользовательскую область графа, если вы будете использовать токен для доступа к графическому API.
У меня это работает! Область графа сработала! Я думаю, что поиск членства в транзитивной группе требует больше разрешений, чем вы предлагаете. Я столкнулся с отказом в разрешении только с User.Read. В настоящее время я успешно тестирую: Directory.Read.All,.ReadWrite.All, Group.Read.All, GroupMember.Read.All, User.Read.All
Круто, приятно знать, что это сработало!
Интересно, отличается ли токен доступа к графу от обычного токена, полученного с помощью CLI? Я спрашиваю, потому что мы звоним
get_tokenнаAzureCliCredentialкласс Learn.microsoft.com/en-us/python/api/azure-identity/…