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了解更多详情。