Zugriff auf Ihre Observability-Instanz steuern
Observability ist ein Service, der über das Internet verfügbar ist und somit grundsätzlich für jeden erreichbar ist.
Wenn Sie den Zugriff auf eine Observability-Instanz auf einen bestimmten Adressbereich beschränken möchten, können Sie hierfür eine Zugriffskontrollliste (Access Control List, ACL) in der Observability API hinterlegen.
Anschließend verhindert ein IP-Filter den Zugriff von anderen Internetadressen auf Ihre Observability-Instanz.
Der Zugriff wird für die folgenden Ports geregelt:
- Grafana
- Metriken
- Logs
- Traces
Diese ACL filtert den Zugriff ausschließlich für diese eine Instanz. Wenn Sie mit mehreren Instanzen arbeiten, müssen Sie die ACL auch für alle weiteren Instanzen erstellen.
Voraussetzung
Abschnitt betitelt „Voraussetzung“Um auf das API-Gateway zuzugreifen, benötigen Sie ein Service Account, das über das Portal erstellt werden kann.
Konfiguration Ihrer Zugriffskontrollliste (ACL)
Abschnitt betitelt „Konfiguration Ihrer Zugriffskontrollliste (ACL)“CIDR-Format
Abschnitt betitelt „CIDR-Format“Adressbereiche werden im Classless-Inter-Domain-Routing-(CIDR-)Format angegeben.
Die Standard-CIDR ist zu Beginn immer 0.0.0.0/0. Dadurch ist der vollständige Zugriff erlaubt.
Aktuelle ACL abrufen
Abschnitt betitelt „Aktuelle ACL abrufen“Ausgabe der aktuellen ACL-Konfiguration:
curl --location --request GET \ 'https://argus.api.stackit.cloud/v1/projects/{projectid}/instances/{instanceid}/acl' \ --header 'accept: application/json' \ --header 'Authorization: Bearer {service_account_token}'
{"message":"Successfully got acl","acl":[]}Neue ACL erstellen und ändern
Abschnitt betitelt „Neue ACL erstellen und ändern“Die ACL muss immer vollständig neu geschrieben werden, auch wenn sich nur ein einzelner Wert geändert hat:
curl --location --request PUT \ 'https://argus.api.stackit.cloud/v1/projects/{projectid}/instances/{instanceid}/acl' \ --header 'accept: application/json' \ --header 'Authorization: Bearer {service_account_token}' \ --header 'Content-Type: application/json' -data '{ "acl": [ "192.168.1.0/24", "193.248.122.0/24", "193.218.22.0/28" ]}'
{"message":"Successfully updated acl"}ACL löschen
Abschnitt betitelt „ACL löschen“Die ACL kann mit folgendem Befehl gelöscht werden:
curl --location --request PUT \ 'https://argus.api.stackit.cloud/v1/projects/{projectid}/instances/{instanceid}/acl' \ --header 'accept: application/json' \ --header 'Authorization: Bearer {service_account_token}' \ --header 'Content-Type: application/json' -data '{ "acl": []}'
{"message":"Successfully updated acl"}