Zum Inhalt springen

Mit einem Service Account auf Dienste zugreifen

Dieses Tutorial zeigt Ihnen, wie Sie Ihren ersten API-Aufruf mit Ihrem Service Account ausführen.

  1. 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.

  2. 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.

  3. 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)

Fassen Sie nun alle Informationen zu einer vollständigen API-Anfrage zusammen. Hier finden Sie eine cURL-Vorlage:

Terminal-Fenster
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
}