Ansichten:
Um sich mit der API vertraut zu machen, senden Sie einige einfache Anfragen an Server- und Workload Protection.

Richten Sie Ihre Entwicklungsumgebung ein

Die Umgebung, in der Sie Ihre Software entwickeln, erfordert die folgenden Elemente:
  • Netzwerkzugriff auf Server- und Workload Protection.
  • Eine SDK-Clientbibliothek, falls Sie sich entscheiden, eine zu verwenden. Gehen Sie zur Python SDK-Seite, um die Clientbibliothek herunterzuladen und zu erfahren, wie Sie sie in Ihre Entwicklungsumgebung integrieren können.
  • Die Laufzeitumgebung für die Programmiersprache Ihrer Client-Bibliothek.
Tipp
Tipp
Um sofort mit der Erkundung der API zu beginnen, können Sie anstelle einer Client-Bibliothek einen HTTP-Client wie Postman, Paw oder curl verwenden.

Authentifizieren mit Server- und Workload Protection

Server- und Workload Protection verwendet API-Schlüssel zur Authentifizierung von HTTP-Anfragen.
Die Art und Weise, wie Sie HTTP-Anfragen authentifizieren, hängt davon ab, ob Sie ein neues Trend Micro Cloud One-Konto oder ein älteres Legacy-Konto verwenden. Informationen zu den beiden Kontotypen finden Sie unter Änderungen an Trend Micro Cloud One-Konten.

Erstellen eines API-Schlüssels

Erstellen Sie einen API-Schlüssel, um Ihre Anfragen bei Server- und Workload Protection zu authentifizieren:
Bei der Erstellung eines API-Schlüssels erhalten Sie einen einzigartigen geheimen Schlüssel, der mit dem API-Schlüssel verknüpft ist. Sie fügen diesen geheimen Schlüssel in die HTTP-Anfrage zur Authentifizierung ein. Sie müssen den geheimen Schlüssel speichern, wenn er bereitgestellt wird, da Sie ihn zu keinem anderen Zeitpunkt erhalten können.

Authentifizierungsanfragen

Jede HTTP-Anfrage, die Sie stellen, erfordert eine Autorisierung im Header. Wie Sie diese Autorisierung durchführen, hängt davon ab, ob Sie einen veralteten API-Schlüssel oder einen Trend Micro Cloud One API-Schlüssel verwenden.

Authentifizieren Sie sich mit einem Trend Micro Cloud One API-Schlüssel

Wenn Sie einen Trend Micro Cloud One API-Schlüssel verwenden, erfordert jede Anfrage, die Sie stellen, einen Autorisierungsheader, der einen geheimen Schlüssel enthält, wie im folgenden Beispiel gezeigt:
GET /api/policies HTTP/1.1
Host: localhost:4119
Authorization: ApiKey 1tBOlis4aGpMyygC26YKZMgU2fW:7864DcPqkWFHNngXHnn9VgWSuGtUoj52n3tTZSqkvucLDJ9jJJvbrBZMBJBigsS5wT
api-version: v1

Mit einem veralteten API-Schlüssel authentifizieren

Wenn Sie einen veralteten API-Schlüssel verwenden, muss jede Anfrage einen api-secret-key-Header enthalten, der einen geheimen Schlüssel enthält, wie im folgenden Beispiel gezeigt:
GET /api/policies HTTP/1.1
Host: localhost:4119
api-secret-key: 2:vJC6lckDygB6FYURIvR0WK2ZTAhIY8rb0Amy9UMn4mo=
api-version: v1
Wenn Sie eine Client-Bibliothek verwenden, erhalten Sie eine Instanz von ApiClient und konfigurieren diese, um Ihren geheimen Schlüssel zu verwenden. Die Konfiguration ist global, sodass alle nachfolgenden API-Aufrufe mit dem geheimen Schlüssel authentifiziert werden. Die GET- und POST-Beispiele unten zeigen, wie Sie ApiClient erstellen und konfigurieren.
Der Manager verwendet das Geheimnis, um Ihre Anfrage zu authentifizieren. Jeder API-Schlüssel ist mit einer Rolle verknüpft, die die Aktionen bestimmt, die Sie ausführen können.

