À partir de VMware Cloud Director 10.3.1, vous pouvez générer et émettre des jetons d'accès d'API. Vous êtes authentifié conformément à vos meilleures pratiques de sécurité respectives, notamment l'utilisation de l'autorisation à deux facteurs. À l'aide des jetons d'accès d'API, vous pouvez accorder l'accès pour la création de l'automatisation par rapport à VMware Cloud Director.

Les jetons d'accès sont des artefacts que les applications clientes utilisent pour effectuer des demandes d'API au nom d'un utilisateur. Les applications ont besoin de jetons d'accès pour l'authentification. Lorsqu'un jeton d'accès expire, pour obtenir des jetons d'accès, les applications peuvent utiliser des jetons d'API. Les jetons d'API n'expirent pas.

Lors de l'utilisation de jetons d'accès, les applications ne peuvent pas effectuer certaines tâches.

  • Modifier le mot de passe de l'utilisateur.
  • Effectuer des tâches de gestion des utilisateurs
  • Créer plus de jetons
  • Afficher ou révoquer d'autres jetons

Lorsqu'elles accèdent à VMware Cloud Director à l'aide d'un jeton d'accès d'API, les applications disposent uniquement de droits d'affichage pour les ressources suivantes.

  • Utilisateur
  • Groupe
  • Rôles
  • Rôles globaux
  • Bundles de droits
Les applications qui accèdent à VMware Cloud Director à l'aide d'un jeton d'accès d'API ne disposent pas des droits suivants.
  • Jeton : Gérer
  • Jeton : Gérer tous

De la même manière que pour générer un jeton d'API utilisateur, vous pouvez créer un compte de service à l'aide de l'API VMware Cloud Director. La demande d'API pour la création d'un compte de service utilise le même point de terminaison d'API que la création d'un jeton d'API utilisateur, mais la présence du champ software_id indique l'intention de créer un compte de service.

Conditions préalables

L'authentification à l'aide d'un jeton d'API utilise la norme « Actualisation d'un jeton d'accès » telle que spécifiée dans la Section 6 de la RFC 6749 OAuth 2.0 pour autoriser l'accès à VMware Cloud Director en tant qu'application OAuth. Le jeton d'accès renvoyé est le même qu'un jeton d'accès VMware Cloud Director. Les applications clientes peuvent l'utiliser pour effectuer par la suite des appels d'API à VMware Cloud Director. Pour effectuer une demande conforme à la RFC OAuth 2.0, familiarisez-vous avec les informations de la Section 6 de la RFC (Request for Comments) 6749 relatives à l'actualisation d'un jeton d'accès.

Procédure

  1. Dans le coin supérieur droit de la barre de navigation, cliquez sur votre nom d'utilisateur et sélectionnez Préférences utilisateur.
  2. Sous la section Jetons d'accès, cliquez sur Nouveau.
  3. Entrez un nom pour le jeton, puis cliquez sur Créer.
    Le jeton d'API généré s'affiche. Vous devez copier le jeton, car il n'apparaît qu'une seule fois. Une fois que vous avez cliqué sur OK, vous ne pouvez plus récupérer ce jeton, vous pouvez uniquement le révoquer.
  4. Effectuez une demande conforme à la RFC OAuth 2.0 au point de terminaison d'API à l'adresse https://site.cloud.example.com/oauth/provider/token.
    Clé Valeur
    grant_type refresh_token
    refresh_token Generated_refresh_token
    La demande renvoie un jeton d'accès que les applications peuvent utiliser pour effectuer des tâches dans VMware Cloud Director. Le jeton est valide même après la déconnexion de l'utilisateur. Lorsqu'un jeton d'accès expire, l'application peut obtenir davantage de jetons d'accès en utilisant le jeton d'API.

Exemple

Demande :
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
Réponse :
HTTP/1.1 200 OK
Content-Type: application/json

{
   "access_token":"Generated_Access_Token",
   "token_type":"Bearer",
   "expires_in":2592000,
   "refresh_token":null
}
Demande à l'aide du jeton d'accès généré :
GET https://host_name/api/org
Accept: application/*+xml;version=36.1
Authorization: Bearer Generated_Access_Token
Réponse :
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>

Que faire ensuite

  • Si vous souhaitez que les locataires soient en mesure de générer des jetons, vous devez accorder aux rôles de locataires le droit Gérer le jeton d'API de l'utilisateur.
  • Par défaut, les locataires voient uniquement les jetons qu'ils créent. Pour permettre aux administrateurs d'organisation d'afficher et de révoquer les jetons des autres utilisateurs locataires de l'organisation, vous devez leur accorder le droit Gérer les jetons d'API de tous les utilisateurs. Les administrateurs qui disposent du droit Gérer les jetons d'API de tous les utilisateurs peuvent voir uniquement les noms des jetons des autres utilisateurs, pas les jetons eux-mêmes.
  • Pour révoquer l'un de vos jetons, accédez à la page Préférences utilisateur, puis cliquez sur les points de suspension verticaux en regard du jeton.
  • Pour révoquer les jetons des autres utilisateurs, dans la barre de navigation supérieure, sous Administration, accédez aux paramètres de contrôle d'accès des utilisateurs. Lorsque vous sélectionnez un utilisateur spécifique, vous pouvez également voir ses jetons d'accès et les révoquer.
  • Si vous devez identifier des événements déclenchés à l'aide d'un jeton d'accès d'API, la ligne suivante s'affiche dans le journal des événements dans la section additionalProperties d'un événement.
    "currentContext.refreshTokenId": "<UUID_of_the_token_that_performed_the_action>",