Bibliotecas do Graph do Azure Active Directory para Python

Importante

Em fevereiro de 2019, iniciamos o processo de substituição de algumas versões anteriores da API do Graph do Azure Active Directory pela API do Microsoft Graph.

Para saber mais detalhes, atualizações e períodos, confira Microsoft Graph ou Graph do Azure AD no Centro de Desenvolvimento do Office.

Mais adiante, os aplicativos devem usar a API do Microsoft Graph.

Visão geral

Conectar usuários e controlar o acesso a aplicativos e APIs com o Graph do Active Directory.

Biblioteca do cliente

pip install azure-graphrbac	

Exemplo

Observação

Você precisa alterar o parâmetro do recurso para https://graph.windows.net ao criar a instância de credenciais

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	
)	

O código a seguir cria um usuário, obtenha-o diretamente e pela filtragem da lista e, em seguida, exclua-o.

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)