我可以验证Azure凭据而不为我的机器生成证书吗?

时间:2016-12-17 00:42:52

标签: python azure azure-web-sites

我想验证client_id,client_secret(对Azure进行api调用所需的所有基本凭据)。我想一种方法是使用给定的client_id,client_secret等生成令牌 这是正确的做法吗?如果是,我还需要什么?我需要为我的机器上传证书吗?如果不是,我该怎么做?

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)

1 个答案:

答案 0 :(得分:0)

没有方案,您的问题没有绝对正确的答案。通常,Azure上有两种身份验证方式,包括使用AAD和AAD。使用管理证书,并与Azure资源管理(ARM)和服务管理(ASM)。

例如,如果要在Azure上创建服务,可以通过令牌进行身份验证,需要client_id& client_secret,或通过管理证书与ASM,需要.cer文件的服务器&客户端.pem文件。

作为参考,您可以按照以下文档在Python中了解它们。

  1. 对于ARM,MySQL user defined functions
  2. 对于ASM,https://azure-sdk-for-python.readthedocs.io/en/v2.0.0rc4/resourcemanagement.html
  3. 同时,您可以通过搜索搜索引擎或https://azure-sdk-for-python.readthedocs.io/en/v2.0.0rc4/servicemanagement.html上的关键字(如Azure Resource Management AuthenticationASM authenticate等)或通过GitHub上的Python ADAL项目了解更多详细信息@LaurentMazuel说。

    希望它有所帮助。如果您想要创建VM或其他某些指定方案的更多帮助,请随时告诉我并详细改进您的问题。