#python #azure-active-directory #azure-ad-graph-api #rbac
#python #azure-active-directory #azure-ad-graph-api #rbac
Вопрос:
Я пытаюсь создать группу безопасности AD и добавить владельца в группу. Я выполняю это на Python.
Я могу создать группу, но не могу добавить владельцев в группу. Для выполнения этого я использую участника-службу.
Ниже приведен мой код
from azure.graphrbac import GraphRbacManagementClient
from azure.common.credentials import ServicePrincipalCredentials
from azure.graphrbac.models import GroupCreateParameters, GroupAddMemberParameters
credentials = ServicePrincipalCredentials(
client_id="service_principal",
secret="keyof_service_principal",
resource="https://graph.windows.net",
tenant = ''
)
tenant_id = ""
graphrbac_client = GraphRbacManagementClient(
credentials,
tenant_id
)
group = GroupCreateParameters(display_name="GroupName", mail_nickname="GroupMail-at-microsoft.com")
graphrbac_client.groups.create(group)
Но когда я пытаюсь выполнить add_owner, он выдает ошибку.
graphrbac_client.groups.add_owner(groupId, owner)
Traceback (most recent call last):
File "<stdin>", line 1, in <module> AttributeError: 'GroupsOperations' object has no attribute 'add_owner'
>>> dir(graphrbac_client.groups)
['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_client', '_deserialize', '_serialize', 'add_member', 'api_version', 'config', 'create', 'delete', 'get', 'get_group_members', 'get_member_groups', 'is_member_of', 'list', 'models', 'remove_member']
Я не вижу add_owner в каталоге.
Комментарии:
1. не могли бы вы попробовать обновить свой модуль graphrbac до последней версии и повторить попытку?
Ответ №1:
Спасибо,
Это сделало свое дело,
Я установил модуль Azure, который поставляется с graphrbac версии 0.40
$pip freeze | grep rbac
azure-graphrbac==0.40.0
После проверки azure-graphrbac текущая версия 0.60
Мне пришлось удалить azure-graphrbac самостоятельно и переустановить текущую версию с помощью pip. Это решило проблему.
Хотя он выдал ошибку, что он несовместим с модулем Azure, я не вижу в этом проблемы на данный момент.
azure 4.0.0 has requirement azure-graphrbac~=0.40.0, but you'll have azure-graphrbac 0.60.0 which is incompatible.