Azure verbinden
Geben Sie einem Dienstprinzipal Cost Management Reader auf den Abonnements, die importiert werden sollen, oder eine Leserolle auf Ihrem Abrechnungskonto mit Enterprise Agreement oder Microsoft Customer Agreement, und fügen Sie ihn Costfluent als Verbindung hinzu.
Costfluent liest Azure-Kosten über einen Dienstprinzipal, den Sie erstellen. Eine Verbindung ist ein Dienstprinzipal und importiert entweder jedes Abonnement, dessen Kosten dieser Prinzipal lesen darf, oder einen Abrechnungsbereich: die ganze Rechnung einer Enterprise-Agreement-Registrierung oder eines Abrechnungskontos oder Abrechnungsprofils unter einem Microsoft Customer Agreement. Mehrere Abonnements brauchen also keine mehreren Verbindungen. Ein Abonnement importiert nur eine Verbindung, und zwar die, die es zuerst importiert hat.
Wie Costfluent verbindet
Eine Verbindung erfasst einen von zwei Bereichen. Diesen wählen Sie beim Hinzufügen der Verbindung und können ihn später wechseln (Zwischen Abonnements und Abrechnungsbereich wechseln):
- Abonnements importiert jedes Abonnement, auf dem der Prinzipal eine Azure-Rolle hat. Gebühren, die dem Abrechnungskonto statt einem Abonnement berechnet werden, fehlen (Was nicht importiert wird).
- Abrechnungskonto importiert einen Abrechnungsbereich: jedes dort abgerechnete Abonnement, in jedem Verzeichnis, dazu die Käufe, Steuern und Gutschriften, die dem Abrechnungskonto oder Abrechnungsprofil berechnet werden. Dafür braucht der Prinzipal eine Leserolle der Abrechnung auf diesem Bereich.
Damit Ihre Reservierungen und Sparpläne unter Commitments erscheinen, weisen Sie dem Dienstprinzipal außerdem Reservations Reader und Savings plan Reader zu. Beide sind optional und nur lesend, und Microsoft vergibt sie einmal für den ganzen Microsoft-Entra-Mandanten statt auf einem Abonnement (Commitment-Rollen vergeben).
Abonnements
Eine integrierte Rolle ist erforderlich, zwei sind optional:
- Cost Management Reader ist erforderlich. Damit listet Costfluent die Abonnements, denen der Prinzipal zugewiesen ist, liest den Cost-Details-Bericht, auf dem der Import aufbaut, und liest einmal täglich die Kostenempfehlungen von Azure Advisor nach Einsparungen.
- Carbon Optimization Reader ist optional. Damit liest Costfluent einmal im Monat die Emissionen, die Azure für das Abonnement meldet, in den Bericht zum CO2-Fußabdruck. Die Rolle liest Emissionsdaten und sonst nichts.
- Reader ist optional. Costfluent nutzt die Rolle nicht, und sie gewährt Lesezugriff auf jede Ressource im Abonnement. Lassen Sie sie weg, solange Ihre eigenen Richtlinien sie nicht verlangen.
Keine der Rollen kann etwas in Ihrem Abonnement ändern. Vergeben Sie weder Contributor noch Owner.
Weisen Sie die Rolle je Abonnement zu oder einmalig auf einer Verwaltungsgruppe, die die zu importierenden Abonnements umfasst. Eine Zuweisung auf Verwaltungsgruppenebene deckt auch später hinzugefügte Abonnements ab.
Erreicht ein zweiter Dienstprinzipal Abonnements, die bereits eine andere Verbindung importiert, wird er trotzdem verbunden und importiert die übrigen; die gemeinsamen bleiben bei der ersten Verbindung. Ein Prinzipal, der nur solche Abonnements erreicht, wird abgelehnt. Um Abonnements auf einen neuen Prinzipal zu übertragen, aktualisieren Sie die Zugangsdaten der bestehenden Verbindung, statt eine neue hinzuzufügen.
Abrechnungsbereich
Die Einstellung billing_scope der Verbindung nennt den Bereich, in einer von drei Formen:
| Vertrag | Bereich | billing_scope | Rolle für den Dienstprinzipal |
|---|---|---|---|
| Enterprise Agreement | Die Registrierung | billingAccounts/<Registrierungsnummer> | Enrollment reader auf dem Abrechnungskonto |
| Microsoft Customer Agreement | Das Abrechnungskonto | billingAccounts/<Abrechnungskonto-ID> | Billing account reader auf dem Abrechnungskonto |
| Microsoft Customer Agreement | Ein Abrechnungsprofil | billingAccounts/<Abrechnungskonto-ID>/billingProfiles/<Abrechnungsprofil-ID> | Billing profile reader auf dem Abrechnungsprofil oder Billing account reader auf dem Abrechnungskonto |
Im Azure-Portal steht unter Kostenverwaltung + Abrechnung die ID eines Abrechnungskontos auf seiner Seite Eigenschaften; bei einem Enterprise Agreement ist es die Registrierungsnummer. Die ID eines Abrechnungsprofils steht auf der Seite Eigenschaften des Abrechnungsprofils. Übernehmen Sie die IDs genau so, wie das Portal sie zeigt. Costfluent lehnt Abteilungen und Registrierungskonten einer Registrierung, Rechnungsabschnitte eines Abrechnungsprofils und Verwaltungsgruppen ab: Die ersten drei enthalten nur Nutzung, die eine Abonnement-Verbindung ohnehin importiert, und den Cost-Details-Bericht von Azure gibt es für Verwaltungsgruppen nicht. Abrechnung über einen Cloud Solution Provider (CSP) wird nicht unterstützt.
Laut Microsoft lesen diese Leserollen der Abrechnung die Kosten jedes Abonnements, das unter dem Bereich abgerechnet wird, auch in anderen Microsoft-Entra-Verzeichnissen, und dürfen in Cost Management zusätzlich Budgets und Exporte anlegen, ändern und löschen. Costfluent nutzt die Rolle nur zum Lesen von Kosten und legt in Azure nichts an, ändert nichts und löscht nichts.
Empfehlungen unter Einsparungen und der Bericht zum CO2-Fußabdruck werden je Abonnement gelesen, und eine Rolle der Abrechnung reicht nicht bis dorthin. Bei einem Abrechnungsbereich liest Costfluent sie für jedes Abonnement, das der Bereich umfasst, mit den Rollen, die auch eine Abonnement-Verbindung nutzt: Cost Management Reader für Empfehlungen und Carbon Optimization Reader für Emissionen, auf jedem Abonnement oder auf einer Verwaltungsgruppe darüber. Die Abonnements, die der Prinzipal nicht lesen kann, werden gemeldet, wie bei einer Abonnement-Verbindung.
Ein Abonnement wird auch hier nur einmal importiert. Umfasst ein Abrechnungsbereich ein Abonnement, das bereits eine andere Azure-Verbindung Ihrer Organisation importiert, verwirft die Verbindung des Abrechnungsbereichs die Kosten dieses Abonnements, und die Seiten beider Verbindungen sagen das. Eine später hinzugefügte Abonnement-Verbindung listet die Abonnements, die bereits ein Abrechnungsbereich umfasst, als Nicht verfügbar. Auch eine Rechnung wird nur über eine Verbindung importiert: Ein Abrechnungsbereich, der einen Teil des Abrechnungsbereichs einer anderen Verbindung abrechnet, also dieselbe Registrierung oder ein MCA-Abrechnungskonto und eines seiner Abrechnungsprofile, wird abgelehnt, damit seine Käufe, Steuern und Gutschriften nicht doppelt zählen. Zwei Abrechnungsprofile eines Abrechnungskontos können zwei Verbindungen sein.
Was nicht importiert wird
Eine Verbindung auf Abonnementebene liest Kosten je Abonnement. Gebühren, die dem Abrechnungskonto oder dem Abrechnungsprofil statt einem Abonnement berechnet werden, werden nicht importiert: Steuern, Käufe unter einem Microsoft Customer Agreement (Reservierungen, Sparpläne und Marketplace-Käufe auf dem Abrechnungsprofil) und andere Gebühren des Abrechnungsprofils. Ebenso wenig Gutschriften und Vorauszahlungen, etwa Azure-Guthabenangebote, Sponsorings und Vorauszahlungsguthaben: Microsoft verrechnet sie auf der Rechnung, beim Abrechnungskonto oder Abrechnungsprofil, daher zeigt Gutschriften einbeziehen keine davon. Ihre Azure-Summen in Costfluent können deshalb um diese Gebühren unter und um diese Gutschriften über Ihrer Rechnung liegen.
Eine Verbindung im Abrechnungsbereich importiert die Käufe, Steuern und Gutschriften, die dem Abrechnungskonto oder Abrechnungsprofil berechnet werden, neben den Kosten jedes dort abgerechneten Abonnements.
Voraussetzungen
- Die Organisationsrolle Eigentümer oder Integrationsverantwortliche Person in Costfluent.
- In Azure das Recht, in Ihrem Microsoft-Entra-Mandanten eine Anwendung zu registrieren.
- Für Abonnements das Recht, auf den Abonnements oder der Verwaltungsgruppe, die importiert werden sollen, Rollen zuzuweisen.
- Für einen Abrechnungsbereich das Recht, seine Rolle der Abrechnung zu vergeben: die Rolle enrollment writer auf einer Enterprise-Agreement-Registrierung, Billing account owner auf einem Abrechnungskonto unter einem Microsoft Customer Agreement oder Billing profile owner auf dessen Abrechnungsprofil.
- Optional, für Reservierungen und Sparpläne unter Commitments: User Access Administrator auf der Stammebene Ihres Mandanten, die eine Person mit der Rolle Global Administrator durch Erhöhen des Zugriffs erhält (Commitment-Rollen vergeben).
- Ein Enterprise Agreement oder ein Microsoft Customer Agreement. Die Cost Details API von Azure, die Costfluent liest, bedient Pay-as-you-go-Abonnements im Microsoft Online Services Program in keinem der beiden Bereiche, und die Verbindungsprüfung sagt das.
Verbinden
Mit der Azure CLI verbinden
Prüfen Sie, in welchem Mandanten und Abonnement Sie arbeiten:
Code
Erstellen Sie den Dienstprinzipal. Die Ausgabe enthält appId, password und tenant. Das Passwort
lässt sich später nicht erneut abrufen, speichern Sie es also jetzt in Ihrem Passwortmanager.
Code
Vergeben Sie ihm Cost Management Reader, auf jedem Abonnement, das importiert werden soll, oder einmalig auf einer Verwaltungsgruppe. Der zweite Befehl ist optional: Er vergibt Carbon Optimization Reader auf derselben Ebene, für den Bericht zum CO2-Fußabdruck.
Rollenzuweisungen brauchen einen Moment, bis sie wirksam sind. Ein Autorisierungsfehler unmittelbar danach bedeutet nicht, dass die Zugangsdaten falsch sind.
Fügen Sie dann die Verbindung in Costfluent hinzu:
-
Öffnen Sie Einstellungen, dann Integrationen, und wählen Sie Azure.
-
Öffnen Sie den Tab Verbinden und wählen Sie Dienstprinzipal hinzufügen.
-
Füllen Sie die vier Felder aus:
Feld Wert Anzeigename Vorausgefüllt mit Microsoft Azure, oder mit Microsoft Azure 2 und höher, wenn eine Verbindung schon so heißt; übernehmen Sie ihn oder geben Sie einen beliebigen Namen ein, etwa Production Microsoft-Entra-Mandanten-ID tenantdes DienstprinzipalsApp-ID des Dienstprinzipals appIddes DienstprinzipalsKennwort des Dienstprinzipals passworddes Dienstprinzipals -
Wählen Sie Verbindung testen, um jede Prüfung zu sehen, oder Verbinden, um zu speichern.

