Azure,python管理Active Directory

问题描述:

我对Azure很陌生,很惊讶python SDK不如AWS'好。Azure,python管理Active Directory

我很努力地使用python在Azure中创建Active Directory的管理网络。

看过文档后,我有点困惑。我有与令牌工作认证:

from azure.common.credentials import ServicePrincipalCredentials 

# Tenant ID for your Azure Subscription 
TENANT_ID = 'ABCDEFGH-1234-1234-1234-ABCDEFGHIJKL' 

# Your Service Principal App ID 
CLIENT = 'a2ab11af-01aa-4759-8345-7803287dbd39' 

# Your Service Principal Password 
KEY = 'password' 

credentials = ServicePrincipalCredentials(
    client_id = CLIENT, 
    secret = KEY, 
    tenant = TENANT_ID 
) 

但是为Active Directory有不同pockage /库和认证不同的是:

from azure.graphrbac import GraphRbacManagementClient 
from azure.common.credentials import UserPassCredentials 

credentials = UserPassCredentials(
      '[email protected]',  # Your user 
      'my_password',   # Your password 
      resource="https://graph.windows.net" 
    ) 

tenant_id = "myad.onmicrosoft.com" 

graphrbac_client = GraphRbacManagementClient(
    credentials, 
    tenant_id 
) 

混乱的一点是,accodring到Authentication Docks

身份验证令牌与证书(传统) 在以前版本的SDK,ADAL还无法使用,我们提供了一个UserPassC赎回班。这被视为弃用,不应再使用。

谁能帮助我明白,我怎么可以使用新的凭证tocken ServicePrincipalCredentials(),我无法找到azure.graphrbac给它的任何引用连接到Active Directory中天青与蟒蛇。

我appriciate任何指针的例子。

UserPassCredentials功能正在使用资源所有者密码凭证授予,并且此流程因为具有多种限制(例如不支持2FA)而被视为弃用。

要使用服务主体进行身份验证,建议使用ADAL和SDK ADAL包装(请参阅上面链接中的Acquire Token with Client Credentials部分)。你也可以参考文档:Authenticate with the Azure Management Libraries for Python了解更多详情。