2017-10-20 14 views
0

私はAzureには新しく、Python SDKはAWSのものほど良くなかったことに驚いています。Azure、pythonがActive Directoryを管理します

私はPythonでAzureでActive Directoryのmanagenetを作成するのに苦労しています。

私は少し混乱しているドキュメントを見てから。そこに異なるpockage /ライブラリがあり、認証が異なる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 
) 

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 
) 

混乱ビットがAuthentication Docksにaccodringことです:

私はトークンの作業で認証を持っています

トークンクレデンシャルで認証する(レガシー) 以前のバージョンのSDKでは、ADALはまだ使用できませんでした。私たちはUserPassC redentialsクラス。これは推奨されていないと考えられ、これ以上使用すべきではありません。

誰もが)私はServicePrincipalCredentials(新しいtockenの資格情報を使用してのpythonでのAzureでのActive Directoryに接続できる方法を理解するのに役立つことができ、私はazure.graphrbacで、それへの参照を見つけることができません。

私は例へのポインタをあてにします。

答えて

0

UserPassCredentials関数がリソースオーナーパスワード資格付与を使用していますが、このフローは2FAをサポートしないなど複数の制限があるため、非推奨となっています。

サービスプリンシパルを認証に使用するには、ADALとSDK ADALラッパーを使用することをお勧めします(上記のリンクのAcquire Token with Client Credentialsセクションを参照)。詳細は、文書:Authenticate with the Azure Management Libraries for Pythonを参照してください。

関連する問題