Es gibt kein Abonnementfeld: Welche Abonnements importiert werden, entscheiden Ihre Rollenzuweisungen, und Costfluent liest das aus Azure. Costfluent prüft die Zugangsdaten vor dem Speichern gegen die Cost-Details-API. Eine Verbindung, die gespeichert wird, kann Ihre Kosten also lesen. Antwortet Azure bei dieser Prüfung nicht, wird die Verbindung trotzdem gespeichert und automatisch erneut geprüft.
Im Abrechnungsbereich verbinden
Erstellen Sie den Dienstprinzipal mit az ad sp create-for-rbac, wie
Mit der Azure CLI verbinden zeigt. Seine Rollenzuweisungen auf
Abonnements braucht es nur für Empfehlungen und CO2-Emissionen
(Abrechnungsbereich). Vergeben Sie ihm dann die Rolle der Abrechnung.
Bei einem Enterprise Agreement ist das die Rolle Enrollment reader. Ein Dienstprinzipal erhält sie nur über die API für Rollenzuweisungen der Abrechnung von Azure: Das Azure-Portal bietet sie für einen Dienstprinzipal nicht an und zeigt die Zuweisung auch nicht. Führen Sie Folgendes als Person mit der Rolle enrollment writer auf der Registrierung aus:
Code
principalId ist die Objekt-ID des Dienstprinzipals, die Microsoft Entra ID unter
Unternehmensanwendungen zeigt und die az ad sp show zurückgibt. Mit der Objekt-ID der Anwendung
unter App-Registrierungen schlägt der Aufruf fehl. 24f8edb6-1668-4659-b5e2-40bb5f3a7d7e ist die
Rolle Enrollment reader, und die Antwort 200 OK bedeutet, dass sie zugewiesen ist.
Bei einem Microsoft Customer Agreement vergeben Sie die Rolle im Azure-Portal, wie für eine Person:
- Öffnen Sie Kostenverwaltung + Abrechnung und wählen Sie das Abrechnungskonto oder, für ein Abrechnungsprofil als Bereich, das Abrechnungsprofil unter Abrechnungsprofile.
- Wählen Sie Zugriffssteuerung (IAM), dann Hinzufügen.
- Wählen Sie Billing account reader auf dem Abrechnungskonto oder Billing profile reader auf dem Abrechnungsprofil.
- Suchen Sie den Dienstprinzipal über seinen Namen,
Costfluent, wenn Sie ihn wie oben erstellt haben, wählen Sie ihn aus und wählen Sie Hinzufügen.
Fügen Sie die Verbindung dann in Costfluent hinzu, wie Mit der Azure CLI verbinden zeigt: Wählen Sie im Dialog Dienstprinzipal hinzufügen die Option Abrechnungskonto, dann Ihren Vertrag, und geben Sie die IDs ein. Costfluent prüft vor dem Speichern, ob der Prinzipal den Cost-Details-Bericht im Bereich lesen kann. Abonnements findet es dabei noch keine: Die Abonnements erscheinen, sobald ihre Kosten ankommen (Nach dem Verbinden).
Commitment-Rollen vergeben
Optional. Mit zwei weiteren Rollen listet Costfluent Ihre Azure-Reservierungen und -Sparpläne unter Commitments. Microsoft vergibt sie nicht auf einem Abonnement, sondern einmal für den ganzen Microsoft-Entra-Mandanten, auf einer eigenen Ebene:
| Rolle | Bereich | Was sie liest |
|---|---|---|
| Reservations Reader | /providers/Microsoft.Capacity | Jede Reservierung im Mandanten |
| Savings plan Reader | /providers/Microsoft.BillingBenefits | Jeden Sparplan im Mandanten |
Beide sind nur lesend: Keine von beiden kann eine Reservierung oder einen Sparplan kaufen, ändern oder kündigen. Um eine Rolle auf diesen Ebenen zuzuweisen, brauchen Sie User Access Administrator auf der Stammebene des Mandanten, die eine Person mit der Rolle Global Administrator durch Erhöhen des Zugriffs erhält. Im Azure-Portal können nur Personen mit der Rolle Global Administrator sie zuweisen. Microsoft beschreibt die Zuweisung mit Azure PowerShell (Reservierungen, Sparpläne). Führen Sie sie mit diesem Zugriff aus:
Code
-PrincipalId ist die Objekt-ID des Dienstprinzipals, die Microsoft Entra ID unter
Unternehmensanwendungen zeigt. Das Azure-Portal zeigt so erstellte Zuweisungen nicht an;
Get-AzRoleAssignment -ObjectId $PrincipalId listet sie. Mit Terraform setzen Sie stattdessen
commitment_roles = true am Modul (Mit Terraform verbinden) und führen
das Apply mit demselben Zugriff aus. Ohne die Rollen kommen Kosten und alles andere weiterhin an
wie bisher.
Mit Terraform verbinden
Das Modul costfluent/cost-access/azure registriert die Anwendung, erstellt ihren Dienstprinzipal
und ein Client-Secret und weist Cost Management Reader und Carbon Optimization Reader auf einem
Abonnement, auf weiteren Abonnements und auf Verwaltungsgruppen zu, die Sie angeben, und die beiden
Commitment-Rollen, wenn Sie commitment_roles setzen. Seine Ausgabe credentials speist
costfluent_provider direkt:
Code
- Rollen.
role_definition_namessteht standardmäßig auf Cost Management Reader und Carbon Optimization Reader. Entfernen Sie Carbon Optimization Reader daraus, um das Abonnement aus dem Bericht zum CO2-Fußabdruck herauszuhalten. Ergänzen Sie"Reader"nur, wenn Ihre Richtlinien es verlangen. - Mehrere Abonnements.
additional_subscription_idsweist dieselben Rollen auf weiteren Abonnements des Mandanten zu undmanagement_group_idsauf Verwaltungsgruppen, deren Abonnements sie erben, auch später hinzugefügte; angegeben wird jeweils die ID der Gruppe, und die ID der Stammverwaltungsgruppe ist die Mandanten-ID. Eine Zuweisung auf einer Verwaltungsgruppe braucht Owner oder User Access Administrator auf ihr. Beim Verbinden werden die Abonnements, die der Prinzipal lesen kann, innerhalb von 90 Sekunden geprüft; die in dieser Zeit nicht erreichten erscheinen nach der nächsten täglichen Prüfung, ohne neue Verbindung. Die Ausgabeassignment_scopesdes Moduls listet jeden Bereich, auf dem es die Rollen zugewiesen hat. - Commitment-Rollen.
commitment_roles = trueweist zusätzlich Reservations Reader und Savings plan Reader auf ihren Mandantenebenen zu. Nur User Access Administrator auf der Stammebene des Mandanten kann das anwenden (Commitment-Rollen vergeben); ohne diesen Zugriff schlägt das Apply bei diesen beiden Zuweisungen fehl. - Abrechnungsbereich. Das Modul vergibt keine Rolle der Abrechnung. Um einen
Abrechnungsbereich zu erfassen, vergeben Sie die Rolle, wie
Im Abrechnungsbereich verbinden zeigt, und ergänzen Sie
costfluent_providerumsettings = { billing_scope = "billingAccounts/<Registrierungsnummer>" }, in der Form, die Abrechnungsbereich für Ihren Vertrag nennt. Wenn Siesettingsentfernen, wechselt die Verbindung zurück zu ihren Abonnements. - Wirksamwerden.
costfluent_providerwartet nicht darauf, dass Azure-Rollenzuweisungen wirksam werden. Schlägt das erste Apply fehl, weil der Prinzipal noch keine Kosten lesen kann, führen Sieterraform applyeine Minute später erneut aus. - Secret-Wechsel. Das Client-Secret gilt
secret_expiry_dayslang, standardmäßig 365 Tage, bis zu dem Zeitpunkt, den die Modulausgabesecret_expires_atzeigt. Eine Modulversion mit der Ausgabesecret_rotates_atersetzt es ab diesem Zeitpunkt,secret_rotation_days_before_expiryTage vor dem Ablauf (standardmäßig 30): Ein Apply in diesem Fenster erstellt ein neues Secret und gibt es an die Verbindung weiter, solange das alte noch gilt. Eine ältere Version ersetzt es erst zum oder nach dem Ablauf, und vom Ablauf bis zu diesem Apply kann Costfluent nichts erfassen. Ein Apply außerhalb des Fensters lässt das Secret unverändert. Um zu einem anderen Zeitpunkt zu wechseln, führen Sieterraform apply -replace='module.costfluent_azure.time_rotating.secret'aus: Es löscht das alte Secret, erstellt ein neues und gibt es im selben Apply an die Verbindung weiter.
Daten und Aktualität
Beim Verbinden werden die Kosten jedes Abonnements so weit zurück importiert, wie der rückwirkende Import Ihres Tarifs reicht, höchstens sechs Monate (Verbindungen verwalten). Eine später vergebene Rolle auf einem weiteren Abonnement braucht keine neue Verbindung: Das Abonnement erscheint nach der nächsten Prüfung, und seine erste Erfassung reicht auf dieselbe Weise zurück, gerechnet ab dem Tag, an dem es erscheint.
Ein Abrechnungsbereich wird auf dieselbe Weise rückwirkend importiert. Ein Abonnement, das später zur Registrierung oder zum Abrechnungsprofil hinzukommt, braucht keine neue Rolle: Seine Kosten kommen mit dem Rest der Rechnung.
Ein Tag eines Abonnements oder des Abrechnungsbereichs, den eine Verbindung erfasst, seine Berichte über tatsächliche und amortisierte Kosten zusammen, darf höchstens 2.560.000 Zeilen und 4 GiB Kostendaten enthalten. Ein Abrechnungsbereich bringt den ganzen Tag einer Registrierung oder eines Abrechnungsprofils unter diese eine Grenze. Ein größerer Tag stoppt die Verbindung mit einem Fehler, der den Tag nennt, statt ihn nur zum Teil zu importieren; wenden Sie sich über das Kontaktformular an den Costfluent-Support.
Reservierungen und Sparpläne
Mit den Commitment-Rollen listet Costfluent die Reservierungen und Sparpläne des Mandanten unter Gehaltene Commitments (Commitments). Azure listet jedes Commitment im Mandanten, daher listet eine Verbindung die, die auf einen gemeinsamen Bereich oder eine Verwaltungsgruppe angewendet sind, und die, die auf ein einzelnes Abonnement angewendet sind, nur dann, wenn die Verbindung dieses Abonnement importiert.
CO2-Emissionen
Azure veröffentlicht die Emissionen jedes Monats bis zum 19. des Folgemonats und stellt die letzten zwölf Monate bereit. Costfluent liest sie am 22. (CO2-Fußabdruck), für jedes Abonnement, das die Verbindung importiert. Jedes davon braucht Carbon Optimization Reader: Fehlt die Rolle bei einem, verweigert Azure dieses Abonnement, und der Monat der Verbindung wird als Ganzes verweigert statt unvollständig gezeigt. Der Bericht zum CO2-Fußabdruck nennt dann die Abonnements, die die Rolle brauchen. Azure nennt für diese Zahlen keine Bilanzierungsmethode und keine Dienstkategorie, daher zeigt der Bericht sie als Methode nicht angegeben und nach Ressourcentyp.
Bei einem Abrechnungsbereich sind das die Abonnements, die der Bereich umfasst, und die Rolle der Abrechnung reicht nicht bis zu ihren Emissionen: Vergeben Sie Carbon Optimization Reader auf ihnen oder auf einer Verwaltungsgruppe darüber.
Berichtsdimensionen
Was jede Gruppierungsdimension eines Kostenberichts für eine Azure-Verbindung enthält und aus welcher Spalte von Cost Details sie stammt.
| Dimension | Bei Azure | Quelle |
|---|---|---|
| Anbieter | azure | Die Verbindung |
| Anbietername | Microsoft Azure; bei einer Marketplace-Position der Publisher | PublisherType, PublisherName |
| Unterkonto | Die ID des Abonnements; im Abrechnungsbereich bei einer Position ohne Abonnement die ID des Abrechnungskontos | SubscriptionId, sonst BillingAccountId |
| Dienst | Der Dienst oder, wenn die Zeile keinen nennt, die Meter-Kategorie | ServiceName, sonst MeterCategory |
| Region | Der Name des Ressourcenstandorts, etwa West Europe; Global bei einer Position ohne Standort | ResourceLocation |
| Ressource | Der Name der Ressource oder das letzte Segment ihrer ID | ResourceName, sonst ResourceId |
| Kostenkategorie | Usage (ungenutzte Reservierungen und Savings Plans eingeschlossen), Purchase (Erstattungen eingeschlossen), Tax oder Credit; jeder andere Charge Type ist Adjustment | ChargeType |
| Dienstkategorie | Die FOCUS-Kategorie der Zählerkategorie; Cognitive Services, Foundry Models und Azure Machine Learning sind AI and Machine Learning | MeterCategory, MeterSubCategory |
| SKU | Der Name des Zählers, etwa gpt-4o-Input-global Tokens | MeterName |
| SKU-ID | Die ID des Zählers | MeterId |
| Ressourcentyp | Der Typ der Ressource, wie Cost Details ihn angibt | ResourceType |
| Produktfamilie | Die Dienstfamilie, etwa Compute oder Storage | ServiceFamily |
| Ressourcengruppe | Die Ressourcengruppe, aus der ID der Ressource in Kleinbuchstaben gelesen, sodass RG-App und rg-app eine Gruppe sind | ResourceId |
| Rechnungs-ID | Die Rechnung, auf der die Position abgerechnet wird | InvoiceId |
| Rechnungssteller | Der Partner oder Wiederverkäufer, der die Position in Rechnung stellt; Microsoft, wo es keinen gibt | PartnerName, sonst ResellerName |
| Abrechnungszeitraum | Der abgerechnete Monat, etwa 2026-03 | BillingPeriodStartDate |
| Vorgang, Kostenbeschreibung | Nie gefüllt; Cost Details gibt keines davon an | |
| Tag | Jeder Schlüssel der Tags der Zeile | Tags |
| Segment | Ihre Zuordnungsregeln | Segmente und Zuordnungsregeln |
| Cluster, Namespace | Nie gefüllt; sie tragen Kubernetes-Kosten (Kubernetes verbinden) | |
| Virtueller Tag | Ihre Regeln für virtuelle Tags | Virtuelle Tags |
Ein Azure-Zähler, der je tausend oder je Million Tokens abrechnet, Einheit 1K oder 1M bei einem Zähler namens … Tokens, wird mit seiner Nutzung als Tokens gespeichert, einzeln gezählt, sodass die Messgröße Nutzung sie mit den Tokens anderer Anbieter summiert.
Aktualisieren oder trennen
Nach dem Verbinden
Der Tab Verwalten listet die Verbindung unter ihrem Anzeigenamen, mit ihrer Mandanten-ID in einer eigenen Spalte und ihrer App-ID. Über das Zahnrad daneben sehen Sie, ob die Zugangsdaten noch funktionieren, welche Workspaces die Verbindung speist, welche Abrechnungsmonate importiert wurden und eine Karte Abonnements mit jedem Abonnement, das der Prinzipal erreicht, und was die Verbindung mit jedem tut.
Ein Abonnement, das der Prinzipal zwar sieht, dessen Kosten er aber nicht lesen kann, oder eines, das bereits eine andere Verbindung importiert, wird als Nicht verfügbar mit Begründung gelistet, statt gesund auszusehen und nie Daten zu liefern. Was Azure selbst dazu meldet, steht im Wortlaut von Azure am Ende der Begründung.
Bei einem Abrechnungsbereich zeigt die Seite den Bereich, den die Verbindung erfasst, und die Karte Abonnements listet die Abonnements, die die Kosten des Bereichs bisher genannt haben, als Abgedeckt. Ein Abonnement, dessen Kosten bereits eine andere Azure-Verbindung importiert, wird auf den Seiten beider Verbindungen genannt, und seine Kosten bleiben bei dieser Verbindung.
Prüfungen ausführen auf der Verbindungsseite führt die Prüfungen auf Anfrage erneut aus und meldet jede einzeln, sodass ein Fehler den fehlgeschlagenen Schritt benennt: die Anmeldung oder das Lesen der Kostendaten. Die Ausführung läuft im Hintergrund, und die Seite aktualisiert sich selbst, sobald sie fertig ist.
Zwischen Abonnements und Abrechnungsbereich wechseln
Eine Verbindung wechselt ihren Bereich an Ort und Stelle, und ihre Zugangsdaten bleiben. Um zu einem Abrechnungsbereich zu wechseln, vergeben Sie zuerst die Rolle der Abrechnung (Im Abrechnungsbereich verbinden), nutzen Sie dann Zugangsdaten aktualisieren auf der Verbindungsseite, wählen Sie Abrechnungskonto und geben Sie die IDs ein. Costfluent prüft den Bereich mit den gespeicherten Zugangsdaten, bevor es ihn speichert, und eine abgelehnte Prüfung ändert nichts. Ab dann erfasst die Verbindung den Abrechnungsbereich und listet jedes Abonnement als Abgedeckt, sobald die Kosten des Bereichs es nennen. Ein bisheriges Abonnement, das der Bereich nicht abrechnet, behält die bereits dafür importierten Kosten und steht einer anderen Verbindung frei. Bereits je Abonnement importierte Kosten zählen nicht doppelt: Die Zeilen des Abrechnungsbereichs ersetzen die Zeilen der Abonnements für dieselben Gebühren.
Um zurückzuwechseln, wählen Sie auf dieselbe Weise Abonnements, entfernen Sie settings in
Terraform oder senden Sie clearSettings an PUT /v1/providers/{providerId} der Public API. Die Verbindung erfasst
dann wieder ihre Abonnements und importiert deren vergangene Kosten neu, was die Zeilen des
Abrechnungsbereichs für dieselben Gebühren ersetzt; die Käufe und Steuern, die sie beim
Abrechnungskonto importiert hat, bleiben.
Zugangsdaten wechseln oder entfernen
Setzen Sie die Zugangsdaten des Dienstprinzipals in Azure zurück und nutzen Sie dann
Zugangsdaten aktualisieren auf der Verbindungsseite. Mit Terraform wechselt ein einfaches Apply das Secret erst
ab secret_rotates_at (bei einer Modulversion ohne diese Ausgabe erst zum oder nach dem Ablauf); um
es zu einem anderen Zeitpunkt zu wechseln, ersetzen Sie den Timer des Moduls, wie
Mit Terraform verbinden zeigt, was die Verbindung im selben Apply
aktualisiert. Zum
Stilllegen entfernen Sie die Verbindung in Costfluent und löschen in Azure die Rollenzuweisungen
und den Dienstprinzipal, oder Sie führen terraform destroy aus. Das Entfernen löscht die von ihr
importierten Kosten (Verbindung entfernen).
Fehlerbehebung
Eine Überschrift je Meldung, wie die Verbindungsseite sie zeigt: unter den Verbindungsprüfungen oder als Begründung neben einem Abonnement auf der Karte Abonnements, wo der Wortlaut von Azure die Begründung beendet. Prüfungen ausführen führt die Prüfungen erneut aus.
Costfluent konnte sich nicht mit den Azure-Zugangsdaten anmelden.
Mandanten-ID, App-ID oder Client-Secret sind falsch, oder das Secret ist abgelaufen (mit Terraform
gilt es secret_expiry_days, standardmäßig 365). Setzen Sie das Secret in Azure zurück und verwenden Sie
Zugangsdaten aktualisieren auf der Verbindungsseite
(Zugangsdaten wechseln oder entfernen).
Costfluent konnte keine Sparempfehlungen von Azure lesen.
Kosten kommen weiterhin an, und die Verbindung gilt als beeinträchtigt, bis das behoben ist. Azure
Advisor hat den Dienstprinzipal auf dem Abonnement abgewiesen, das die Meldung neben der Prüfung
nennt. Cost Management Reader, die Rolle, die die Verbindung ohnehin braucht, enthält
Microsoft.Advisor/recommendations/read; weisen Sie sie auf diesem Abonnement erneut zu oder auf einer
Verwaltungsgruppe, die es umfasst. Die Kostenempfehlungen von Advisor erscheinen danach nach dem
nächsten täglichen Abruf unter Einsparungen. Eine Rolle der Abrechnung reicht nicht bis zu
Advisor, daher braucht eine Verbindung im Abrechnungsbereich Cost Management Reader auf den
Abonnements, die der Bereich umfasst (Abrechnungsbereich).
Costfluent konnte die Commitments von Azure nicht lesen.
Kosten kommen weiterhin an, und die Verbindung bleibt In Ordnung. Azure hat die Liste der
Reservierungen, der Sparpläne oder beide abgewiesen: Dem Dienstprinzipal fehlt Reservations Reader
auf /providers/Microsoft.Capacity oder Savings plan Reader auf /providers/Microsoft.BillingBenefits,
und die Meldung neben der Prüfung nennt, welche. Beide Rollen sind optional; weisen Sie sie zu, wie
Commitment-Rollen vergeben zeigt, und wählen Sie dann
Prüfungen ausführen. Bis dahin nennt Commitments die Verbindung über Gehaltene Commitments.
Costfluent konnte keine Kostendaten von Azure lesen.
Die Anmeldung hat funktioniert, aber der Cost-Details-Bericht ließ sich nicht lesen. Die Begründung neben jedem Abonnement auf der Karte Abonnements nennt die Ursache, bei einem Abrechnungsbereich die Begründung unter der Prüfung; die folgenden Überschriften sind die üblichen.
Der Dienstprinzipal kann Cost Management für dieses Abonnement nicht lesen
Der Prinzipal hat keine Zuweisung von Cost Management Reader auf dem Abonnement oder einer
Verwaltungsgruppe darüber, oder die Zuweisung ist noch nicht wirksam: Rollenzuweisungen brauchen
einen Moment, und ein Fehler unmittelbar nach dem Anlegen beweist nicht, dass die Zugangsdaten falsch
sind. Weisen Sie die Rolle zu (Wie Costfluent verbindet) und wählen
Sie eine Minute später Prüfungen ausführen; mit Terraform führen Sie terraform apply
erneut aus.
Das Abonnement wurde nicht gefunden, oder der Dienstprinzipal sieht es nicht
Die Abonnement-ID ist falsch, der Prinzipal hat gar keine Zuweisung darauf, oder das Abonnement liegt nicht unter einem Enterprise Agreement oder einem Microsoft Customer Agreement: Die Cost Details API von Azure, die Costfluent liest, bedient keine Pay-as-you-go-Abonnements (Voraussetzungen). Die Antwort von Azure beendet die Begründung.
Azure hat die Cost-Details-Anfrage für dieses Abonnement abgelehnt
Azure hat die Anmeldung angenommen und kennt das Abonnement, verweigert aber den Cost-Details-Bericht dafür. So antwortet ein Pay-as-you-go-Abonnement; der Wortlaut von Azure am Ende der Begründung unterscheidet das von einer vertippten ID.
Der Dienstprinzipal kann Cost Management für diese Registrierung nicht lesen
Die Verbindung erfasst eine Enterprise-Agreement-Registrierung, und der Prinzipal hat keine Zuweisung von Enrollment reader auf ihrem Abrechnungskonto. Weisen Sie die Rolle mit dem Aufruf für Rollenzuweisungen der Abrechnung zu (Im Abrechnungsbereich verbinden); das Azure-Portal zeigt diese Zuweisung nicht, dort lässt sie sich also nicht prüfen. Wählen Sie dann Prüfungen ausführen.
Der Dienstprinzipal kann Cost Management für diesen Abrechnungsbereich nicht lesen
Die Verbindung erfasst ein Abrechnungskonto oder Abrechnungsprofil unter einem Microsoft Customer Agreement, und der Prinzipal hat weder Billing account reader auf dem Abrechnungskonto noch Billing profile reader auf dem Abrechnungsprofil. Vergeben Sie eine davon im Azure-Portal (Im Abrechnungsbereich verbinden) und wählen Sie dann Prüfungen ausführen.
Das Abrechnungskonto oder Abrechnungsprofil wurde nicht gefunden, oder der Dienstprinzipal sieht es nicht
Die ID im Bereich ist falsch oder nennt ein Abrechnungskonto oder Abrechnungsprofil, auf dem der Prinzipal keine Rolle hat. Vergleichen Sie sie mit den IDs unter Kostenverwaltung + Abrechnung im Azure-Portal (Abrechnungsbereich) und korrigieren Sie sie an der Verbindung (Zwischen Abonnements und Abrechnungsbereich wechseln).
Azure hat die Cost-Details-Anfrage für diesen Abrechnungsbereich abgelehnt
Azure hat die Anmeldung angenommen und kennt den Bereich, verweigert aber den Cost-Details-Bericht dafür. So antwortet ein Pay-as-you-go-Abrechnungskonto im Microsoft Online Services Program, und ein solches Konto importiert Costfluent in keinem der beiden Bereiche (Voraussetzungen).
Das Azure-Abonnement … wird bereits von einer anderen Azure-Verbindung in dieser Organisation erfasst
Der Prinzipal einer anderen Verbindung importiert das Abonnement bereits, daher listet diese es als Nicht verfügbar und importiert die übrigen; ein Prinzipal, der nur solche Abonnements erreicht, wird abgelehnt. Entfernen Sie die Rollenzuweisung bei einem der beiden Prinzipale, oder verschieben Sie die Abonnements, indem Sie die Zugangsdaten der bestehenden Verbindung aktualisieren, statt eine Verbindung hinzuzufügen (Wie Costfluent verbindet).