ManagedIdentityCredential 身份验证不可用,未找到托管标识 - Azure Synapse PySpark

问题描述 投票:0回答:1

我们正在尝试为自定义 REST API 端点生成令牌。我们在 PySpark 中使用 Azure Synapse Notebook。

from azure.identity import DefaultAzureCredential,ManagedIdentityCredential
import requests

credential = ManagedIdentityCredential(client_id='xxxxxx-xxxx-xxxx-xxxx-xxxxx')

这段代码执行成功,没有错误。我知道我们也可以使用 ClientSecret 身份验证,但由于投诉原因,我们只能使用 ManagedIdentityCredential

但是使用 credential 对象如果我们尝试 get_token 它会抛出错误

token = credential.get_token("api://xxxxxx-xxxx-xxxx-xxxx-xxxxx/.default")

ManagedIdentityCredential.get_token 失败:ManagedIdentityCredential 身份验证不可用,未找到托管身份端点。 -------------------------------------------------- ------------------------- CredentialUnavailableError Traceback(最近调用 最后)[9]第 1 行中的单元格 ----> 1 token = credential.get_token("api://xxxxxx-xxxx-xxxx-xxxx-xxxxx/.default")

文件 〜/cluster-env/clonedenv/lib/python3.10/site-packages/azure/identity/_internal/decorators.py:27, 在 log_get_token..decorator..wrapper(*args, **kwargs) 中 24 @functools.wraps(fn) 25 def 包装器(*args, **kwargs): 26 尝试: ---> 27 令牌 = fn(*args, **kwargs) 28 _LOGGER.info("%s成功",qualified_name) 29 返回令牌

文件 〜/cluster-env/clonedenv/lib/python3.10/site-packages/azure/identity/_credentials/driven_identity.py:93,在 ManagedIdentityCredential.get_token(self, *scopes, **kwargs) 91如果不是self._credential: 92 raise CredentialUnavailableError(message="未找到托管身份端点。") ---> 93 返回 self._credential.get_token(*scopes, **kwargs)

文件 〜/cluster-env/clonedenv/lib/python3.10/site-packages/azure/identity/_credentials/driven_identity.py:190, 在 ImdsCredential.get_token(self, *scopes, **kwargs) 中 188 如果不是 self._endpoint_available: 第189章 正文 --> 190 引发 CredentialUnavailableError(message=message) 第192章 192 193 raise ValueError(“此凭证只需要每个令牌请求一个范围。”)

CredentialUnavailableError:ManagedIdentityCredential 身份验证 不可用,未找到托管身份端点。

python pyspark azure-synapse azure-managed-identity azure-identity
1个回答
0
投票

您需要在池上运行启动会话以启用托管身份。 请按照以下步骤启用。

单击配置会话

enter image description here

然后启用 作为托管身份运行并应用它。

enter image description here

知道使用

client_id
运行代码。

© www.soinside.com 2019 - 2024. All rights reserved.