Authentication and Authorization

Siehe Artikel Informationen zur Authentifizierung.

Anfrage-Protokolle

Anfrage:

Antwort:

{
    "logs": [{
        "id": uuid,
        "messageId": string, // format 5 digit
        "created": timestamp, // yyyy-mm-ddThh:mm:ss.SSSZ
        "properties":{
            "auditEntityId": uuid,
            "auditNewValue": string,
            "auditOldValue": string,
            "auditSourceIp": string, // IPv4 address
            "auditEntityName": string,
            "auditEntityType": string,
            "auditSourceAgent": string,
            "auditOldValueChange": string,
            "auditNewValueChange": string
        },
        "references":[
            {
                "id": uuid,
                "type": string // account, addin, device, network, principal, site, page
            },
            {
                "id": uuid,
                "type": string,
                "name": string
            }],
        "data":[],
        "accountId": uuid,
        "originatorId": uuid,
        "serviceId": uuid,
        "serviceName": string,
        "logLevel": string, // INFO, WARNING, ERROR
        "message": string
        "isAuditLog": boolean
        },
        ...
    ],
    "next": string, // this parameter is optional
    "previous": string // this parameter is optional
}

Die Markierung ist die url-kodierte Version des nächsten Feldes.

Es ist möglich, Protokolle anzufordern, die neuer sind als ein bestimmter Zeitstempel:

curl -X GET -H  "accept: application/json" -H  "Authorization: Bearer $token" https://cloud.lancom.de/cloud-service-logging/accounts/$account/logs/paginated?lang=EN&categories=OTHER&marker=%7B%22type%22:%22PREVIOUS_PAGE%22,%22logCreatedAt%22:1613145056300000%7D


Referenzauflösung

Das Log-Objekt enthält verschiedene Arten von Referenzen, das Referenzformat ist:

{
    "id": uuid
    "type": string
    "name": string
}

id und type sind obligatorisch und immer im Referenzobjekt vorhanden. Der Name ist optional und nur für die Referenz vom Typ principal vorhanden.

Account

Diese Referenz steht für das Projekt, die Organisation oder die Verteilung.

Anfrage:

Antwort:

[
  {
    "name": string,
    "id": uuid,
    "parent": uuid,
    ...
    "identifier": string,
    "created": timestamp, // yyyy-mm-ddThh:mm:ss.SSS+ZZ:ZZ
    ...
  }
]

Addin

Anfrage:

Endpunkt: /cloud-service-config/configapplication/accounts/$account/applications
Methode: GET

Antwort:

[
  {
    "name": string,
    "enabled": boolean,
    "type": string,
    ...
    "id": uuid
  },
  ...
]

Device

Anfrage:

Antwort:

[
  {
    "id": uuid,
    "status": {
      "name": string,
      "serial": string,
      ...
    },
    ...
  }
]

Network

Anfrage:

Antwort:

[
  {
    "id": uuid,
    "name": string,
    ...
]

Principal

Anfrage:

Antwort:

[
  {
    "id": uuid,
    "icon": string,
    "name": string,
    "email": string,
    ...
  }
]

Site

Anfrage:

Antwort:

[
  {
    "name": string,
    "comment": string,
    ...
    "id": uuid,
    ...
  }
]

Page

Der Seitenverweis hat eine statische Auflösung:

UUIDENDE
03acf5fd-aa64-4cfe-8a67-4a0f7d4a59a3"Notification Settings""Benachrichtigungseinstellungen"
b3feccdc-cd04-4e45-82f6-b4603737dda8"Log Download""Log-Download"

Vorlage und Referenz

Die Protokollmeldungen sind unveränderlich, eine Änderung in der Datenbank ist nicht möglich. Wenn sich die Darstellung der Meldungen ändert, verwenden wir eine Vorlage, um die aktualisierte Benennung von Geräten, Netzwerken, Auftraggebern usw. übernehmen zu können.

Hier einige Beispiele für Vorlagen:

"User {ref:f16783c3-cb0c-3727-95c1-0752f938f7a7} has logged in for this account"
"The device {ref:ce4e47f6-c374-44dd-ba58-750a06e9c363} has established its cloud connectivity."

Die Zeichenfolge {ref:uuid} wird durch den Namen der Referenz ersetzt. Bei einigen Referenzen ist der Name in die Protokollnachrichten eingebettet (z. B. metric, principal), bei anderen Referenzen werden nur der Typ und die uuid angegeben. Die Namensauflösung erfordert dann einen zusätzlichen Aufruf der entsprechenden, oben aufgeführten API.

Es wird empfohlen, die Referenzauflösung zwischenzuspeichern, um die Anzahl der API-Aufrufe zu verringern.