Führen Sie eine GET-Anfrage aus: Richtlinien auflisten

Um mit der Erkundung der API zu beginnen, gehen Sie zur List Policies-Operation im Abschnitt "Policies" der API-Referenz. Beachten Sie, dass List Policies eine GET-Anfrage an den policies-Endpunkt ist:
apiref_getpolicies=5b5e8bec-8e74-4ff9-bbb1-900f481afec9.png

Verwenden Sie einen HTTP-Client

Um die Anfrage sofort zu senden, verwenden Sie Postman, Paw oder curl. Verwenden Sie die folgenden Informationen, um die Anfrage zu erstellen:
  • URL: https://<Manager host name>:<port>/api/policies, zum Beispiel https://localhost:4119/api/policies
  • Erste Überschrift:
    • Schlüssel: api-secret-key (für Altkonten) oder Authorization (für neue Konten)
    • Wert: <your key secret> (für Altkonten) oder ApiKey <your key value> (für neue Konten)
  • Zweite Überschrift:
    • Schlüssel: api-version
    • Wert: v1
Beispiel für einen Curl-Befehl für ein Legacy-Konto:
curl -X GET https://&nbsp;localhost:4119/api/policies -H 'api-secret-key: 5:W+lC8YHIaYHeQuDbJZLkqwM5b8xjxla2pHtBNoiifF8=' -H 'api-version: v1'

Verwenden Sie eine Clientbibliothek

Das folgende Beispiel erstellt ein ApiClient-Objekt, das die Authentifizierung mit Server- und Workload Protection konfiguriert. Anschließend wird ein PoliciesApi-Objekt erstellt und verwendet, um alle Richtlinien aufzulisten.
Erstellen Sie eine Datei mit dem Namen first_steps_get_example.py und kopieren Sie den folgenden Beispielcode in die Datei:
import deepsecurity as api
from deepsecurity.rest import ApiException as api_exception

def get_policies_list(api, configuration, api_version, api_exception):
    """ Gets a list of policies on Server- und Workload Protection

    :return: A PoliciesApi object that contains a list of policies.
    """
    # Create a PoliciesApi object
    policies_api = api.PoliciesApi(api.ApiClient(configuration))

    # List policies using version v1 of the API
    policies_list = policies_api.list_policies(api_version)
    # View the list of policies
    return policies_list

if __name__ == '__main__':
    # Add Server- und Workload Protection host information to the api client configuration
    configuration = api.Configuration()
    configuration.host = 'https://&nbsp;192.168.17.149:4119/api'

    # Authentication
    configuration.api_key['api-secret-key'] = '2:l069trAePqPRxZUfBqyw442z1DWm9s4u0F/g9bewnFE='

    # Version
    api_version = 'v1'

    print(get_policies_list(api, configuration, api_version, api_exception))
Suchen Sie den folgenden Code und ändern Sie die URL und den geheimen Schlüssel entsprechend Ihrer Umgebung:
configuration.host = 'https://192.168.17.149:4119/api'
configuration.api_key['api-secret-key'] = '2:l069trAePqPRxZUfBqyw442z1DWm9s4u0F/g9bewnFE='
Öffnen Sie die Eingabeaufforderung (Windows) oder das Terminal (Linux) und geben Sie den folgenden Befehl ein:
python first_steps_get_example.py

Führen Sie eine POST-Anfrage aus: Firewall-Regeln suchen

Führen Sie eine POST-Anfrage durch, um nach Firewall-Regeln zu suchen. In der API-Referenz ist die Suche nach Firewall-Regeln-Operation (Abschnitt Firewall-Regeln) für den firewallrules-Endpunkt eine POST-Anfrage zum Pfad firewallrules/search.
apiref_fwrules=827c9ed7-74fc-4c90-989f-95de5c5926b4.png
Die API-Referenz zeigt auch eine Reihe von Parametern, die Sie im Anforderungstext verwenden. Für Search Firewall Rules ist jeder Parameter ein Suchkriterium. In diesem Beispiel suchen wir nach der ID von 3.

Verwenden Sie einen HTTP-Client zum Posten

