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.
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:
- Weitere Informationen zum Erstellen eines API-Schlüssels für Altkonten finden Sie unter API-Schlüssel erstellen und verwalten.
- Weitere Informationen zum Erstellen eines API-Schlüssels für neue Trend Micro Cloud One-Konten finden Sie unter API-Schlüssel verwalten.
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:
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 Beispielhttps://localhost:4119/api/policies - Erste Überschrift:
- Schlüssel:
api-secret-key(für Altkonten) oderAuthorization(für neue Konten) - Wert:
<your key secret>(für Altkonten) oderApiKey <your key value>(für neue Konten)
- Schlüssel:
- Zweite Überschrift:
- Schlüssel:
api-version - Wert:
v1
- Schlüssel:
Beispiel für einen Curl-Befehl für ein Legacy-Konto:
curl -X GET https:// 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:// 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.
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 Beispielhttps://localhost:4119/api/firewallrules/search - Erste Überschrift:
- Schlüssel:
api-secret-key(für Altkonten) oderAuthorization(für neue Konten) - Wert: Ihr geheimer Schlüssel
- Schlüssel:
- Zweite Überschrift:
- Schlüssel:
api-version - Wert:
v1
- Schlüssel:
- Dritter Header:
- Schlüssel:
Content-Type - Wert:
application/json
- Schlüssel:
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:// 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
