В настоящее время я работаю над проектом, в котором мне нужно получить список пользователей EID от нашего клиента с помощью API Azure. Может ли кто-нибудь подсказать мне, как этого добиться?
В частности, мне нужны подробные инструкции или пример кода (желательно на Python), который поможет мне аутентифицироваться и запросить необходимые конечные точки для получения списка пользователей EID. Мы также будем очень признательны за любые указания на необходимые разрешения и конфигурации.
Заранее спасибо за вашу помощь!
import os
import json
import requests
from azure.identity import ClientSecretCredential
def lambda_handler(event, context):
tenant_id = os.environ['AZURE_TENANT_ID']
client_id = os.environ['AZURE_CLIENT_ID']
client_secret = os.environ['AZURE_CLIENT_SECRET']
credential = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
token = credential.get_token("https://graph.microsoft.com/.default").token
headers = {
'Authorization': 'Bearer ' + token,
'Content-Type': 'application/json'
}
response = requests.get('https://graph.microsoft.com/v1.0/users', headers=headers)
if response.status_code == 200:
users = response.json()
return {
'statusCode': 200,
'body': json.dumps(users)
}
else:
return {
'statusCode': response.status_code,
'body': json.dumps({'error': 'Failed to fetch users'})
}
я могу получить
{
"statusCode": 403,
"body": "{\"error\": \"Failed to fetch users\"}"
}
Можете ли вы включить дополнительную информацию о том, что вы пробовали?
@Рукмини Конечно! Я добавил свою пробную версию в вопрос!
Проверьте мой ответ ниже, вам нужно предоставить разрешение API приложения User.Read.All и изменить код для печати json.






Чтобы составить список пользователей Microsoft Entra ID, вам необходимо предоставить разрешение API приложения User.Read.All:

И используйте приведенный ниже код Python:
import os
import json
import requests
from azure.identity import ClientSecretCredential
def lambda_handler(event, context):
tenant_id = 'TenantID'
client_id = 'ClientID'
client_secret = 'ClientSecret'
credential = ClientSecretCredential(tenant_id=tenant_id, client_id=client_id, client_secret=client_secret)
token = credential.get_token("https://graph.microsoft.com/.default").token
headers = {
'Authorization': 'Bearer ' + token,
'Content-Type': 'application/json'
}
response = requests.get('https://graph.microsoft.com/v1.0/users', headers=headers)
if response.status_code == 200:
users = response.json()
return {
'statusCode': 200,
'body': json.dumps(users)
}
else:
return {
'statusCode': response.status_code,
'body': json.dumps({'error': 'Failed to fetch users'})
}
if __name__ == "__main__":
result = lambda_handler(None, None)
if result['statusCode'] == 200:
users_data = json.loads(result['body'])
print(json.dumps(users_data, indent=2))
print("Press any key to continue . . .")
else:
print("Failed to fetch users:", result['body'])
Рад, что смог помочь