你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

用于 Python 的 Azure Active Directory Graph 库

重要

从 2019 年 2 月开始,我们开始弃用某些早期版本的 Azure Active Directory Graph API,转而支持 Microsoft Graph API。

有关详细信息、更新和期限,请参阅 Office 开发人员中心中的 Microsoft Graph 或 Azure AD Graph

展望未来,应用程序将使用 Microsoft Graph API。

概述

使用 Active Directory Graph 将用户登录并控制对应用程序和 API 的访问。

客户端库

pip install azure-graphrbac	

示例

注意

创建凭据实例时,需将资源参数更改为 https://graph.windows.net

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	
)	

以下代码创建一个用户,直接获取再通过列表筛选获取该用户,然后将其删除。

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)