Библиотеки Azure Active Directory Graph для PythonAzure Active Directory Graph libraries for Python
Важно!
С февраля 2019 г. мы начали процесс по прекращению поддержки некоторых ранних версий API Graph для Azure Active Directory с переходом на API Microsoft Graph.As of February 2019, we started the process to deprecate some earlier versions of Azure Active Directory Graph API in favor of the Microsoft Graph API.
Подробные сведения, новости и сроки см. в записи блога Microsoft Graph or the Azure AD Graph (Microsoft Graph или Azure AD Graph) в Центре разработчиков Office.For details, updates, and time frames, see Microsoft Graph or the Azure AD Graph in the Office Dev Center.
Со временем программы должны использовать API Graph Microsoft.Moving forward, applications should use the Microsoft Graph API.
ОбзорOverview
Для входа пользователей и управления доступом к приложениям и интерфейсам API можно использовать Active Directory Graph.Sign-on users and control access to applications and APIs with Active Directory Graph.
Клиентская библиотекаClient library
pip install azure-graphrbac
ПримерExample
Примечание
Вам необходимо изменить параметр ресурса на https://graph.windows.net при создании экземпляра учетных данных.You need to change the resource parameter to https://graph.windows.net while creating the credentials instance
from azure.graphrbac import GraphRbacManagementClient
from azure.common.credentials import UserPassCredentials
credentials = UserPassCredentials(
'user@domain.com', # Your user
'my_password', # Your password
resource="https://graph.windows.net"
)
tenant_id = "myad.onmicrosoft.com"
graphrbac_client = GraphRbacManagementClient(
credentials,
tenant_id
)
Следующий код создает пользователя, получает его данные напрямую и с помощью фильтрации списка, а затем удаляет его.The following code creates a user, get it directly and by list filtering, and then delete it.
from azure.graphrbac.models import UserCreateParameters, PasswordProfile
user = graphrbac_client.users.create(
UserCreateParameters(
user_principal_name="testbuddy@{}".format(MY_AD_DOMAIN),
account_enabled=False,
display_name='Test Buddy',
mail_nickname='testbuddy',
password_profile=PasswordProfile(
password='MyStr0ngP4ssword',
force_change_password_next_login=True
)
)
)
# user is a User instance
self.assertEqual(user.display_name, 'Test Buddy')
user = graphrbac_client.users.get(user.object_id)
self.assertEqual(user.display_name, 'Test Buddy')
for user in graphrbac_client.users.list(filter="displayName eq 'Test Buddy'"):
self.assertEqual(user.display_name, 'Test Buddy')
graphrbac_client.users.delete(user.object_id)