Библиотеки 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)