Mit einem Service Account auf Dienste zugreifen
Dieses Tutorial zeigt Ihnen, wie Sie Ihren ersten API-Aufruf mit Ihrem Service Account ausführen.
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- Sie haben ein Projekt: Neues Projekt erstellen
- Sie haben einen Service Account: Neuen Service Account erstellen
- Sie haben einen Service Account-Schlüssel erstellt: Neuen Service Account-Schlüssel erstellen
- Ihr Service Account verfügt über ausreichende Berechtigungen für den gewünschten API-Aufruf: Einem Account eine Rolle zuweisen
Vorbereitung
Abschnitt betitelt „Vorbereitung“-
Um mit Service Accounts Anfragen an die STACKIT-API zu senden, benötigen Sie ein (Bearer) Zugriffstoken: Ein Bearer-Token mit Service Account-Schlüsseln anfordern.
-
Als Nächstes suchen Sie im API Explorer nach einem Endpunkt, der Ihre gewünschte Aufgabe erfüllt.
Für diese Anleitung haben wir Project - Download audit log entries (Projekt - Audit-Protokoll-Einträge herunterladen) aus der STACKIT Audit Log API (2.0) gewählt.
-
Sammeln Sie alle für den API-Aufruf erforderlichen Informationen, z. B. kopieren Sie Ihre Projekt-ID aus dem Portal.
Sie sollten nun über die folgenden Informationen verfügen:
- Projekt-ID
- Kurzlebigen oder langlebigen Zugriffstoken
- Endpunkt-URI
- Payload (wird bei GET- und DELETE-Endpunkten nicht benötigt)
Vorgehen
Abschnitt betitelt „Vorgehen“Fassen Sie nun alle Informationen zu einer vollständigen API-Anfrage zusammen. Hier finden Sie eine cURL-Vorlage:
curl --location --request GET 'https://auditlog.api.stackit.cloud/v2/projects/[Ihre Projekt-ID hier einfügen]?start-time-range=2025-01-01T08:10:14.422Z&end-time-range=2025-01-02T08:10:14.422Z' \--header 'Authorization: Bearer [Ihr kurzlebigen oder langlebigen Zugriffstoken hier einfügen]'Wenn alles korrekt angegeben wurde, antwortet die API mit dem HTTP-Statuscode 200 OK. Dies ist ein Beispiel für eine Antwort-Payload:
{ "items": [ { "id": "ANONYMIZED_ID", "receivedTimeStamp": "2025-09-02T08:01:30.027Z", "eventVersion": "v1.0", "eventSource": "membership", "region": "eu01", "severity": "INFO", "visibility": "PUBLIC", "eventType": "ADMIN_ACTIVITY", "eventTimeStamp": "2025-09-02T08:01:22.645Z", "eventName": "Project member added", "sourceIpAddress": "ANONYMIZED_IP", "userAgent": "ANONYMIZED_USER_AGENT", "initiator": { "id": "ANONYMIZED_INITIATOR_ID", "email": "anonymized@email.com" }, "request": { "endpoint": "PATCH /v2/ANONYMIZED_PROJECT_ID/members", "parameters": {}, "body": { "payload": { "members": [ { "role": "owner", "subject": "ANONYMIZED_SUBJECT_EMAIL" } ], "resource_type": "project" }, "resource_id": "ANONYMIZED_PROJECT_ID" } }, "context": { "projectId": "ANONYMIZED_PROJECT_ID" }, "resourceId": "ANONYMIZED_PROJECT_ID", "resourceName": "ANONYMIZED_PROJECT_ID", "result": { "role": "owner", "subject": "ANONYMIZED_SUBJECT_EMAIL" } } ], "cursor": null, "limit": 50}