We are trying to generate token for custom rest api endpoint. We are using Azure Synapse Notebook in PySpark.
from azure.identity import DefaultAzureCredential,ManagedIdentityCredential import requests credential = ManagedIdentityCredential(client_id='xxxxxx-xxxx-xxxx-xxxx-xxxxx') This code execute successfully without error. I know alternatively we can use ClientSecret authentication but because of complaince reason we have to use ManagedIdentityCredential only.
But using credential object if we try to get_token it throws error
token = credential.get_token("api://xxxxxx-xxxx-xxxx-xxxx-xxxxx/.default") ManagedIdentityCredential.get_token failed: ManagedIdentityCredential authentication unavailable, no managed identity endpoint found. --------------------------------------------------------------------------- CredentialUnavailableError Traceback (most recent call last) Cell In [9], line 1 ----> 1 token = credential.get_token("api://xxxxxx-xxxx-xxxx-xxxx-xxxxx/.default")
File ~/cluster-env/clonedenv/lib/python3.10/site-packages/azure/identity/_internal/decorators.py:27, in log_get_token..decorator..wrapper(*args, **kwargs) 24 @functools.wraps(fn) 25 def wrapper(*args, **kwargs): 26 try: ---> 27 token = fn(*args, **kwargs) 28 _LOGGER.info("%s succeeded", qualified_name) 29 return token
File ~/cluster-env/clonedenv/lib/python3.10/site-packages/azure/identity/_credentials/managed_identity.py:93, in ManagedIdentityCredential.get_token(self, *scopes, **kwargs) 91 if not self._credential: 92 raise CredentialUnavailableError(message="No managed identity endpoint found.") ---> 93 return self._credential.get_token(*scopes, **kwargs)
File ~/cluster-env/clonedenv/lib/python3.10/site-packages/azure/identity/_credentials/managed_identity.py:190, in ImdsCredential.get_token(self, *scopes, **kwargs) 188 if not self._endpoint_available: 189 message = "ManagedIdentityCredential authentication unavailable, no managed identity endpoint found." --> 190 raise CredentialUnavailableError(message=message) 192 if len(scopes) != 1: 193 raise ValueError("This credential requires exactly one scope per token request.")
CredentialUnavailableError: ManagedIdentityCredential authentication unavailable, no managed identity endpoint found.

