TippDieser Artikel beschreibt, wie API-Schlüssel für Legacy-Konten erstellt werden.
Wenn Sie ein neues Trend Micro Cloud One-Konto verwenden, sehen Sie sich stattdessen
API-Schlüssel verwalten an.
|
Um ein SDK zu verwenden, um einen API-Schlüssel zu erstellen, müssen Sie zuerst die
ID der Rolle erhalten, die mit dem API-Schlüssel verknüpft werden soll. Sie müssen
auch einen bestehenden API-Schlüssel verwenden, um den Anruf zu authentifizieren.
Wenn keine API-Schlüssel erstellt wurden, können Sie einen Benutzernamen und ein Passwort
verwenden, um den ersten API-Schlüssel zu erstellen.
Eine Rollen-ID erhalten
Erhalten Sie eine Rollen-ID, um sie einem API-Schlüssel zuzuweisen. Wenn Sie die ID
einer Rolle nicht kennen, können Sie nach der Rolle suchen und dann die Rollen-ID
erhalten.
Zum Beispiel benötigt ein Programm, das einen Bericht über den Sicherheitsstatus von
Computern erstellt, Lesezugriff auf alle Computer. Die Auditor-Rolle, die Server- und Workload Protection standardmäßig bereitstellt, bietet schreibgeschützten Zugriff auf Computer und Richtlinien
und ist für diese Aufgabe geeignet.
Wenn Sie eine Rolle erstellen möchten, siehe Zugriff mit Rollen steuern.
Verwenden Sie die folgenden allgemeinen Schritte, um nach einer Rolle zu suchen und
die ID zu erhalten. Weitere Informationen zur Suche finden Sie unter Ressourcen suchen.
Prozedur
- Erstellen Sie ein
SearchCriteria-Objekt, das die Suchkriterien definiert. - Fügen Sie das
SearchCriteriazu einemSearchFilterhinzu. - Erstellen Sie ein
AdministratorRolesApi-Objekt und verwenden Sie es, um die Suche durchzuführen. - Rufen Sie die ID aus dem zurückgegebenen
Role-Objekt ab.
Nächste Schritte
Das folgende Beispiel sucht nach einer Rolle anhand des Namens.
# Store the role ID - default is None
role_id = None
# Search criteria
name_criteria = api.SearchCriteria()
name_criteria.field_name = "name"
name_criteria.string_value = role_name
name_criteria.string_test = "equal"
# Search filter
role_filter = api.SearchFilter()
role_filter.search_criteria = [name_criteria]
# Perform the search and obtain the ID of the returned role
admin_roles_api = api.AdministratorRolesApi(api.ApiClient(configuration))
roles = admin_roles_api.search_administrator_roles(api_version, search_filter=role_filter)
if len(roles.roles) > 0:
role_id = roles.roles[0].id
return roles.roles[0].id
Siehe auch die Suche nach Administratorrollen-Operation im API-Referenzhandbuch.
Erstellen Sie einen API-Schlüssel mit einem SDK
Um ein SDK zu verwenden, erstellen Sie einen API-Schlüssel, erstellen Sie ein
ApiKey-Objekt und legen Sie den Namen und die ID der Rolle fest, die mit dem API-Schlüssel
verknüpft werden soll. Sie können auch die folgenden optionalen Eigenschaften angeben:- Eine Beschreibung
- Die Zeitzone
- Das Gebietsschema
- Das Ablaufdatum
Verwenden Sie ein
APIKeysApi-Objekt, um den API-Schlüssel auf Server- und Workload Protection zu erstellen. Das zurückgegebene ApiKey-Objekt enthält den geheimen Schlüssel.Um den API-Schlüssel zu erstellen, verwenden Sie die Create an API Key-Operation des
/api/apikeys-Endpunkts.Das folgende Beispiel erstellt einen API-Schlüssel für Prüfungszwecke. Der Schlüssel
läuft 2 Wochen nach der Erstellung ab.
# Set key properties
time_to_expiry_in_ms = 14 * 24 * 60 * 60 * 1000
current_time_in_ms = int(round(time.time() * 1000))
key = api.ApiKey()
key.key_name = key_name
key.description = "Read-only access"
key.role_id = "2"
key.locale = "en-US"
key.time_zone = "Asia/Tokyo"
key.expiry_date = current_time_in_ms + time_to_expiry_in_ms # expires in 2 weeks
# Create the key on Server- und Workload Protection
api_keys_api = api.APIKeysApi(api.ApiClient(configuration))
return api_keys_api.create_api_key(key, api_version)
Weitere Informationen zur Authentifizierung von API-Aufrufen finden Sie unter Authentifizieren mit Server- und Workload Protection.
Erstellen Sie einen API-Schlüssel mit einem Benutzernamen und Passwort
Um eine Aufgabe zu automatisieren, wenn noch kein API-Schlüssel erstellt wurde, können
Sie die API sowie einen Benutzernamen und ein Passwort verwenden, um den ersten API-Schlüssel
zu erstellen:
Prozedur
- Verwenden Sie die
/api/sessions-Ressource, um ein gültiges Sitzungscookie und eine Anforderungs-ID zu erhalten. - Verwenden Sie das Sitzungscookie und die Anforderungs-ID in einer Anfrage an die Ressource
/api/apikeys, um den API-Schlüssel zu erstellen.
Nächste Schritte
Sobald erstellt, verwenden Sie den API-Schlüssel, um nachfolgende Anrufe an Server- und Workload Protection zu tätigen.
Erhalten Sie ein Sitzungscookie und eine Anforderungs-ID
Verwenden Sie einen HTTP-Client wie Postman, Paw oder cURL, um eine POST-Anfrage an
die
/api/sessions-Ressource zu senden. Die Antwort enthält ein Cookie, das die Sitzungs-ID enthält,
und der Antworttext enthält die Anforderungs-ID.
HinweisDie Ressource
/api/sessions ist derzeit in einem SDK nicht verfügbar. |
Verwenden Sie Folgendes, um die Anfrage zu erstellen:
-
Anforderungstyp:
POST -
URL:
https://<Server- und Workload Protection Hostname>:<port>/api/sessions, zum Beispielhttps://localhost:4119/api/sessions -
Erste Überschrift:
- Name:
api-version - Wert:
v1
- Name:
-
Zweite Überschrift:
- Name:
Content-type - Wert:
application/json
- Name:
-
Körper (einschließlich des
tenantNameundmfaCode, falls erforderlich):{ "userName": "myUserName", "password": "myPassword" }
Hier ist ein Beispiel für einen cURL-Befehl. Die Antwort-Cookies werden in der Datei
cookie.txt gespeichert.
curl -i -X POST \
https:// localhost:4119/api/sessions \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'api-version: v1' \
-c cookie.txt \
-d '{
"userName": "myUserName",
"password": "myPassword"
}'
Der
Set-Cookie-Antwortheader enthält die Sitzungs-ID im sID-Cookie. Der Antworttext enthält die Antwort-ID als Wert von RID. Die Antwort ähnelt dem folgenden Beispiel:X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1;mode=block
Cache-Control: no-cache,no-store
Pragma: no-cache
Set-Cookie: sID=D5EE2AC155601C895B33B701080D40A6; Path=/; Secure; HttpOnly
Content-Type: application/json
Content-Length: 141
Date: Wed, 24 Oct 2018 15:29:53 GMT
{
"administratorID": 1,
"created": 1540309893123,
"lastActivity": 1540309893123,
"accessType": "webService",
"RID": "77DFF81036170DBF92CB71E4559512B9"
}
Erstellen Sie einen API-Schlüssel mit dem Sitzungscookie und der Anforderungs-ID
Verwenden Sie einen HTTP-Client wie Postman, Paw oder cURL, um eine POST-Anfrage an
die Ressource
/api/apikeys zu senden. Verwenden Sie das Sitzungscookie und die Antwort-ID, die Sie von der Ressource
/api/sessions erhalten haben, um den Aufruf zu authentifizieren.
HinweisDie SDKs unterstützen derzeit nicht die Verwendung von Sitzungs-IDs und Ressourcen-IDs
für die Authentifizierung.
|
Verwenden Sie Folgendes, um die Anfrage zu erstellen:
-
Anforderungstyp:
POST -
URL:
https://<Server- und Workload Protection Hostname>:<port>/api/apikeys, zum Beispielhttps://localhost:4119/api/sessions -
Erste Überschrift:
- Name:
api-version - Wert:
v1
- Name:
-
Zweite Überschrift:
- Name:
Content-type - Wert:
application/json
- Name:
-
Dritte Überschrift:
- Name:
rID - Wert: Die Anforderungs-ID, die Sie von der Ressource
sessionserhalten haben, zum Beispiel77DFF81036170DBF92CB71E4559512B9
- Name:
-
Cookie: Schließen Sie das
sID-Cookie aus der Antwort ein, die Sie von der/api/sessions-Ressource erhalten haben. -
Körper:
{ "keyName": "First Key", "description": "Created using a request ID", "roleID: 1 }Weitere Informationen zum Abrufen der Rollen-ID finden Sie unter Rollen-ID abrufen.
Hier ist ein Beispiel für einen cURL-Befehl. Das Sitzungscookie wird über die Datei
cookie.txt eingebunden.
curl -X POST \
https:// 192.168.60.128:4119/api/apikeys \
-H 'Content-Type: application/json' \
-H 'Postman-Token: 6f81da09-e5e2-421b-a38a-d5679f50608d' \
-H 'api-version: v1' \
-H 'rID: 77DFF81036170DBF92CB71E4559512B9' \
-b cookie.txt \
-d '{
"keyName": "First Key",
"description": "Created using a request ID",
"roleID": 1
}'
Der Antworttext enthält den geheimen Schlüssel als Wert von
secretKey, ähnlich dem folgenden Beispiel:{
"keyName": "First Key",
"description": "Created using a request ID",
"locale": "en-US",
"roleID": 1,
"timeZone": "America/New_York",
"active": true,
"created": 1540310105209,
"unsuccessfulSignInAttempts": 0,
"secretKey": "8:4rFctPvno+dxntueMcso4F61SUZMFVt3I6SczG7ysOA=",
"serviceAccount": false,
"ID": 8
}
Speichern Sie das
secretKey, damit Sie es später im api-secret-key-Header Ihrer API-Aufrufe verwenden können.
