Bonjour, Nicolas,
Vous trouverez ci-dessous les étapes pour authentifier et interroger l'API Azure Cost Management :
Enregistrer une application dans Azure Active Directory :
Pour s'authentifier avec les API REST d'Azure, vous devez enregistrer une application dans Azure Active Directory (Azure AD).
- Accédez au Portail Azure et naviguez vers Azure Active Directory > Enregistrements d’applications.
- Cliquez sur Nouvel enregistrement, puis saisissez un nom (par exemple,
AzureCostAPIApp
). - Choisissez "Comptes dans ce répertoire organisationnel uniquement" comme type de compte pris en charge, puis cliquez sur Enregistrer.
Après l'enregistrement de votre application, vous devez récupérer les informations d'identification suivantes :
- ID client : Disponible dans Enregistrements d’applications sous ID d'application (client).
- ID de locataire : Disponible dans Enregistrements d’applications sous ID du répertoire (locataire).
- Secret client :
- Allez dans Certificats et secrets.
- Cliquez sur Nouveau secret client, nommez-le et enregistrez le secret généré.
Attribuer des autorisations API
- Accédez à Autorisations API dans votre application enregistrée et cliquez sur Ajouter une autorisation.
- Choisissez Azure Service Management > Autorisations déléguées, puis activez user_impersonation.
- Cliquez sur Accorder le consentement de l'administrateur pour appliquer les modifications.
Commande cURL pour obtenir un jeton
curl --location 'https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id={client_id}' \
--data-urlencode 'client_secret={client_secret}' \
--data-urlencode 'scope=https://management.azure.com/.default'
Remplacez {tenant_id}
, {client_id}
, {client_secret}
par vos valeurs réelles.
Exemple de réponse
{
"token_type": "Bearer",
"expires_in": 3600,
"access_token": "eyJ0eXAiOi..."
}
Extrayez le "access_token"
pour l'utiliser avec l'API Azure Cost Management.
Interroger l'API Azure Cost Management
Une fois le jeton obtenu, utilisez-le pour demander des données de coût à l'API Azure Cost Management.
curl --location 'https://management.azure.com/subscriptions/{subscription_id}/resourceGroups/{resource_group}/providers/Microsoft.CostManagement/query?api-version=2024-08-01' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {access_token}' \
--data '{
"type": "Usage",
"timeframe": "Custom",
"timePeriod": {
"from": "2024-10-01T00:00:00Z",
"to": "2024-11-30T00:00:00Z"
},
"dataset": {
"granularity": "Daily",
"aggregation": {
"totalCost": {
"name": "PreTaxCost",
"function": "Sum"
}
},
"grouping": [
{
"type": "Dimension",
"name": "ResourceGroup"
}
]
}
}'
Remplacez {subscription_id}
, {resource_group}
et {access_token}
en conséquence.
Consultez cette documentation Microsoft pour attribuer des autorisations aux API Azure Cost Management.
Je traduis les réponses depuis l’anglais, donc merci d’excuser d’éventuelles erreurs grammaticales.
J’espère que cela vous sera utile !
Si cette réponse vous a été utile, cliquez sur "Accepter la réponse" et laissez un vote positif.
Si vous avez d'autres questions, cliquez sur "Commenter".