Verwenden Sie die folgenden Informationen, um die Anfrage in Postman oder Paw zu erstellen:
  • Request type: POST
  • URL: https://<Server- und Workload Protection hostname><port>/api/firewallrules/search, zum Beispiel https://localhost:4119/api/firewallrules/search
  • Erste Überschrift:
    • Schlüssel: api-secret-key (für Altkonten) oder Authorization (für neue Konten)
    • Wert: Ihr geheimer Schlüssel
  • Zweite Überschrift:
    • Schlüssel: api-version
    • Wert: v1
  • Dritter Header:
    • Schlüssel: Content-Type
    • Wert: application/json
Fügen Sie außerdem den folgenden Rohcode in den Hauptteil ein:
{
  "searchCriteria": [{
    "idTest":"equal",
    "idValue":3
  }]
}
Beispiel für einen Curl-Befehl:
curl -X POST https://&nbsp;localhost:4119/api/firewallrules/search \
-H 'Cache-Control: no-cache' \
-H 'api-secret-key: 3:zNi5ag8xPGpfEMElV0GxAIpTs5Ji8BQoCtXaTAgKkVM=' \
-H 'api-version: v1' \
-H 'content-type: application/json' \
-d '{
  "searchCriteria": [{
    "idTest":"equal",
    "idValue":3
  }]
}'

Verwenden Sie eine Client-Bibliothek zum Posten

Das folgende Beispiel erstellt ein SearchFilter-Objekt, das Suchkriterien definiert. Das SearchFilter-Objekt wird dann als Parameter der searchFirewallRules-Methode eines ModuleFirewallApi-Objekts verwendet.
Erstellen Sie eine Datei mit dem Namen first_steps_post_example.py und kopieren Sie den folgenden Beispielcode in die Datei:
import deepsecurity as api
from deepsecurity.rest import ApiException as api_exception

def search_firewall_rules(api, configuration, api_version, api_exception):
    """ Searches the firewall rules for any rule that contains DHCP in the rule name.

    :param api: The Server- und Workload Protection API modules.
    :param configuration: Configuration object to pass to the api client.
    :param api_version: The version of the API to use.
    :param api_exception: The Server- und Workload Protection API exception module.
    :return: A list containing all firewall rules that match the search criteria.

    """

    # Define the search criteria
    search_criteria = api.SearchCriteria()
    search_criteria.field_name = "name"
    search_criteria.string_value = "%DHCP%"
    search_criteria.string_test = "equal"
    search_criteria.string_wildcards = True

    # Create search filter to find the rule
    search_filter = api.SearchFilter(None,[search_criteria])

    # Create a FirewallRulesApi object
    firewall_rules_api = api.FirewallRulesApi(api.ApiClient(configuration))

    # Perform the search
    firewall_rules = firewall_rules_api.search_firewall_rules(api_version, search_filter=search_filter)
    firewall_rules_list = []
    for rule in firewall_rules.firewall_rules:
        firewall_rules_list.append(rule)

    return firewall_rules

if __name__ == '__main__':
    # Add Server- und Workload Protection host information to the api client configuration
    configuration = api.Configuration()
    configuration.host = 'https://192.168.17.149:4119/api'

    # Authentication
    configuration.api_key['api-secret-key'] = '2:l069trAePqPRxZUfBqyw442z1DWm9s4u0F/g9bewnFE='

    # Version
    api_version = 'v1'
    print(search_firewall_rules(api, configuration, api_version, api_exception))
Suchen Sie den folgenden Code und ändern Sie die URL und den geheimen Schlüssel entsprechend Ihrer Umgebung:
configuration.host = 'https://192.168.17.149:4119/api'</code></li>
configuration.api_key['api-secret-key'] = '2:l069trAePqPRxZUfBqyw442z1DWm9s4u0F/g9bewnFE='
Öffnen Sie die Eingabeaufforderung (Windows) oder das Terminal (Linux) und geben Sie den folgenden Befehl ein:
python first_steps_post_example.py

Holen Sie sich die Server- und Workload Protection-Version

Jede Antwort auf eine korrekt authentifizierte Anfrage enthält die Version der Server- und Workload Protection-Instanz. Der X-DSM-Version-Header enthält die Version, ähnlich dem folgenden Beispiel:
X-DSM-Version = Deep Security/12.0.81

Nächste Schritte