Python용 Azure Active Directory Graph 라이브러리Azure Active Directory Graph libraries for Python
중요
2019년 2월부터 Microsoft Graph API를 위해 이전 버전의 Azure Active Directory Graph API를 사용하지 않도록 중단하는 프로세스를 시작했습니다.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.
자세한 내용, 업데이트 및 시간 프레임은 Office 개발자 센터의 Microsoft Graph 또는 Azure AD Graph를 참조하세요.For details, updates, and time frames, see Microsoft Graph or the Azure AD Graph in the Office Dev Center.
앞으로 애플리케이션은 Microsoft Graph API를 사용해야 합니다.Moving forward, applications should use the Microsoft Graph API.
개요Overview
Active Directory Graph를 사용하여 사용자로 로그온하고 애플리케이션 및 API에 대한 액세스를 제어합니다.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)