Ab VMware Cloud Director 10.3.1 können Sie API-Zugriffstoken erzeugen und ausgeben. Sie werden mithilfe der entsprechenden empfohlenen Vorgehensweisen für die Sicherheit authentifiziert, einschließlich der Nutzung der Zwei-Faktor-Autorisierung. Mithilfe von API-Zugriffstoken können Sie Zugriff zur Erstellung von Automatisierung für VMware Cloud Director gewähren.

Zugriffstoken sind Artefakte, die von Clientanwendungen zum Stellen von API-Anfragen im Namen eines Benutzers verwendet werden. Anwendungen benötigen Zugriffstoken zur Authentifizierung. Bei Ablauf eines Zugriffstokens können Anwendungen API-Token verwenden, um Zugriffstoken abzurufen. API-Token laufen nicht ab.

Bei Verwendung von Zugriffstoken können Anwendungen bestimmte Aufgaben nicht ausführen.

  • Ändern des Benutzerkennworts
  • Durchführen von Benutzerverwaltungsaufgaben
  • Erstellen weiterer Token
  • Anzeigen oder Widerrufen anderer Token

Beim Zugriff auf VMware Cloud Director mithilfe eines API-Zugriffstokens verfügen Anwendungen lediglich über Anzeigerechte für die folgenden Ressourcen.

  • Benutzer
  • Gruppe
  • Rollen
  • Globale Rollen
  • Rechtepakete
Anwendungen, die mithilfe eines API-Zugriffstokens auf VMware Cloud Director zugreifen, verfügen nicht über die folgenden Rechte.
  • Token: Verwalten
  • Token: Alle verwalten

Ähnlich wie beim Generieren eines Benutzer-API-Tokens können Sie ein Dienstkonto mithilfe der VMware Cloud Director-API erstellen. Die API-Anforderung zum Erstellen eines Dienstkontos verwendet denselben API-Endpoint wie beim Erstellen eines Benutzer-API-Tokens, aber das Vorhandensein des Felds software_id zeigt die Absicht an, ein Dienstkonto zu erstellen.

Voraussetzungen

Die Authentifizierung mit einem API-Token verwendet den Standard „Aktualisieren eines Zugriffstokens“ gemäß OAuth 2.0 RFC 6749, Abschnitt 6, um Zugriff auf VMware Cloud Director als OAuth-Anwendung zu erteilen. Das zurückgegebene Zugriffstoken entspricht einem VMware Cloud Director-Zugriffstoken, das von Clientanwendungen für nachfolgende API-Aufrufe an VMware Cloud Director verwendet werden kann. Zum Stellen einer RFC-konformen OAuth 2.0-Anfrage machen Sie sich mit den Informationen zum Aktualisieren eines Zugriffstokens in Request for Comments (RFC) 6749, Abschnitt 6 vertraut.

Prozedur

  1. Klicken Sie oben rechts in der Navigationsleiste auf Ihren Benutzernamen und wählen Sie Benutzereinstellungen aus.
  2. Klicken Sie im Abschnitt „Zugriffstoken“ auf Neu.
  3. Geben Sie einen Namen für das Token ein und klicken Sie auf Erstellen.
    Das erzeugte API-Token wird angezeigt. Sie müssen das Token kopieren, da es nur einmal angezeigt wird. Nach dem Klicken auf OK können Sie dieses Token nicht mehr abrufen. Sie können es lediglich widerrufen.
  4. Stellen Sie eine OAuth 2.0 RFC-konforme Anfrage an den API-Endpoint https://site.cloud.example.com/oauth/provider/token.
    Taste Wert
    grant_type refresh_token
    refresh_token Generated_refresh_token
    Die Anfrage gibt ein Zugriffstoken zurück, das von Anwendungen zum Durchführen von Aufgaben in VMware Cloud Director verwendet werden kann. Das Token ist auch nach der Abmeldung des Benutzers gültig. Bei Ablauf eines Zugriffstokens kann die Anwendung mithilfe des API-Tokens weitere Zugriffstoken abrufen.

Beispiel

Anfrage:
POST https://host_name/oauth/provider/token
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Content-Length: 71

grant_type=refresh_token&refresh_token=Generated_API_Token
Antwort:
HTTP/1.1 200 OK
Content-Type: application/json

{
   "access_token":"Generated_Access_Token",
   "token_type":"Bearer",
   "expires_in":2592000,
   "refresh_token":null
}
Anfrage mit dem erzeugten Zugriffstoken:
GET https://host_name/api/org
Accept: application/*+xml;version=36.1
Authorization: Bearer Generated_Access_Token
Antwort:
HTTP/1.1 200 OK
Content-Type: application/vnd.vmware.vcloud.orglist+xml;version=36.1
X-VMWARE-VCLOUD-REQUEST-EXECUTION-TIME: 41

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OrgList
    xmlns="http://www.vmware.com/vcloud/v1.5"
    xmlns:vmext="http://www.vmware.com/vcloud/extension/v1.5"
    xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"
    xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"
    xmlns:common="http://schemas.dmtf.org/wbem/wscim/1/common"
    xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"
    xmlns:vmw="http://www.vmware.com/schema/ovf"
    xmlns:ovfenv="http://schemas.dmtf.org/ovf/environment/1"
    xmlns:ns9="http://www.vmware.com/vcloud/versions" href="https://host_name/api/org/" type="application/vnd.vmware.vcloud.orgList+xml">
    <Org href="https://host_name/api/org/a93c9db9-7471-3192-8d09-a8f7eeda85f9" type="application/vnd.vmware.vcloud.org+xml" name="System"/>
</OrgList>

Nächste Maßnahme

  • Wenn Mandanten Token erzeugen sollen, müssen Sie Mandantenrollen die Berechtigung Benutzereigenes API-Token verwalten gewähren.
  • Standardmäßig werden Mandanten nur die von ihnen erstellten Token angezeigt. Damit Organisationsadministratoren die Token der anderen Mandantenbenutzer in der Organisation anzeigen und widerrufen können, müssen Sie ihnen die Berechtigung API-Token aller Benutzer verwalten gewähren. Administratoren mit der Berechtigung API-Token aller Benutzer verwalten können nur die Namen der Token der anderen Benutzer anzeigen, nicht aber die Token selbst.
  • Zum Widerrufen eines Ihrer Token navigieren Sie zur Seite Benutzereinstellungen und klicken auf die vertikale Ellipse neben dem Token.
  • Zum Widerrufen der Token anderer Benutzer navigieren Sie in der oberen Navigationsleiste unter Verwaltung zu den Zugriffssteuerungseinstellungen für Benutzer. Bei Auswahl eines bestimmten Benutzers können Sie auch dessen Zugriffstoken anzeigen und widerrufen.
  • Wenn Sie Ereignisse angeben müssen, die mithilfe eines API-Zugriffstokens ausgelöst wurden, wird im Ereignisprotokoll die folgende Zeile im Abschnitt additionalProperties eines Ereignisses angezeigt.
    "currentContext.refreshTokenId": "<UUID_of_the_token_that_performed_the_action>",