Ansichten:
Tipp
Tipp
Dieser 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 Übergeordnetes Thema

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

  1. Erstellen Sie ein SearchCriteria-Objekt, das die Suchkriterien definiert.
  2. Fügen Sie das SearchCriteria zu einem SearchFilter hinzu.
  3. Erstellen Sie ein AdministratorRolesApi-Objekt und verwenden Sie es, um die Suche durchzuführen.
  4. 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 Übergeordnetes Thema

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 Übergeordnetes Thema

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

  1. Verwenden Sie die /api/sessions-Ressource, um ein gültiges Sitzungscookie und eine Anforderungs-ID zu erhalten.
  2. 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 Übergeordnetes Thema

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.
Hinweis
Hinweis
Die 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 Beispiel https://localhost:4119/api/sessions
  • Erste Überschrift:
    • Name: api-version
    • Wert: v1
  • Zweite Überschrift:
    • Name: Content-type
    • Wert: application/json
  • Körper (einschließlich des tenantName und mfaCode, 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://&nbsp;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 Übergeordnetes Thema

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.
Hinweis
Hinweis
Die 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 Beispiel https://localhost:4119/api/sessions
  • Erste Überschrift:
    • Name: api-version
    • Wert: v1
  • Zweite Überschrift:
    • Name: Content-type
    • Wert: application/json
  • Dritte Überschrift:
    • Name: rID
    • Wert: Die Anforderungs-ID, die Sie von der Ressource sessions erhalten haben, zum Beispiel 77DFF81036170DBF92CB71E4559512B9
  • 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://&nbsp;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.