2016-12-17 5 views
0

私は、client_id、client_secret(Azureを呼び出すために必要なすべての基本認証情報)を検証したいと考えています。私はそれを行う1つの方法は、指定されたclient_id、client_secretなどでトークンを生成することだと思います。
これは正しい方法ですか?はいの場合、他に何が必要ですか?私のマシンに証明書をアップロードする必要がありますか?いいえ、どうすればいいですか?私のマシンの証明書を生成せずにAzureの資格情報を検証できますか?

def get_token(self, client_id, client_secret, endpoint_url, resource_url=None): 
    if not resource_url: 
     resource_url = 'https://management.core.windows.net/' 
    payload = { 
     'grant_type': 'client_credentials', 
     'client_id': client_id, 
     'client_secret': client_secret, 
     'resource': resource_url, 
    } 
    try: 
     response = requests.post(endpoint_url, data=payload).json() 
     token = response.get('access_token') 
     if token: 
      return token 
    except Exception as e: 
     LOG.exception(e.message) 
+0

あなたの実際のシナリオを理解する上であなたの質問は明確ではありません。しかし、私の経験によれば、私はアクセストークンを取得するためのリクエストを作成する方法については、[document](https://docs.microsoft.com/en-us/rest/api/#create-the-request) Azureの広告はあなたに役立ちます。あなたの説明を改善することができれば、私はあなたにもっと役に立つ情報を返信できると思います。 –

+0

私はこれを解決策として提案しているわけではありません。単にMSからADAL(https://github.com/AzureAD/azure-activedirectory-library-for-python)について知ってもらいたいのです。あなたはそれが存在するが、何らかの理由でそれを使用したくないことが分かっているなら、それは問題ありません。 –

+0

@ PeterPan-MSFT質問を編集しました。 – user3837980

答えて

0

あなたの質問に対して、シナリオなしで正解は絶対的ではありません。通常、AAD &を使用した管理証明書の使用と、Azure Resource Management(ARM)&サービス管理(ASM)に関連する2つの認証方法があります。あなたはAzureの上でサービスを作成したい場合は

はたとえば、あなたがサーバー&のための.cerファイルを必要とする管理の証明書を介してASMともclient_id & client_secret、またはを必要とするトークンを介して、ARMとの認証を行うことができます。クライアント用のpemファイル。

参考までに、以下のドキュメントを参照してPython内でそれらを知ることができます。

ARM用
  1. 、ASMのためにhttps://azure-sdk-for-python.readthedocs.io/en/v2.0.0rc4/resourcemanagement.html
  2. https://azure-sdk-for-python.readthedocs.io/en/v2.0.0rc4/servicemanagement.html

一方、あなたは検索経由で(などAzure Resource Management AuthenticationASM authenticate、など)のキーワード検索エンジン上またはMS Azure Searchを詳細に知ることができ、または@LaurentMazuelが言っているように、GitHubのPython用ADALプロジェクトを介して。

希望します。 VMなどを作成するなどの特定のシナリオでさらに役立つ情報が必要な場合は、お気軽に詳細をお知らせください。

関連する問題