我想验证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)
答案 0 :(得分:0)
没有方案,您的问题没有绝对正确的答案。通常,Azure上有两种身份验证方式,包括使用AAD和AAD。使用管理证书,并与Azure资源管理(ARM)和服务管理(ASM)。
例如,如果要在Azure上创建服务,可以通过令牌进行身份验证,需要client_id
& client_secret
,或通过管理证书与ASM,需要.cer文件的服务器&客户端.pem文件。
作为参考,您可以按照以下文档在Python中了解它们。
同时,您可以通过搜索搜索引擎或https://azure-sdk-for-python.readthedocs.io/en/v2.0.0rc4/servicemanagement.html上的关键字(如Azure Resource Management Authentication
,ASM authenticate
等)或通过GitHub上的Python ADAL项目了解更多详细信息@LaurentMazuel说。
希望它有所帮助。如果您想要创建VM或其他某些指定方案的更多帮助,请随时告诉我并详细改进您的问题。